PDF 総合案内 | PDF スイート | 書けまっせ!!PDF | リッチテキスト PDF | アウトライナー | 瞬簡PDF | トップページ |
PDF 電子署名 | PDF Tool | PDF Server | サーバベース・コンバータ | PDF [OEM] | PDF 資料室 | ブログ |
Web 最適化PDFの意味、用途、効果 |
更新日: 2006/01/03 |
![]() |
Webページで配布されているPDFをブラウザで開いてみるとき、PDFのページが表示されるまでに時間がかかる場合があります。いわゆる重いという現象ですが、PDFが重くなってしまう原因には様々なことがあり、従って、その対策も様々です。
WikipediaのPDFの項を見ていましたら、「PDFのドキュメントは、ドキュメントの一部分だけを参照したい場合でも、最初から最後まですべてのデータを閲覧端末に読み込む必要がある。」(2006年12月31日時点の文章)という説明がありました。
このように理解している方も多いと思います。また、無償あるいは廉価なPDF作成ソフトで作成したPDFをAdobeリーダなどで表示する際は、PDFファイルの最後まで読まないと表示開始できないことも多いようです。このような場合、ページ数が多くファイルの容量が大きいPDFをWeb経由で表示しようとすると、全部ダウンロードするまで、目の前の画面には、内容がまったく表示されないということになってしまいます。
これがPDFが重いという印象を持たれ敬遠される理由のひとつでしょう。
こうした現象を解消するための対策として、リニアライズドPDF (Linearized PDF)という仕様があります。なお、リニアライズドPDFという言葉は、PDF Referenceで使われている専門用語です。Adobe Reader英語版では、Fast Web Viewという言葉を使っていますし、日本語版では、Web表示用に最適化という言葉を使っています。実際のところ、Web表示用に最適化という表現は曖昧ですし、後で説明しますように携帯電話用のPDF Readerでも、リニアライズドPDFが重要な役割を果たすことになりますので、Web表示用に最適化という用語が適切とは思いません。しかし、ここでは、慣例に従って、リニアライズドPDFのことをWeb表示用に最適化と呼ぶことにします。
Web表示用に最適化したPDFの場合、PDF Readerは、PDFをすべて端末に読み込まなくても表示開始できますし、ドキュメントの特定ページを直接参照することもできます。
PDF Reference 1.7では、Web表示用に最適化について付録F(pp. 1021 - 1055)で35ページにわたって説明があります。
それによりますと、Web表示用に最適化は、PDF仕様1.2から追加された機能で、次のような目的をもつとされています。
付録になっていることからも分かりますが、オプション仕様であり、必須ということではありません。このため、無償・廉価版PDF作成ソフトでは実装されていないことも多いのです。
Antenna House PDF Driver (V3.1以降)や、AdobeのAcrobatのPDFドライバでは、PDFを作成の初期設定がWeb表示用に最適化するようになっています。そこで、意識しなくてもWeb表示用に最適化されたPDFが作成されます。しかし、Web表示用に最適化するかしないかは、指定もできます。
PDFをWeb表示用に最適化するプログラムがなにをするか、技術的な詳しいことは、PDF Referenceをお読みいただきたいと思います。簡単に言いますと、PDFファイルの内容(オブジェクト)を並び替えて、表示用に最適化する処理を行います。このためPDFの作成とWeb表示用に最適化は2ステップの処理になります。つまり、Web表示用に最適化するとその分追加の処理時間がかかるということです。
また、Web表示用に最適化処理済のPDFを暗号化したりしますと、Web表示用に最適化でなくなってしまいます。また、PDFは、一旦作成した後で、様々に情報を追加したり、更新できるようになっています。このようにPDFを少しでも変更したり、情報を追加すると、Web表示用に最適化ではなくなりますので、再度、Web表示用に最適化しなければなりません。
あるPDFがWeb表示用に最適化されているかどうかは、Adobe Readerであれば、文書のプロパティで確認できます。次の図をご参照ください。
WebブラウザでWeb表示用に最適化版PDFの100ページをいきなり表示したいならば、対象PDFのURLの後ろに次のようにページ番号を指定します。
....PDF#page=100
Web表示用に最適化していないPDFで、表示したいページ番号が指定されている場合は、ブラウザはPDFファイル全体をダウンロードしてからAdobeリーダが100ページ目にジャンプして表示します。
しかし、Web表示用に最適化したPDFでは、100ページ目を直接表示することができます。この場合、100ページ目を表示するまでの待ち時間が短縮できるわけです。
Web表示用に最適化したPDFの表示までの時間短縮効果が大きいのは、遅い通信速度経由でPDFをダウンロードして表示する場合などでしょう。
このように、通信回線が遅く、また、端末のメモリ容量が小さいときなどは、このWeb表示用に最適化したPDFを、ページ単位で端末に送信するバイトサービングを使うことができます。バイトサービングについては、下記のページを参照してください。
バイトサービングを使うにはWebサーバ側でPDFを1ページずつ送り出してくれる機能が必要ですが、新しいWebサーバはPDFのバイトサービングには対応しているようです。
携帯電話などでPDFを表示しようとすると、Web表示用に最適化した上で、バイトサービングを組み合わせてページ単位にダウンロードするようなことが必須になると思います。携帯電話でアプリケーションが使えるメモリ容量はPCと比べればまだまだ少ないですし、通信回線のデータ転送速度も遅いからです。
実際に、NTTドコモのFOMAには、PDF Reader (Acrobat LE)が搭載されているものがありますが、FOMAのPDF Readerは、Web表示用に最適化したPDFでないと表示できないようです。
アンテナハウスの主な製品のWeb表示用に最適化機能の実装状況は以下の通りです。
製品名 | 実装状況 |
---|---|
Antenna House PDF Driver | V3.1以降で実装済みです。 |
Antenna House PDF Tool V2.5 | PDF作成のほか、Tool APIとしても使用できます。 |
リッチテキスト・コンバータ2006R3 | 同梱のAntenna House PDF Driverは未実装です。 |
リッチテキストPDF2 | 同梱のAntenna House PDF Driverは未実装ですが、Web表示用に最適化機能は当該メニューから使えます。 |
書けまっせ!!PDF2 | 実装済みです。 |
アウトライナー | 実装済みです。 |
XSL Formatter V4 | 実装済みです。 |
サーバベース・コンバータ | 未実装です。 |
上の表は、2007年1月3日現在です。今後、変更になることがあります。
Web表示用に最適化したPDFでは、PDFを最後まで読まなくても表示することができます。これを実感するには、実際のPDFで体験してみるのが一番分かりやすいと思います。そこで、次に実証データを作成してみました。
XSL Formatterでは作成するPDFをWeb最適化するかしないかを指定する機能があります。また、「XSL Formatter V4.1のマニュアル (PDF)」は、XSL-FOのデータをWebから配布していますので、XSL Formatterの評価版を使って、Web表示用に最適化したものとしていないものを用意しました。
PDFの総ページ数は232ページ、ファイルサイズは約3MBです。XSL-FOのファイルを組版してPDF出力するまでの時間は、次の図のようにWeb表示用に最適化しないと70秒、最適化すると75秒となり、7%ほど余計に処理時間がかかります。
CPU速度 1.6GHz、768MHz1GBのRAMを搭載したWindows XPで各3回実行した時の2回目と3回目の平均処理時間です。
アンテナハウスのWebサイトに実際に作成したデータを置きましたので、皆さんも体験なさってみてください。なお、日本のWebサイトは、かなり速いので差が体感できないかもしれません。その場合は、やや速度が遅い米国のWebサイトの方が分かりやすいと思います。内容は同じものですので、必ずしも両方を試す必要はありませんが。
このマニュアルは232ページありますが、150ページを直接表示するように指定した例も作成してみました。
IE6、IE7や、FireFoxの標準状態では上記のWeb表示用に最適化有無や最初に表示するページ設定は有効です。しかし、FireFoxに「PDF Download」(http://www.pdfdownload.org/)を追加してしまうと、上の設定の違いがなくなってしまうようです。これは、「PDF Download」が、PDF全部をダウンロードして、PDFの表示指定ページを無視してAdobe Readerを起動してしまうためと考えられます。