『Web表示用に最適化』について †
現在、威沙で生成されるPDFは『Web表示用に最適化』はされておりません。
ここではWeb表示用に最適化する意味と方法について簡単に解説を載せたいと思います。
Web表示用に最適化とは †
PDFファイルは、通常全てのデータをダウンロードするまでは表示されません。
これはPDFファイルの内部構造を示すデータが末尾にあることが主たる原因です。
PDFはページオブジェクトの位置を示すテーブルを持っていますが、これがデータ上の末尾に存在していることにより、この全てが読まれるまでデータ位置が確定しません。
これを高速化するため、一部のPDF生成ソフトウェアは『Web表示用に最適化』という機能を持っています。
これはPDFの内部情報を特定の形式にコンバートし、Web上で表示を高速化するものです。
この形式をLinearized PDFといい、この形式となったPDFファイルはデータの先頭位置にある情報から任意のページを展開することが出来るため、
PDFファイル全体を読み出さなくても指定ページをすぐに表示することが可能になります。
(URLでPDFファイルを指定する場合に『pdffile.pdf#page=<num>』とすると<num>に指定したページを表示できますが、これが早くなります)
Web上にPDFファイルを公開する場合にはこちらの形式になっていた方が閲覧者にストレスが無いと考えています。
(PDFファイル自体がイヤという人もいるのでこちらはどうにもなりませんが)
Linearized PDFの生成方法 †
AdobeのAcrobatや一部有償ソフトでは『Web表示用に最適化』などの名称でオプションが存在しますので、
こちらを指定してファイルを生成すればよいかと思います。
ただ、威沙など無償ソフトの中にはこれら機能を持たないものが多く、Linearized PDFを生成するには一度生成したデータの並べ替えを実行するのですが、
この処理が大変面倒であるため、簡易な出力ソフトでは未サポートになっているのです。(またその分処理に時間が掛かります)
そこでいくつかの方法により、『Web表示用に最適化』したPDFを生成する方法がありますので、そのうち最も簡単な方法をご紹介します。
Adobe Readerにて変換 †
Adobeから配布されているAdobe Readerですが、最近のバージョンではPDFへのコメント記入などの機能がサポートされています。
PDF自体は生成出来ませんが、フォーム入力や添削機能及びその保存は可能になっています。
そこで威沙で生成したPDFをAdobe Reader読み込ませてそのまま『名前を付けて保存』すると標準設定では『Web表示用に最適化』に再変換されたものが出力されます。
はい、これだけです。(笑)
一応念のため、『編集(E)』→『環境設定(N)』→『文書』の「保存の設定」「Web表示用に最適化して保存(A)」がチェックされているかを確認してから行ってください。
(標準ではチェックされているはずです)
この方法で生成したPDFファイルをAdobe Readerで開き、『ファイル(F)』→『プロパティ(E)』→「概要」「Web表示用に最適化」が『はい』になっていれば最適化されています。
なお、暗号化がされているPDFではこの方法は使用できません。(生成元が改変許可していない場合には保存しても元データがコピーされるだけです)
リニアライズド及び暗号化が施されたPDFファイルを必要とする場合には、Acrobatなどの有償ソフトで無いと難しいと思われます。
(もしかしたらghostscriptなどでは可能かもしれませんが、未検証)
また、この方法で生成したPDFは一度Adobeのツールを通したことになりますので、
このPDFファイルならば印刷所などに出しても問題無い可能性が高くなるかと思います。
(まだ試したことはありませんが……)