ページ

PC&周辺機器

2011年9月25日日曜日

サーバーサイドJavaでエクセルをPDF変換。xls,docもOKでした。(Linux,OpenOffice,JODConverter)

サーバーサイドJavaでエクセルをPDF変換。xls,doc,HtmlもOKでした。(Linux,OpenOffice,JODConverter)

コーディングもめいいっぱい簡単。
単純なものでしか試していないけど計算式も有効で、計算後の値でPDFを出してくれた。
OpenOfficeを起動して指定ポートで待ち受けさせないといけないのでおそらくOpenOfficeでできることは期待していいんだろう。
別シートの内容も認識して別ページにしてくれました。
懸念は、エクセルらしい横長の表だと右端が切れて次のページが作られてしまうことと、
セルの幅より長いテキストが入っていると文字がぶった切れて一生見られない事。
設定が出来るのかもしれないけどまだ調べていない。





その点、HTML変換はテーブルタグを使っているのでテキストが切れることもないし
右端のセル画別ページにいってしまうこともなく、相対的な位置関係はわかりやすく見えました。
別シートの内容にはページ内リンクも用意してくれて。
ただ、列が多いと1列が細くなってセル内が縦書に。汗
width指定ある方がみやすそうだから少し加工がいるかも。

JODConverterはやっぱりOpenOfficeを起動させっぱなしにするので
純粋にPOIよりリソース食いそう。
でもいろんな事が出来るしかなりアリだなぁ。





参考にしたサイト。


OpenOfficeインストール(yum)
http://d.hatena.ne.jp/adachi_c/20090910/1252569486

OpenOfficeを起動、ポートで待ち受けさせる
http://sourceforge.jp/magazine/07/05/14/015232

JOConverterダウンロード
http://sourceforge.net/projects/jodconverter/files/JODConverter/

Javaから使う場合のサンプルソース
http://www.artofsolving.com/node/16
拡張子で自動判断らしく、出力するファイル名をpdf,htmlなどにすればうまくやってくれる。
ここまでやってくれると「私が変換プログラム作ってあげた」とはいいにくい…笑。



0 件のコメント:

コメントを投稿