質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.50%

WebアプリケーションでMicrosoft Officeドキュメントのサムネイルを生成する方法

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 3,984

score 17

Linuxサーバーで動くWebアプリケーションでMicrosoft Officeドキュメントのサムネイルを生成する方法

Linuxサーバーで動くWebアプリケーションでMicrosoft Officeドキュメントのサムネイルを生成する方法を探しています。
対象のドキュメントは、Word、Excel、Power Pointです。(2007以降のみなどの、制限がつくのは問題ありません。)

変換した後のファイル形式はJPG、PNGなどの画像ファイル形式やPDFのように後から画像変換できる形式で構いません。

環境はLinux(CentOS)サーバーですが、Windowsサーバーが必須であれば連携させることも可能ですので、Windowsを使う方法でも良いです。

言語はJava、Scala、PHP、Pythonなどの一般的なWebアプリで使われる言語であれば種類は問いません。

使えそうなライブラリがあればオープンソース/商用の種類も問いませんが、OpenOfficeを使う方法では、ドキュメントの表示が崩れる場合があるので出来れば避けたいです。

ご存知の方がいらっしゃれば、お知恵をお借りできますと幸いです。
どうぞよろしくお願いします。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

確認していませんが、下記の手順でサムネイルを出力できるそうです。(on Ubuntu)

1. OpenOffice headlessパッケージのインストール

    
$ sudo apt-get install openoffice.org-headless openoffice.org-java-common openoffice.org-writer openoffice.org-calc openoffice.org-impress

2. UNO python libraryのインストール

    
$ sudo apt-get install python-uno unoconv

3. 必要なフォントのインストール(日本語だとtakaoフォント等)

    
/usr/share/fonts/truetype/にフォントをコピーする
$ fc-cache

4. OpenOfficeをサービスとして起動する

    
$ soffice -headless -nofirststartwizard -accept="socket,host=localhost,port=8100;urp;StarOffice.Service"

5. unoconv commandをつかってPDF出力する

    
$ unoconv -f pdf __[filename]__

6. MuPDFを使ってサムネイルを出力する

    
$ pdfdraw -r 100 -o __[output-thumbnail]__ __[pdf-file]__ 1

ソース: https://gist.github.com/panuta/1897940

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/10 10:51

    さっそくのご回答ありがとうございました。記載頂いた方法は試したことがないので試してみようと思います。

    キャンセル

  • 2015/11/13 19:17

    ご提案頂いた方法とほとんど同じですが、Libreofficeをコマンドラインで実行する方法を採用しました。レイアウトの崩れなど心配していたのですが、ほとんど問題なく利用できています。ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る