OpenOffice.orgの利用方法として、MS-Office互換のファイル(WordやExcelなど)やPDFファイルなどを生成・出力するための「ドキュメント生成サーバ」として使用できないかなあ、なんてことを最近考えています。
PDF生成だけなら bizstreamや iText,a Java-PDF libraryなどがありますが、これもWordなどは未対応なわけで、なんかないかなあと考えていました。
それでOpenOffice.orgですが、サーバたててそこにOpenOffice.org常駐させてドキュメント生成をさせたいなあなんて思ってます。とりあえず、プロセスを常駐させていろいろやってみようと思います。
。。。て思ったら、TeratermなどいわゆるX-Serverに接続できない環境でOpenOffice.orgのListenモード起動のおきまりコマンド:
/usr/lib/ooo-1.1/program/soffice -accept="socket,port=8100;urp;StarOffice.ServiceManager" -invisible
をやったらX-Serverに接続できない、なんて言われてしまいました。FAQなどには、Xvfb仮想フレームバッファ を使えとあります。どうもそれを使えばできるようです。
いろいろ探していたところ、ありました、Linuxでコマンドラインから起動する方法
基本的にOpenOffice.orgはX-Serverが必要なので、仮想フレームバッファ対応Xサーバ*1のXvfbが必要です。うちで使ってるFedora core 3では Xvfbが入ってなかったので、 http://download.fedoralegacy.org/fedora/3/updates/i386/ より xorg-x11-Xvfb-6.8.2-1.FC3.45.2.i386.rpm をダウンロードしてインストールしました。
# rpm -Uvh xorg-x11-Xvfb-6.8.2-1.FC3.45.2.i386.rpm # /usr/X11R6/bin/Xvfb :1 -screen 0 1024x768x24 & # /usr/lib/ooo-1.1/program/soffice -accept="socket,port=8100;urp;StarOffice.ServiceManager" -headless -display :1.0 &
フォントがないみたいなエラーがでましたが、とりあえず起動はOK!.ServletからPDF生成をやってみたところ、PDFを生成することができました!日本語もOK!
この記事は
現在のアクセス:4680