ドキュメント変換サーバを導入
- CentOS 5.5
- Sun Java JRE 6
- OpenOffice.org 3.2.1
- JODConverter 2.2.2
- JODConverter-Tomcat 2.2.2
JODConverterを利用して、OfficeファイルをPDFファイル等に変換する
OpenOffice.orgを導入するのは、同梱されているsofficeをファイル変換エンジンとして使用するため。
JODConverter-Tomcatを導入することにより、WEBから変換が可能となる。
Java導入
ダウンロード
公式からJDK1.6を導入(JREでよい)
http://java.sun.com/products/archive/
インストール
# sh jdk-6u22-linux-i586-rpm.bin
Java動作確認
# java -version java version "1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04) Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
OpenOffice.org導入
CentOS5.5は、1:3.1.1-19.5.el5_5.1。3.1系なのでパッケージからでもよいかも?
ダウンロード
# wget http://download.services.openoffice.org/files/localized/ja/3.2.1/OOo_3.2.1_Linux_x86_install-***rpm_ja.tar.gz
解凍・インストール
全部必要なのかは疑問…。その他必要なモジュールはyumで依存解決。
# OOo_3.2.1_Linux_x86_install-rpm_ja.tar.gz # cd OOO320_m18_native_packed-1_ja.9502/RPMS # yum -y localinstall --nogpgcheck *.rpm
soffice 動作確認
sofficeを実行するシェルを作成し、実行
# vi /tmp/ooo.sh
#! /bin/sh /opt/openoffice.org3/program/soffice -headless -nofirststartwizard -accept="socket,port=8100\;urp\;" & # chmod +x /tmp/openoffice.sh # sh /tmp/openoffice.sh
ポートの確認
# netstat -anp |grep 8100 tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN 3003/soffice.bin
soffice停止
# killall -9 soffice.bin
JODConverter 導入
ダウンロード
# cd /usr/local/src # wget http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fjodconverter%2FJODConverter%2F2.2.2%2Fjodconverter-2.2.2.zip
解凍・インストール
# unzip jodconverter-2.2.2.zip # mv jodconverter-2.2.2 /usr/local/bin
動作確認
テスト用テキストを作成して、変換
# cd /usr/local/bin/jodconverter-2.2.2 # echo "aiueo" >/tmp/test.txt # sh /tmp/ooo.sh # java -jar jodconverter-cli-2.2.0.jar -f pdf /tmp/test.txt 2010/11/06 16:19:55 com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection connect 情報: connected 2010/11/06 16:19:55 com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection disposing 情報: disconnected
JODConverter-Tomcat 導入
ダウンロード
# wget http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fjodconverter%2FJODConverter%2F2.2.2%2Fjodconverter-tomcat-2.2.2.zip
解凍・インストール
# unzip jodconverter-tomcat-2.2.2.zip # mv jodconverter-tomcat-2.2.2 /usr/local/bin
起動
Tomcatを実行するシェルを作成し、実行
環境変数:JAVA_HOMEが必須となる。
# vi /tmp/tom.sh
#! /bin/sh export JAVA_HOME=/usr/java/jdk1.6.0_22/ /usr/local/bin/jodconverter-tomcat-2.2.2/bin/startup.sh # chmod +x /tmp/tom.sh # sh /tmp/tom.sh Using CATALINA_BASE: /usr/local/bin/jodconverter-tomcat-2.2.2 Using CATALINA_HOME: /usr/local/bin/jodconverter-tomcat-2.2.2 Using CATALINA_TMPDIR: /usr/local/bin/jodconverter-tomcat-2.2.2/temp Using JRE_HOME: /usr/java/jdk1.6.0_22/
JODConverter-Tomcat 動作確認
# netstat -anp | grep 8080 tcp 0 0 :::8080 :::* LISTEN 22608/java
soffice サービス化
# vi /etc/init.d/ooo.sh
#!/bin/bash # openoffice.org headless server script # # chkconfig: 2345 80 30 # description: headless openoffice server script # processname: openoffice # # Author: Vic Vijayakumar # Modified by Federico Ch. Tomasczik # OOo_HOME=/opt/openoffice.org3 SOFFICE_PATH=$OOo_HOME/program/soffice PIDFILE=/var/run/openoffice-server.pid set -e case "$1" in start) if [ -f $PIDFILE ]; then echo "OpenOffice headless server has already started." sleep 5 exit fi echo "Starting OpenOffice headless server" $SOFFICE_PATH -headless -nologo -nofirststartwizard -accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null 2>&1 touch $PIDFILE ;; stop) if [ -f $PIDFILE ]; then echo "Stopping OpenOffice headless server." killall -9 soffice && killall -9 soffice.bin rm -f $PIDFILE exit fi echo "Openoffice headless server is not running." exit ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
実行権付与
# chmod +x /etc/rc.d/init.d/ooo
サービス追加
# chkconfig --add ooo # chkconfig ooo on
サービス起動
# service ooo start