20130328_jodconverter
photo credit: hfreesartography via photopin cc

Webシステムで帳票を作成する場合、Excelベースのテンプレートに値をセットをPDF変換して出力、という方式をよく使います。こなれたライブラリが出ていて扱いやすいのもありますし、レイアウトの変更にもテンプレートを直すだけの手間で対応できるというメリットがあるやり方だと思います。

そんなPDF変換処理について、以前PDF変換ツールとしてJavaベースのライブラリであるJODConverter、変換エンジンにオフィススイートのOpenOfficeとLibreOfficeを、それぞれ組み合わせて試した時の記録が残っていたので、覚書として残しておきます。

※試した環境はCentOSです。

Excelテンプレート準備

Microsoft Officeのサイトから適当なExcelをテンプレート用としてダウンロードします。

ダウンロードしたファイルを少し加工して、こんな感じで保存しました。
template_calendar.xls

JODConverterインストール

PDF変換ツールJODConverterのセットアップをします。(Javaはインストールされてる前提)

下記サイトより、jodconverter-2.2.2.zipをダウンロードして解凍

ダウンロードしたzipファイルを任意のディレクトリに解凍します。

OpenOfficeインストール

OpenOfficeをインストールします。

# yum install openoffice.org*

OpenOfficeを起動します。

# /usr/bin/soffice -headless -nologo -nofirststartwizard -accept="socket,host=127.0.0.1,port=8100;urp" &

xls→pdf変換を実行します。

# cd /path/to/jodconverter-2.2.2
# java -jar lib/jodconverter-cli-2.2.0.jar template_calendar.xls calendar_ooo.pdf

変換したPDFはこんな感じでできました。
calendar_ooo.pdf

LibreOfficeインストール

LibreOfficeをインストールします。

# wget "http://download.documentfoundation.org/libreoffice/stable/3.5.0/rpm/x86_64/LibO_3.5.0_Linux_x86-64_install-rpm_en-US.tar.gz"
# tar -xzvf LibO_3.5.0_Linux_x86-64_install-rpm_en-US.tar.gz
# cd LibO_3.5.0rc3_Linux_x86-64_install-rpm_en-US/RPMS
# yum install --nogpgcheck lib*

LibreOfficeを起動します。(OpenOfficeを起動していたら先に停止しておく。)

# /opt/libreoffice3.5/program/soffice --headless --nologo --nofirststartwizard --accept="socket,host=127.0.0.1,port=8100;urp" &

あとは、OpenOfficceの時と同様にxls→pdf変換します。変換したPDFはこちらです。
calendar_libre.pdf

二つのPDFを比べると、罫線や文字の強調などの出方が違う感じですね。

お好みで使い分けると良いかもしれません。ご参考までに。

DVD付 オープンガイドブック OpenOffice.org 3 第2版

DVD付 オープンガイドブック OpenOffice.org 3 第2版

鎌滝 雅久, あわしろ いくや, 松宮 哲, 松井 幹彦, 中本 崇志, 榎 真治, 大槻 武志, 遠藤 靖典
3,080円(04/06 11:34時点)
発売日: 2011/05/31
Amazonの情報を掲載しています

この記事を書いた人

ko31

岩手県出身、群馬県在住のフリーランスWeb系エンジニアです。
Webシステム・アプリ、Webサービス、WordPress開発等を雑多にこなしています。バンカラ応援好きの振り飛車党。
PHP / WordPress / 高校野球 / 将棋 / WordPress / ブログ / 食べること / 二児の父親

>>もっと詳しいプロフィールはこちら

お仕事のご相談・お問い合わせ

Gosign(ゴーサイン)という屋号でフリーランスの Web エンジニアとして活動しています。
当ブログでの掲載内容はもちろん、Web サイト制作や Web アプリケーション開発などのご相談・ご質問がありましたが、お気軽にお問い合わせください!

合わせて読みたい記事