この記事では、線形化された.pdfファイルと、Teighaを使用してそれらを作成する方法について説明します。
線形化された.pdfファイルとは何ですか?線形化は「高速Web表示」とも呼ばれ、Webブラウザでインターネット上で読みやすくするために.pdfファイルを整理する特別な方法です。一般的に、.pdfファイルはジオメトリ、テキスト、フォームなどのオブジェクトのセットであり、ストリームで構成されています。これらのストリームはファイル内に任意の順序で配置され、これらのストリームへの参照はドキュメントの最後にあります。そのため、インターネット経由でファイルを開くと、ファイル全体がダウンロードされるまで待つ必要があります。ファイルが小さい場合は問題ありませんが、複数のページを持つ大きなファイルでは問題になります。
PDFドキュメントに線形化を適用すると、ドキュメントの先頭に特殊なデータ構造が作成されます。このデータには、最初のページとドキュメント内の残りのオブジェクトへの参照が含まれています。そのため、ドキュメントがウェブ経由で開かれると、他のページがまだダウンロード中であっても、最初のページはほぼ即座に表示されます。ユーザーが(ナビゲーションバーや内部リンクを使用して)別のページに移動した場合、そのページも他のページとは独立してダウンロードおよび表示できます。これにより、PDFファイルの閲覧がより簡単かつ迅速になります。
線形化はいつ使用すべきでしょうか?PDFファイルのサイズが小さい(ファイル全体を素早くダウンロードできる)場合や、1ページしか含まれていない場合は、線形化する意味がありません。また、PDFファイルがウェブ経由で閲覧されることを想定していない場合も無意味です。ローカルコンピューターではすでにファイル全体があるため、ページごとに段階的に開く必要はありません。さらに、長期アーカイブ用のPDFファイル(以前のブログ記事で説明したPDF/Aファイル)を作成する際には線形化は不要です。なぜなら、ビューアはPDF/Aドキュメントの線形化情報を無視することが求められているからです。線形化は、ネットワーク(例えば企業のウェブサイト)経由で閲覧されることを想定した、大規模で複数ページのPDFドキュメントに最適です。
Teigha を使用して線形化された .pdf ファイルを作成するのは非常に簡単です。エクスポートする前に、対応するフラグを PDFExport パラメータに設定するだけです。
PDFExportParams params;
params.setExportFlags(PDFExportParams::PDFExportFlags(PDFExportParams::kDefault |
PDFExportParams::kLinearized));
そして、図面をエクスポートします。
これで完了です。結果の .pdf は線形化されます。.pdf ドキュメントが線形化されているかどうかを確認するには、Adobe® Reader® を使用します。ドキュメントのプロパティを開くだけです。
Adobe Acrobat® および Adobe Reader には既知の問題があることに注意してください。ファイルサイズが約 4KB 未満の場合、.pdf ファイルが線形化されていても、「高速 Web 表示」プロパティは「いいえ」と表示されます。ただし、前述したように、小さな .pdf ファイルで線形化を使用することは無意味であるため、ほとんどのユーザーはこの問題の影響を受けません。