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

PDDocument

PDDocumentは、Apache PDFBoxの高レベルPDModel APIにおける主要なクラスで、メモリ上のPDF文書オブジェクトを表現します。

キーワード: pddocument, PDDocument

概要

PDDocumentは、Apache PDFBoxの高レベルPDModel APIにおける主要なクラスで、メモリ上の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構造の複雑さを抽象化しながら、開発者がPDFファイルをプログラム的に作成、読み込み、変更、保存するためのメソッドを提供します。PDDocumentは、単純な文書作成から、フォーム、注釈、アクセシビリティ機能を含む複雑な操作まで、JavaアプリケーションにおけるほとんどのPDF操作タスクの主要なエントリーポイントとして機能します。

定義

PDDocumentは、PDF文書全体をオブジェクト指向的に表現したJavaクラスです。PDF構文や基本オブジェクトを直接扱う低レベルのPDF解析アプローチとは異なり、PDDocumentは高レベルの抽象化レイヤーを提供し、開発者が直感的なJavaメソッドとオブジェクトを使用して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仕様との整合性を維持します。

PDDocumentは、メモリセーフな操作、自動的なリソース管理、文書コンポーネントへの構造化されたアクセスを提供することで、生の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を扱う際、PDDocumentはAPIメソッドを通じて文書の構造ツリーやタグ付きコンテンツにアクセスし、操作することができます。このクラスは、増分更新と文書全体の書き換えの両方を処理し、簡略化されたインターフェースの背後でPDFオブジェクト間の複雑な関係を管理します。

重要性

PDF対応アプリケーションを構築する開発者にとって、PDDocumentは低レベルのPDF構文やオブジェクト関係を理解する必要性を排除します。この抽象化により、開発時間が大幅に短縮され、破損した、または非準拠のPDFファイルを生成する可能性のあるエラーが最小限に抑えられます。このクラスは、メモリ管理、適切なオブジェクト参照、文書の整合性維持を自動的に処理します。

PDDocumentは、 ( 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 ) のような標準に準拠したアクセシブルな文書を作成し、 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) のベストプラクティスを実装する際に特に重要です。このAPIは、基盤となるPDFアーキテクチャの深い知識を必要とせずに、構造要素、マークされたコンテンツ、アクセシビリティプロパティを扱うメソッドを提供します。これにより、開発者は標準への準拠を確保しながら、PDF内部構造ではなくアプリケーションロジックに集中できます。

仕組み

PDDocumentは、PDFファイルをメモリに読み込み、構造化されたオブジェクトグラフに解析することで動作します。PDDocument.load()を使用してPDFが読み込まれると、クラスはファイルのクロスリファレンステーブル、オブジェクトストリーム、文書カタログを読み取り、メモリ内表現を作成します。各コンポーネント(ページ、フォント、画像、注釈)は、getterおよびsetterメソッドを通じてアクセス可能なJavaオブジェクトになります。

このクラスは、最適なメモリ使用のために遅延読み込みを使用し、アクセスされたときにのみオブジェクトを読み込みます。ページはPDPageTreeオブジェクトを通じてアクセスされ、PDDocumentが内部的に管理します。PDDocumentメソッドを通じて行われた変更は、メモリ内のオブジェクトグラフを更新し、変更はsave()が呼び出されたときにのみディスクに書き戻されます。このアプローチにより、変更をコミットする前に複数の操作を効率的に実行できます。

文書作成の場合、PDDocumentは空の文書カタログから開始し、ページ、リソース、メタデータの段階的な追加を可能にします。このクラスは、オブジェクト番号付け、クロスリファレンステーブルを自動的に管理し、保存前にすべての必要なPDF構造が存在することを保証します。また、暗号化、圧縮、その他のPDF機能を設定オプションを通じて透過的に処理します。

PDDocumentを使用する際は、リソースのクリーンアップが重要です。このクラスはCloseableを実装しており、ファイルハンドル、メモリバッファ、その他のシステムリソースを適切に解放するために、close()またはtry-with-resourcesブロックを通じた明示的なクローズが必要です。

関連用語

  • PDPage – PDDocument内の単一ページを表し、コンテンツストリームとページレベルのリソースを含む
  • PDPageTree – PDF文書内のページの階層構造を管理する
  • PDDocumentCatalog – PDF文書のオブジェクト階層のルートで、PDDocumentを通じてアクセスされる
  • COSDocument – PDDocumentの基盤となる低レベルのCOS(Carousel Object Structure)表現
  • PDResources – 文書内のページが使用するフォント、画像、その他のリソースを管理する

出典

(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