【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を設定しなくてもいいみたい。
再度
にアクセスして適当なエクセルを選択して、「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を使うこと。
次のタスクは
- Microsoft Excel or OpenOffice.org CalcをPHPで操作
↓
やってみた。
<関連記事>