Curl Global Community
print-graphic-pdfに関して - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: print-graphic-pdfに関して (/showthread.php?tid=488)



print-graphic-pdfに関して - nmyzk - 05-02-2012


ご無沙汰してます。

print-graphicの挙動に関して3点ほどご質問があります。
別に緊急なわけではないのですが、
ご存知の方が居ればご教授ください。

1.print-graphic-pdfで作成されるPDFのファイルサイズ

print-graphic-pdfで作成されたPDFと
print-graphicで作成した印刷イメージを外部の変換ツールでPDFにしたものの
ファイルサイズを比較すると、print-graphic-pdfで作成した方が
ファイルサイズがかなり大きいことが確認されました。

これは単純な圧縮比率の差なのでしょうか?

文字が主体のドキュメントを印刷したとき
2つのPDFの間で仕上がりに大差が無いように見受けられたので、
少し気になりました。

2.print-graphic-pdf実行時のメモリ使用量

print-graphic-pdfを利用している間メモリ利用量がかなり増加するのですが、
これを減らせる実装方法はありますでしょうか?

例えばprint-graphicだと以下のような方法を取ることで、
印刷実行中のメモリ使用量の増加を抑えることが出来ます。


{let 印刷グラフィック:Graphic}

{print-graphic 印刷グラフィック}||←改ページ処理があるが、便宜上省略

{set 印刷グラフィック = {新しいグラフィック}}

{garbage-collect}


しかし、print-graphic-pdfを利用した場合は
どうも内部で印刷イメージをキャッシュしているせいか
garbage-collectを行ってもメモリ使用量は減りませんでした。

大量ページ(感覚的には30ページ以上)を印刷すると
print-graphic-pdfの処理時間が長くなるように感じるので
プログラムで回避できる方法があれば知りたいと思います。


3.print-graphic-pdfで作成したPDFをスマートフォンで閲覧すると

実装の仕方が悪いのかもしれませんが、
print-graphic-pdfで作成したPDFをスマートフォン
(Android、iPhone両方で試しました)で閲覧すると
文字化けを起こして正しく表示することが出来ませんでした。

現象を特定できていないので曖昧な言い方になりますが、
少なくとも日本語が入っている場合は、ほぼ文字化けするようです。

WindowsのAdobe PDF上では正しく閲覧できたのですが、
これはPDF内部の問題でしょうか?
それともAndroidやiPhone内部のPDFリーダの問題でしょうか?

一先ず回避策は検討して対応できてますが、
原因が究明できればと思います。



RE: print-graphic-pdfに関して - nmyzk - 05-11-2012

自己解決しました。

原因はprint-graphic-pdfではなく、
印刷するグラフィックの生成方法だったようです。
(かなり複雑なグラフィック表現のため、オブジェクトの大量作成を行った)

印刷イメージの作成方法を変更したところ、
メモリ消費を改善できました。

お騒がせしました。