ページ

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などにすればうまくやってくれる。
ここまでやってくれると「私が変換プログラム作ってあげた」とはいいにくい…笑。



2011年9月24日土曜日

iPad2でエクセルを開くと重くて辛いとのことで、サーバーサイドJavaでファイル変換を考え中





iPad2でエクセルを開くと重くて辛いとのことで、
いろいろ対策を考え中。
重いというエクセルファイルがどんなものかまだきちんと見ていないけど

方法は
1, pdfへ変換。
2, 画像(jpg,gif)へ変換。
3, URLを指定し、Webでみてもらう。
4, HTMLファイルへ変換。




ユーザーはGmailメールに添付のファイルを開きたいとの事なので
サーバーでGmail取得、添付ファイルがあればまず該当メールをアーカイブ。
添付のファイルをPDFか画像かHTMLへ変換、
送信元と宛先と本文をオリジナルのファイルからコピーして変換後のファイルを添付orURL付加して再送信かなぁ。
GmailのIDとパスワードをもらうことになるけど
それならユーザーはいつもと変わらない操作ではやくファイルを開けるかと思ったので
実際に使うかは分からないけどファイル変換ライブラリを探してみた。

エクセルから直接画像化するライブラリは見つからず。(誰か教えて)
エクセルからPDFをつくれるJODConverterを発見。
試しにローカルで動かすといい感じ。





遅い原因は
iPad2のエクセル起動が遅い?
計算式が大変?
レンダリング(っていう?)?

そして、
PDFのソフトなら早い?
画像の方がはやい?
常にWebアクセスは面倒?
HTMLファイルの添付でうまく見れる?

最適なのがどれかは見てみないとまだ分からないけど
(IDとパスワードを渡す仕組みだし嫌がられる可能性も有。)
自分用にもいつか使えるかも。
ちなみに、私はiPad2はもっていません。
そしてObjectiv-Cもやる気はありません。
なので無理矢理サーバーサイドJavaで模索中。

2011年9月18日日曜日

アンドロイド用にマウスパッドつきキーボード。vncでサーバーにつないで、アンドロイドを通して開発計画。





アンドロイド用にマウスパッドつきキーボード。
vncでサーバーにつないで、アンドロイドを通して開発計画。

日本語のキーの並びがおかしい。
伸ばし棒?「ー」とか「む」とかがどっか行っちゃってる。
アンドロイドとはつながったけど、使いにくいのでだめでした。
開発中も日本語はつかうしなぁ。