PDOutputIntentは、Apache PDFBoxのクラスで、PDF文書内のOutput Intent辞書を表現します。Output Intentは、PDFの意図された印刷または表示条件を指定し、PDF/XやPDF/Aなどの標準に従って色特性とレンダリング動作を定義します
(
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
)
。このクラスは、PDFBoxライブラリの高レベルPDModel APIを使用して、PDF文書内のOutput Intentプロパティを読み取りおよび変更するためのメソッドを提供します。
PDOutputIntentは、Apache PDFBoxのJavaクラスで、PDF仕様で定義されているOutput Intent構造をカプセル化します
(
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
)
。Output Intentは、特定の出力デバイスまたは制作条件の色再現特性を記述し、通常はICCカラープロファイルを参照します。PDOutputIntentクラスを使用することで、開発者はこれらの仕様にプログラムでアクセスし操作できます。これには、出力条件識別子、レジストリ情報、および関連するICCプロファイルが含まれます。視覚的コンテンツや構造を扱う他のPDFBoxクラスとは異なり、PDOutputIntentは、異なるデバイスやワークフロー間で一貫したレンダリングを保証する色管理と再現メタデータを特に管理します。
PDPageは、Apache PDFBoxの高レベルPDModel APIにおけるコアクラスで、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
)
で定義されているページレベルの構造体(ページサイズ、コンテンツストリーム、リソース、注釈、メタデータなど)にアクセスし操作するためのメソッドを開発者に提供します。PDFBoxベースのJavaアプリケーションにおいて、プログラムによるページレベル操作を行うための主要なインターフェースとして機能します。
PDPageは、
(
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ページディクショナリの機能をカプセル化したJavaクラスです。Cos(Carousel Object Structure)オブジェクトを直接操作する低レベルのPDF操作アプローチとは異なり、PDPageは一般的なページ操作を簡素化するオブジェクト指向の抽象化レイヤーを提供します。このクラスは、PDFの内部構造の複雑さを処理しながら、ページプロパティの読み取り、コンテンツの変更、注釈の管理、フォームフィールドへのアクセスを行うための直感的なメソッドを公開します。PDPageインスタンスは通常、PDDocumentオブジェクトから取得され、読み込まれたPDFファイルの既存ページと、文書生成のために新規作成されたページの両方を表現できます。
PDPageAdditionalActionsは、Apache PDFBox PDModel APIのクラスで、PDFページに関連付けられた追加アクションを表します。これらのアクションは、ページが開かれたときや閉じられたときなど、特定のページレベルのイベントによってトリガーされるインタラクティブな動作を定義します。このクラスは、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
)
で定義されたアクション辞書エントリを読み取り、変更するためのメソッドを提供します。
PDPageAdditionalActionsは、Apache PDFBoxにおける高レベルのラッパークラスで、PDFページオブジェクトのAdditional-Actions(AA)辞書をカプセル化します。この辞書は、ページイベントと、そのイベントが発生したときに実行されるべき対応するアクションをマッピングします。このクラスは、ページオープン(O)イベントやページクローズ(C)イベントを含む特定のページトリガーに対するgetterおよびsetterメソッドを提供します。ドキュメントレベルの追加アクションやフィールドレベルの追加アクションとは異なり、PDPageAdditionalActionsは、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
)
で規定されたページ固有のインタラクティブな動作を定義する、基盤となるCOS(Carousel Object Structure)辞書エントリへの型安全なアクセスを提供することで、基本的なPDFBoxモデルを拡張しています。
PDPageContentStreamは、Apache PDFBoxのPDModelパッケージに含まれる高レベルAPIクラスで、開発者が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構文を処理しながら、PDFページにテキスト、グラフィックス、画像を描画するための主要なインターフェースとして機能します。PDFコンテンツストリーム演算子の複雑さを抽象化することで、Java開発者はPDF仕様の低レベル構造に関する深い知識を必要とせずにPDF文書を操作できます。
PDPageContentStreamは、PDFページ上にコンテンツをレンダリングするための命令を含む基本構造であるPDFコンテンツストリームをラップするJavaクラスです。PDF辞書や配列を直接操作する低レベルのPDFBoxクラスとは異なり、PDPageContentStreamはshowText()、drawLine()、drawImage()などの開発者にとって使いやすいメソッドを提供し、コンテンツストリーム内の正しいPDF演算子とオペランドを自動的に生成します。
このクラスは、いくつかの重要な点で他のPDFBoxコンポーネントと異なります。PDDocumentクラスが文書構造を管理し、PDPageが個々のページを表現する一方で、PDPageContentStreamは特にコンテンツ層、つまりページ上にレンダリングされる実際の視覚要素を処理します。このクラスは、直接的なコンテンツストリーム操作よりも高い抽象レベルで動作しますが、ページの追加やメタデータの管理といった文書レベルの操作よりは低いレベルで動作します。
このクラスは追加モードと前置モードの両方をサポートしており、開発者は既存のページに対して、既存のコンテンツの前または後にコンテンツを追加できます。この柔軟性は、ゼロから作成するのではなく、修正が必要な既存のPDFを扱う際に特に重要です。
PDF生成と操作を行う開発者にとって、PDPageContentStreamは、Javaアプリケーションコードと
(
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演算子を手動で構築し、グラフィックス状態を管理し、適切な構文を確保する必要があり、これはエラーが発生しやすく時間のかかるプロセスです。
PDPageContentStream.AppendModeは、Apache PDFBoxライブラリの列挙型であり、既存の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文書を変更する際、開発者は新しいコンテンツを既存のコンテンツの前に挿入するか、後に追加するか、または完全に置き換えるかを指定する必要があります。このモード選択は、テキスト、グラフィックス、注釈などのPDF要素の視覚的なレイヤー構造を保持または変更する上で重要です。
PDPageContentStream.AppendModeは、Apache PDFBoxの高レベルPDModel API内のJava列挙型であり、コンテンツストリーム操作のための3つの異なるモードを提供します:APPEND、PREPEND、OVERWRITEです。APPENDモードは、既存のコンテンツストリームの後に新しいコンテンツ演算子を追加し、新しい要素が既存のコンテンツの上にレンダリングされるようにします。PREPENDモードは、既存のコンテンツの前に新しいコンテンツ演算子を挿入し、レンダリング順序において新しい要素を既存のコンテンツの背面に配置します。OVERWRITEモードは、既存のコンテンツストリーム全体を新しいコンテンツで置き換え、新しい要素を追加する前にページを効果的にクリアします。
これは、開発者がコンテンツストリーム演算子を直接操作し、バイトレベルの構造を手動で管理する必要がある低レベルのコンテンツストリーム操作とは異なります。AppendMode列挙型はこの複雑さを抽象化し、PDF仕様への準拠を維持しながら、一般的なコンテンツ変更パターンに対して開発者にとって使いやすいインターフェースを提供します。
AppendModeを理解し正しく使用することは、既存のPDF文書をその視覚的な外観や構造を乱すことなく変更する必要がある開発者にとって不可欠です。誤ったモードを選択すると、透かしがコンテンツの上ではなく背面に表示されたり、ヘッダーとフッターが既存のテキストを覆い隠したり、
(
Citation: N.A., 2014
(N.A.).
(2014).
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
)
に基づくアクセシビリティ準拠に必要なTagged PDF要素などの慎重に構造化されたコンテンツを誤って破壊したりする可能性があります。
PDPageDestinationは、Apache PDFBox PDModel APIのクラスで、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内の特定のビューまたは場所を定義します。このクラスは、PDFデスティネーションオブジェクトを操作するための高レベルなJavaインターフェースを提供し、開発者がプログラムによって文書ナビゲーションターゲットを作成、読み取り、変更できるようにします。
PDPageDestinationは、Apache PDFBoxの抽象基底クラスで、PDFデスティネーションの概念をカプセル化します。デスティネーションとは、文書内の特定の場所とビューを指すポインタです。ページ番号のみを識別する単純なページ参照とは異なり、デスティネーションは、ターゲットページ、ビュータイプ(幅に合わせる、高さに合わせる、XYZ座標など)、ズーム倍率を含む完全なビュー仕様を提供します。PDPageDestinationは、PDPageFitDestination、PDPageXYZDestination、PDPageFitWidthDestinationなどの特定のデスティネーションタイプの親クラスとして機能し、それぞれがPDF仕様で定義された異なるビューフィッティングモードに対応しています。このクラスは、動作を定義するアクションオブジェクト(PDActionなど)とは異なり、リンク、ブックマーク、または文書アウトラインエントリから参照できる静的な表示場所を具体的に定義します。
PDFナビゲーション機能を扱う開発者にとって、PDPageDestinationは、文書内部リンクの実装、目次機能の作成、アクセシブルなナビゲーション構造の構築に不可欠です。このクラスの理解は、
(
Citation: N.A., 2014
(N.A.).
(2014).
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構文を直接操作するのではなく、型安全なJavaオブジェクトで作業できるようにします。これにより、大きな文書内の特定の場所にユーザーを確実にナビゲートするブックマーク、ハイパーリンク、アウトラインエントリを簡単に作成できます。
PDPageFitBoundingBoxDestinationは、Apache PDFBox Javaライブラリにおけるクラスであり、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ビューアに対してページの可視コンテンツのバウンディングボックスに合わせて表示するよう指示します。これは、ブックマーク、リンク、目次エントリなど、正確なビューポート制御が必要なインタラクティブナビゲーション要素を作成する際に一般的に使用されます。
PDPageFitBoundingBoxDestinationは、
(
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
)
で定義されている「FitB」デスティネーションタイプをサポートするために、PDFBoxのデスティネーション階層を拡張した具象実装クラスです。ユーザーがこのデスティネーションを使用するリンクやブックマークをアクティブにすると、PDFビューアは拡大率とスクロール位置を調整し、ターゲットページのコンテンツのバウンディングボックス全体をウィンドウ内に表示します。バウンディングボックスは、ページのメディアボックス(物理的なページ寸法)ではなく、コンテンツの境界によって決定されます。つまり、空白の余白を除外し、実際の可視コンテンツに焦点を当てます。これは、余白を含むページ全体を表示するPDPageFitDestinationや、垂直方向のフィッティングのみを制御するPDPageFitHeightDestinationなど、他のデスティネーションタイプとは異なります。
PDPageFitDestinationは、Apache PDFBoxライブラリのJavaクラスで、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ナビゲーション目的地を操作するための高レベルPDModel APIの一部です。このクラスにより、開発者はリンク、ブックマーク、その他のナビゲーション機構を通じてアクセスされたときに、PDFページがどのように表示されるかを制御するナビゲーションターゲットをプログラム的に作成または操作できます。
PDPageFitDestinationは、Apache PDFBoxのPDModelパッケージ内の具象実装クラスで、PDF仕様で利用可能な複数の目的地タイプの1つを表します。特定の座標やズームレベルでページを配置する他の目的地タイプとは異なり、PDPageFitDestination実装は、ページ全体、その幅、その高さ、または特定の矩形領域を表示ウィンドウ内にフィットさせるために倍率と位置を調整します。このクラスはPDDestinationを継承し、ナビゲート先のページとそのページをビューア内でどのようにフィットさせるかを指定するメソッドを提供します。一般的なフィットタイプには、ページ全体をウィンドウにフィットさせる(Fit)、ページ幅をウィンドウ幅にフィットさせる(FitH)、ページ高さをウィンドウ高さにフィットさせる(FitV)、特定のバウンディングボックスをフィットさせる(FitR)などがあります。
PDFドキュメントを扱う開発者にとって、PDPageFitDestinationはPDFビューア内で直感的なナビゲーション体験を作成するための重要な機能を提供します。内部リンク、ブックマーク、目次エントリを含むインタラクティブなPDFを生成するアプリケーションを構築する際、このクラスはユーザーを正しいページに移動させるだけでなく、適切なズームレベルと位置でページを表示することを保証します。これは、予測可能なナビゲーション動作が障害を持つユーザーの使いやすさを向上させるアクセシビリティアプリケーションにおいて特に重要であり、
(
Citation: N.A., 2014
(N.A.).
(2014).
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構造を手動で構築することなく、洗練されたナビゲーション機能を実装できるようにします。
PDPageFitHeightDestinationは、Apache PDFBoxライブラリにおけるクラスで、PDF文書内の特定のタイプの移動先(デスティネーション)を表します。具体的には、ページの高さ全体を表示ウィンドウ内に収めるタイプの移動先です。このデスティネーションタイプは、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文書のナビゲーション機能において特に有用です。
PDPageFitHeightDestinationは、Apache PDFBoxの高レベルPDModel API内の具象実装クラスで、
(
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
)
で定義されている「FitV」(Fit Vertically、垂直方向に合わせる)デスティネーションタイプに対応します。このクラスを使用することで、開発者はプログラムによってデスティネーションを作成、読み取り、または変更することができ、PDFページがビューアーのウィンドウ内に高さ全体を収めるように自動的にスケールされる一方で、特定の水平位置を維持します。FitWidthやFitRectangleなどの他のデスティネーションタイプとは異なり、FitHeightデスティネーションはページの垂直方向の全体をユーザーが確認できることを保証します。これは、横向きのドキュメントや垂直方向のコンテンツの可視性が重要な場合に特に有用です。このクラスはPDDestination基底クラスを拡張し、デスティネーションがアクティブ化されたときにページを配置する水平座標(左位置)を取得および設定するメソッドを提供します。
PDPageFitRectangleDestinationは、Apache PDFBoxライブラリにおいて、PDF文書内の特定のタイプのデスティネーションを表すクラスです。ナビゲーションターゲットとして使用される場合、このデスティネーションタイプは、デスティネーションページの指定された矩形領域をドキュメントビューアのウィンドウ内に収まるように表示を調整します。このクラスは、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
)
で定義されている「FitR」デスティネーションタイプを実装しており、開発者がユーザーのPDF文書内のナビゲーション時にコンテンツがどのように表示されるかを正確に制御できるようにします。
PDPageFitRectangleDestinationは、Apache PDFBoxの高レベルPDModel API内の具象実装クラスであり、
(
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
)
で指定されている「FitR」(Fit Rectangle)デスティネーション動作をカプセル化します。このデスティネーションタイプには5つのパラメータが必要です。ターゲットページへの参照と、ページの座標空間内で矩形を定義する4つの座標(left、bottom、right、top)です。