Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PdfOptimizer

PdfOptimizerは、PDFファイルを解析し、未使用または冗長なオブジェクトを特定して削除し、コンテンツストリームを圧縮し、不要なデータを排除することでファイルサイズを削減する専門ツールです。

カテゴリ: General PDF Concepts
キーワード: pdfoptimizer, PdfOptimizer

概要

PdfOptimizerは、PDFファイルを解析し、未使用または冗長なオブジェクトを特定して削除し、コンテンツストリームを圧縮し、不要なデータを排除することでファイルサイズを削減する専門ツールです。これらの最適化は、ドキュメントの視覚的および機能的な整合性を維持しながら、ファイルサイズを大幅に削減します。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) によれば、PDFファイルはインクリメンタル更新や編集操作によって未使用オブジェクトが蓄積される可能性があるため、最適化は本番ワークフローにおいて重要な考慮事項となります。

定義

PdfOptimizerは、ドキュメントの外観やアクセシビリティ機能を変更することなく、より小さなファイルサイズを実現するためにPDFドキュメントの構造解析と書き換えを実行するソフトウェアです。標準的な圧縮アルゴリズムのみを適用する単純な圧縮ツールとは異なり、PdfOptimizerは ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているPDFファイルの内部オブジェクト構造を検証し、ドキュメントのクロスリファレンステーブルから参照されなくなったオブジェクト、複数回埋め込まれたフォントや画像などの重複リソース、およびコンテンツストリームの最適でないエンコーディングを識別します。

オプティマイザーは、ゼロから新しいファイルを生成するのではなく、既存のPDFファイルを処理するという点で、PDFライターやクリエイターとは異なります。また、PDF構文とセマンティクスを理解しているため、基本的なファイル圧縮ユーティリティとも異なります。これにより、 ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) に概説されているアクセシビリティのためのタグ付きコンテンツを含むドキュメント構造を保持しながら、何を安全に削除または統合できるかについて適切な判断を下すことができます。

重要性

PDFワークフローを扱う開発者にとって、最適化はいくつかの実用的な理由から重要です。大きなPDFファイルは、転送時により多くの帯域幅を消費し、より多くのストレージスペースを必要とし、ビューアーやブラウザーでの読み込みが遅くなります。これらはすべて、ユーザーエクスペリエンスに直接影響を与える要因です。エンドユーザーにPDFを提供するWebアプリケーションでは、わずかなファイルサイズの削減でも、大幅な帯域幅の節約とページ読み込みの高速化につながります。

PDF最適化は、ドキュメントがプログラムで生成または変更される本番環境で特に重要になります。PDFが編集または更新されるたびに、ファイルには孤立したオブジェクトや冗長なデータが蓄積される可能性があります。最適化を行わない場合、複数の編集サイクルを経てファイルが不必要に大きくなることがあります。PDF生成または操作機能を実装する開発者にとって、PdfOptimizerをワークフローに統合することで、手動介入なしに出力ファイルがパフォーマンスと効率の要件を満たすことが保証されます。

仕組み

PdfOptimizerは通常、いくつかの主要なプロセスを通じて動作します。まず、 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 仕様に従ってPDFファイル構造を解析し、すべての間接オブジェクトとその参照をマッピングする完全なオブジェクトグラフを構築します。次に、オプティマイザーはこのグラフをドキュメントカタログルートから走査してガベージコレクションを実行し、到達可能なすべてのオブジェクトをマークし、安全に削除できる未参照オブジェクトを識別します。

次に、オプティマイザーは重複排除の機会についてリソースを分析します。同じ画像、フォント、またはその他のリソースが異なるオブジェクト番号で複数回出現する場合、オプティマイザーはこれらを単一の共有オブジェクトに統合し、すべての参照を適切に更新できます。このツールは、より効率的なエンコーディング方法を使用してコンテンツストリームを再圧縮したり、リソース辞書から未使用エントリを削除したり、ドキュメントのレンダリングに必要のないメタデータやプライベートデータを排除したりすることもあります。

このプロセス全体を通じて、適切に設計されたオプティマイザーは、 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) に記載されているTagged PDFの論理構造ツリーを含むドキュメントの整合性を保持する必要があります。最終ステップでは、線形化されたオブジェクトレイアウト、更新されたクロスリファレンステーブル、および適切に計算されたファイルオフセットを使用してファイル全体を書き換えます。一部のオプティマイザーは、ページごとのダウンロードを可能にするWeb最適化「fast web view」PDF用の線形化もサポートしています。

関連用語

  • クロスリファレンステーブル(Cross-reference table) – PDFファイル内のオブジェクト番号とバイトオフセットをマッピングする内部インデックス
  • インクリメンタル更新(Incremental update – ファイル全体を書き換えるのではなく、変更を追加することでPDFを変更する方法
  • オブジェクトストリーム(Object stream – 効率化のために複数のオブジェクトをまとめて圧縮できるPDF構造
  • 線形化(Linearization) – 最適化されたWeb配信と段階的レンダリングのためにPDFを再編成するプロセス
  • コンテンツストリーム(Content stream – PDFでページコンテンツを記述するオペレーターとオペランドのシーケンス

出典

(N.A.) (2020)
(N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
PDF Association (2023)
(). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
(N.A.) (2014)
(N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html