COSUpdateInfo
COSUpdateInfoは、Apache PDFBoxにおける低レベルのクラスで、PDF操作中にCOS(Carousel Object Structure)オブジェクトのメタデータと追跡情報を管理します。
COSUpdateInfoは、Apache PDFBoxにおける低レベルのクラスで、PDF操作中にCOS(Carousel Object Structure)オブジェクトのメタデータと追跡情報を管理します。COSオブジェクトは、 ( Citation: N.A., 2020 (N.A.). (2020). 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ファイルへの増分更新を保存する際に書き込む必要があるかを追跡する上で重要な役割を果たします。
COSUpdateInfoは、Apache PDFBoxの内部ユーティリティクラスで、更新追跡のためにCOSオブジェクトの状態情報を保持します。実際のPDFオブジェクトのデータ構造を表すCOSBaseクラスとは異なり、COSUpdateInfoはオブジェクトが変更されたかどうか、その世代番号、ドキュメント保存時に相互参照テーブルに含める必要があるかどうかといった補助的な情報を格納します。このクラスは、PDFBoxのオブジェクト管理システムの一部として、特に変更されたオブジェクトのみを出力ファイルに書き込む増分保存操作において、舞台裏で機能します。COSUpdateInfoは通常、アプリケーション開発者が直接インスタンス化するものではなく、PDFBoxのドキュメント保存メカニズムによって自動的に管理されます。
Apache PDFBoxを使用する開発者にとって、COSUpdateInfoの役割を理解することは、パフォーマンス最適化とPDFの増分更新を扱う際に重要です。大規模なPDFドキュメント、特にTagged PDF ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) のような複雑な構造を持つドキュメントを変更する場合、増分保存を実行する機能により、ドキュメント全体を書き直すのではなく、変更されたオブジェクトのみを書き込むことで、パフォーマンスを大幅に向上させることができます。COSUpdateInfoは、オブジェクトの状態を追跡することでこの機能を実現します。さらに、PDFの破損問題や予期しないファイルサイズの増大をデバッグする際、COSUpdateInfoがオブジェクトの更新をどのように管理しているかを知ることで、オブジェクトが不必要に変更済みとしてマークされているかどうかを特定できます。この理解は、広範な構造ツリーとメタデータを含むアクセシブルなPDFを扱う際に特に重要になります。
COSUpdateInfoは、PDFBoxのPDFシリアライゼーションパイプラインの一部として動作します。PDFドキュメントが読み込まれると、各COSオブジェクトはCOSUpdateInfoメタデータと関連付けることができます。アプリケーションがPDFBox APIを通じてドキュメントを変更すると、フレームワークは関連するCOSUpdateInfoインスタンスを通じて、該当するオブジェクトに「更新が必要」というマークを自動的に付けます。ドキュメントが保存される際、PDFBoxのライターは各オブジェクトのCOSUpdateInfoを調べて、どのオブジェクトを出力ストリームに書き込む必要があるかを判断します。増分保存の場合、変更済みとマークされたオブジェクトのみが、元のPDFファイルに追加される新しいセクションに書き込まれ、元のオブジェクトと新しいオブジェクトの両方の位置を指す更新された相互参照テーブルとともに保存されます。このメカニズムは、 ( Citation: N.A., 2020 (N.A.). (2020). Document management — Portable document format — Part 2: PDF 2.0 . International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているPDF仕様の増分更新要件に従います。このクラスは通常、オブジェクトの世代番号、変更ステータス、および現在の更新サイクルの相互参照テーブルにオブジェクトが表示されるかどうかを追跡するフラグとカウンターを保持します。
- COSBase – PDFBoxにおけるすべてのCOS(Carousel Object Structure)オブジェクトの抽象基底クラス
- COSDictionary – PDF辞書を表すCOSオブジェクトで、PDFドキュメントの基本的なデータ構造の1つ
- COSStream – バイナリまたはテキストデータを含むPDFストリームオブジェクトを表すCOSオブジェクト
- PDDocument – PDF文書全体を表すPDFBoxの高レベルクラス
- Incremental Save(増分保存) – ファイル全体を書き直すのではなく、ファイルの末尾に変更を追加するPDF更新方法
- (N.A.) (2020)
- (N.A.). (2020). 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)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
