【Linux】OpenOffice.orgとJODConverterでExcelをPDF変換(設定編)

環境はCentOS5.2。

JREのインストールは前にPunoをインストールしようとして失敗したときの記事を参考に。

JAVA_HOMEを設定してない場合は設定
# vi .bash_profile
export JAVA_HOME=/usr/java/latest
# source .bash_profile

JODConverterはここからtomcat付きをダウンロード。 参考記事
# unzip jodconverter-tomcat-2.2.1.zip
# cd jodconverter-tomcat-2.2.1
# bin/startup.sh

<2009/03/24 追記>
Office2007形式に対応するために、コンパイルからやってみた記事も参考に。

ちなみにJODConverterのライセンスはGNU LGPL

これでJODConverterのサービスが起動するので、
http://<サーバ名>:8080/converter
にアクセスして起動していることを確認。ポートを空けるのを忘れずに。参考
この段階ではOpenOffice.orgのサービスを起動してないので変換はできない。

OpenOffice.orgはここから最新版をダウンロード。SDKとかUNOではなく、まるっとインストールするために「RPM,JREなし」を選択。
# tar xzvf OOo_3.0.0_LinuxIntel_install_ja.tar.gz
# cd OOO300_m9_native_packed-1_ja.9358/RPMS/

デスクトップ環境はインストールしてないのでgnomeを削除
# rm -f ooobasis3.0-gnome-integration-3.0.0-9358.i586.rpm
# rpm –ivh *.rpm

インストール後は/opt/openoffice.org3/に配置される。

OpenOffice.orgをサービスとして起動。
# cd /opt/openoffice.org3/program/
# ./soffice -headless -accept="socket,port=8100;urp;" –nofirststartwizard &
nofirststartwizardのオプションは必須。ここで教えてもらった。
ポートを指定しているみたいだけど、localhostからの接続だからiptablesを設定しなくてもいいみたい。

再度

http://<サーバ名>:8080/converter
にアクセスして適当なエクセルを選択して、「convert」を押せばPDFに変換されてブラウザ上に表示してくれる。

OpenOffice.orgのサービスを止めるには
# fg
の後にCtrl-Cで停止。
これはあとでシェルスクリプトで制御できるようにする予定。現在開発中のJODConverter3.0になるとOpenOffice.orgのサービスを制御してくれるみたい。

次はコマンドでPDF変換をする場合。ここからtomcatとかついてないのをダウンロード→配置。
# unzip jodconverter-2.2.1.zip

試しに実行
# cd jodconverter-2.2.1
# java -jar lib/jodconverter-cli-2.2.1.jar /tmp/Book1.xls /tmp/test.pdf

ポイントはOpenOffice.orgのサービスが起動していることと、jodconverter-cliを使うこと。

次のタスクは

  1. Microsoft Excel or OpenOffice.org CalcをPHPで操作

    やってみた

 

<関連記事>