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

PDF object incremental update

PDF object incremental updateは、で定義されている仕組みであり、既存のPDFファイル全体を書き直すことなく、変更内容を追加できるようにするものです。

キーワード: pdf object incremental update, PDF object incremental update

概要

PDF object incremental updateは、 ( 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ファイル全体を書き直すことなく、変更内容を追加できるようにするものです。ファイル構造全体を再生成する代わりに、変更されたオブジェクトや新しいオブジェクトのみをファイルの末尾に書き込み、更新されたクロスリファレンステーブルとtrailerを追加します。このアプローチにより、元の文書内容を保持しながら、効率的な編集、デジタル署名、注釈ワークフローが可能になります。

定義

PDF object incremental updateとは、PDFへの変更をファイル全体を書き直すのではなく、既存のファイルの末尾に新しいデータを追加することで保存する構造的な技術です。PDFオブジェクトが変更される場合(注釈の追加、フォームフィールドへの入力、デジタル署名の適用など)、元のオブジェクトはファイル内でそのまま残ります。代わりに、変更されたオブジェクトの新しいバージョンがファイル末尾の新しいセクションに書き込まれ、その後に新しいクロスリファレンス(xref)テーブルと新しいtrailer dictionaryが続きます。この新しいxrefテーブルは、新しいオブジェクトと以前のセクションから変更されていないオブジェクトの両方を指します。

これは、すべてのオブジェクトが再編成されゼロから保存される完全なファイル書き直しとは異なります。 ( 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の生成と操作を行う開発者にとって、incremental updateを理解することは、いくつかの実用的な理由から極めて重要です。

パフォーマンスの最適化: 変更されたオブジェクトのみを書き込むことは、PDF全体を再生成するよりもはるかに高速であり、特に数百ページある大きな文書の場合に顕著です。これにより、リアルタイム編集アプリケーションの応答性が向上します。

デジタル署名の保持: Incremental updateは、有効なデジタル署名を維持するために不可欠です。署名はPDFコンテンツの暗号ハッシュであるため、ファイル全体を書き直すと既存の署名が無効になります。Incremental updateにより、以前の署名を保持しながら新しいコンテンツ(承認スタンプや追加の署名など)を追加できます。

監査証跡とバージョン管理: 段階的に更新されたPDFの階層構造は変更履歴を保持するため、コンプライアンス、フォレンジック、または文書の進化を理解する上で価値があります。

コラボレーションワークフロー: 複数のユーザーが、基本文書や他のユーザーの貢献に干渉することなく、incremental updateを通じて注釈、コメント、またはフォームデータを追加できます。

仕組み

PDF object incremental updateの技術的実装は、特定の構造に従います。

初期PDF構造: 標準のPDFファイルは、header、body(オブジェクトを含む)、クロスリファレンステーブル(xref)、trailerの4つの主要部分で構成されます。各オブジェクトは、オブジェクト番号とgeneration番号からなる一意の識別子を持ちます。

更新メカニズム: オブジェクトを変更する必要がある場合、PDFライターは次を含む新しいセクションをファイルに追加します。(1) 更新されたgeneration番号を持つ新規または変更されたオブジェクト、(2) この更新内のすべてのオブジェクトのバイトオフセットをリストする新しいクロスリファレンスセクション(以前のセクションから変更されていないオブジェクトへの参照を含む)、(3) 前のクロスリファレンステーブルのバイトオフセットを指す/Prevエントリを持つ新しいtrailer dictionary。

オブジェクトの解決: PDFリーダーが段階的に更新されたファイルを開くと、まずファイルの最後にある最後のtrailerを読み取り、次にすべての更新セクションを通じて/Prevポインタのチェーンを逆方向にたどります。任意のオブジェクト番号について、リーダーは見つかった最新バージョンを使用し、新しいバージョンが古いバージョンに優先されるようにします。

クロスリファレンスチェーン: ( 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 ) で規定されているように、クロスリファレンステーブルは文書の更新履歴を通じてリンクリスト構造を形成します。各xrefテーブルは、それらを直接リストするか、前のxrefテーブルを参照することにより、その時点までのすべてのオブジェクトを把握しています。

制限と考慮事項: Incremental updateはファイル履歴を保持しますが、古いオブジェクトバージョンがファイル内に残るため、ファイルサイズも増加します。開発者は、「flattening」または「linearizing」によってファイルを最適化でき、これによりすべての更新が単一の書き直された構造に統合されますが、更新履歴は削除されます。

関連用語

  • Cross-reference table (xref) – PDFファイル内のインデックス構造で、オブジェクト番号をファイル内のバイト位置にマッピングし、段階的に更新された文書をナビゲートするために不可欠です
  • PDF trailer – PDFファイルまたは更新セクションの最後にあるdictionaryで、メタデータとクロスリファレンステーブルおよび前のセクションへのポインタを含みます
  • PDF object – PDFファイルの基本的なデータ単位で、オブジェクト番号とgeneration番号によって識別され、incremental updateを通じて更新できます
  • Linearized PDF – Web配信用に最適化された特殊なPDFファイル構造で、効率的なバイト範囲リクエストのために通常はincremental updateセクションを削除します
  • Digital signature – PDF内の暗号検証メカニズムで、署名後に追加コンテンツが追加された場合でも有効性を維持するためにincremental updateに依存します

出典

(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