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

PDFStreamParser

概要

PDFStreamParserは、Apache PDFBoxライブラリに含まれるJavaクラスで、PDFコンテンツストリームへのプログラマティックなアクセスを開発者に提供します。このクラスは、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ページコンテンツの基本的な構成要素を抽出、分析、操作できるようになります。

定義

PDFStreamParserは、Apache PDFBoxのコンテンツストリーム処理APIの一部であり、PDFコンテンツストリームをオペレーターとそのオペランドを表すトークンのシーケンスに解析するために特別に設計されています。PDF要素への抽象化されたアクセスを提供する高レベルのPDFBoxクラスとは異なり、PDFStreamParserはコンテンツストリームレベルで動作し、ページレンダリング命令を定義するPostScript風の構文を解釈します。

このパーサーはコンテンツストリームを読み取り、走査、変更、分析が可能なオブジェクトとオペレーターのリストに変換します。テキストの配置、グラフィックス状態の管理、パスの構築、リソース参照のための様々なPDFオペレーターを処理します。これは、テキスト抽出のみに焦点を当てたPDFTextStripperや、既存のコンテンツを解析するのではなくコンテンツを書き込むために設計されたPDPageContentStreamといったクラスとは異なります。

重要性

PDF操作を行う開発者にとって、PDFStreamParserは高度なPDF処理タスクのための重要な機能を提供します。高レベルAPIだけでは実現できないPDFコンテンツの深い検査と変更を可能にします。これは、コンテンツ変換を必要とする複雑なPDF、PDF/UA ( 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構造のフォレンジック分析を行う際に特に重要です。

全投稿を閲覧 gdoc_arrow_right_alt

PDFTemplateBuilder

概要

PDFTemplateBuilderは、Apache PDFBoxライブラリ内の高レベルJavaクラスであり、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コンポーネントを読み取り、作成、変更することができます。PDFTemplateBuilderは低レベルのPDF操作の複雑さを抽象化し、Java開発者が基礎となる構文を直接扱うことなく、PDFドキュメントを操作できるようにします。

定義

PDFTemplateBuilderは、Apache PDFBoxのPDModelレイヤーの一部であり、PDFドキュメントの高レベルオブジェクトモデルを表現します。PDF構文やプリミティブオブジェクトを直接扱う低レベルAPIとは異なり、PDFTemplateBuilderはドキュメント構造を扱うためのオブジェクト指向インターフェースを提供します。このクラスはビルダーパターンの実装として機能し、ページツリー、リソースディクショナリ、注釈配列、AcroFormフィールドなどのドキュメント要素にアクセスして操作するメソッドを提供することで、PDFテンプレートの構築と変更を容易にします。このクラスは、生のCOS(Carousel Object System)オブジェクトよりも高い抽象化レベルで動作し、Javaオブジェクトと ( 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構造との間で変換を行います。

全投稿を閲覧 gdoc_arrow_right_alt

PDFTemplateCreator

概要

PDFTemplateCreatorは、Apache PDFBoxのPDModelパッケージに含まれる高レベルAPIクラスで、 ( 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コア要素の読み取り、作成、変更を可能にします。PDFTemplateCreatorは、基盤となるPDF仕様に対するJavaベースの抽象化レイヤーとして機能し、複雑な文書操作タスクを簡素化します。

定義

PDFTemplateCreatorは、Apache PDFBoxのPDModel(Portable Document Model)APIの一部であり、オブジェクト指向設計の原則に従ってPDFオブジェクトをJavaクラスとして表現します。PDFの構文や構造と直接やり取りする必要がある低レベルのPDF操作とは異なり、PDFTemplateCreatorは開発者にとって使いやすいインターフェースを提供し、プログラマティックにPDF文書を扱えるようにします。

このクラスは文書オブジェクトレベルで動作します。つまり、生のPDFストリームやディクショナリではなく、PDPage、PDResources、PDAnnotation、PDAcroFormオブジェクトなどの構造化されたコンポーネントを扱います。この抽象化により、開発者は ( 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ファイル形式仕様の詳細ではなく、ビジネスロジックに集中できます。

全投稿を閲覧 gdoc_arrow_right_alt

PDFTemplateStructure

概要

PDFTemplateStructureは、Apache PDFBoxのPDModel APIにおける高レベルクラスであり、 ( 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文書の基本構造をプログラムで読み取りおよび変更するためのアクセス手段を開発者に提供します。このクラスは、低レベルのCOS(Carousel Object System)モデルの上に抽象化レイヤーとして機能し、ページ、リソース、注釈、インタラクティブフォーム、その他のPDFコンポーネントを操作するためのオブジェクト指向メソッドを提供します。PDFの生成、操作、アクセシビリティ向上に取り組むJava開発者にとって不可欠なクラスです。

定義

PDFTemplateStructureは、Apache PDFBoxライブラリ内のJavaクラスであり、PDFファイルの文書構造階層をカプセル化します。PDFプリミティブオブジェクト(辞書、配列、ストリーム)を直接扱う低レベルのCOSDocumentクラスとは異なり、PDFTemplateStructureは、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 ) で説明されている論理的なコンポーネントにマッピングされるセマンティックインターフェースを提供します。開発者は、手動で辞書を操作するのではなく、直感的なJavaメソッドを使用して、ページツリー、リソース辞書、注釈配列、フォームフィールドなどのPDF要素を操作できます。このクラスは、視覚的な出力ではなく文書構造とメタデータに焦点を当てる点でレンダリング重視のAPIとは異なり、 ( 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/ ) で説明されているTagged PDF構造の操作に特に有用です。

全投稿を閲覧 gdoc_arrow_right_alt

PDFTextStripper

概要

PDFTextStripperは、Apache PDFBoxのPDModel API内の高レベルJavaクラスで、開発者がPDFドキュメントからテキストコンテンツを抽出できるようにします。このクラスは、ドキュメント全体または特定のページ範囲からテキストを読み取るメソッドを提供し、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 ) で定義された視覚的なテキスト要素をアクセス可能な文字列形式に変換します。PDFTextStripperは、テキスト抽出タスクにおいてPDFBoxで最も一般的に使用されるコンポーネントの1つです。

定義

PDFTextStripperは、PDFドキュメントのコンテンツストリームを走査し、テキスト表示オペレーターを解釈して文字データを抽出する機能を実装する具象Javaクラスです。PDF構文の手動解析を必要とする低レベルAPIとは異なり、PDFTextStripperはテキストの配置、フォントエンコーディング、文字マッピングの詳細を読み取る複雑さを抽象化します。このクラスはPDFStreamEngineを拡張し、ページ範囲、ソートモード、行区切り文字、記事スレッド処理など、抽出動作の設定可能なオプションを提供します。PDFTextStripperは、PDFTextStripperByArea(特定の矩形領域からテキストを抽出)やAccessiblePDFTextStripper(Tagged PDF構造 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) を活用してより正確な抽出を行う)とは異なります。

全投稿を閲覧 gdoc_arrow_right_alt

PDFTextStripperByArea

概要

PDFTextStripperByAreaは、Apache PDFBoxライブラリに含まれる特殊なクラスで、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 ) で概説されている構造要件に従う文書など、テキストの位置とレイアウトが重要な構造化文書を扱う際に特に有用です。

定義

PDFTextStripperByAreaは、Apache PDFBoxの高レベルPDModel API内のJavaクラスで、領域ベースのテキスト抽出機能を提供します。このクラスは、開発者が名前付き矩形領域(java.awt.Rectangleオブジェクトを使用)を定義し、その特定の領域からのみテキストを抽出できる点で、標準のPDFTextStripperクラスとは異なります。このクラスは複数の定義済み領域を同時に保持できるため、単一のページ処理パスで複数のエリアから効率的に抽出できます。各領域は開発者が割り当てた文字列名で識別されるため、ページの異なる部分から抽出されたテキストの整理と取得が容易になります。このアプローチは、空間フィルタリングなしに文書の順序でコンテンツを処理するストリームベースまたは全ページ抽出方式とは対照的です。

重要性

構造化または半構造化PDFを扱う開発者にとって、PDFTextStripperByAreaは、無関係なテキストを解析することなく既知の位置からコンテンツを抽出するという重要な課題を解決します。これは、標準化されたフォーム、請求書、領収書、またはレポートなど、特定のデータフィールドが予測可能な座標に表示されるアプリケーションの処理に不可欠です。このクラスは、目的のコンテンツを分離するための後処理フィルタや複雑なパターンマッチングの必要性を排除することで、テキスト抽出ワークフローの複雑さを大幅に軽減します。 ( 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を扱う場合、領域ベースの抽出は、空間的検証手法を提供することで論理構造解析を補完できます。この二重アプローチにより、特に一貫性のないタグ付けがある文書や、空間的位置がバックアップ検証メカニズムとして機能する場合に、より堅牢なデータ抽出が保証されます。

全投稿を閲覧 gdoc_arrow_right_alt

PDFunction

概要

PDFunctionは、Apache PDFBoxライブラリのPDModel APIに含まれるJavaクラスで、 ( 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におけるファンクションとは、入力値を出力値にマッピングする数学的関係を定義するもので、カラー変換、シェーディングパターン、トランスファーファンクションなどに広く使用されます。PDFunctionクラスは、開発者がこれらのファンクションオブジェクトをプログラムでPDF文書内で読み取り、評価し、操作するための高レベルメソッドを提供します。

定義

PDFunctionは、Apache PDFBoxにおける抽象基底クラスで、 ( 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ファンクションとは、1つ以上の入力値(定義域)を受け取り、1つ以上の出力値(値域)を生成する数学的演算です。PDFunctionクラス階層には、PDF標準で定義されている異なるファンクションタイプを表現する複数の具象実装が含まれます:PDFunctionType0(サンプルファンクション)、PDFunctionType2(指数補間)、PDFunctionType3(ステッチファンクション)、PDFunctionType4(PostScript計算機ファンクション)。

全投稿を閲覧 gdoc_arrow_right_alt

PDFunctionType0

概要

PDFunctionType0は、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 ) で定義されているサンプル関数(Type 0関数)を表すApache PDFBoxのクラスです。このクラスはPDFBoxの高レベルPDModel APIの一部であり、サンプル値のテーブルを使用して任意の数学的関係を定義する関数を扱うためのメソッドを提供します。サンプル関数は、色変換、シェーディングパターン、および離散的なデータポイント間の補間を必要とするその他の操作において、PDF文書で一般的に使用されます。

定義

PDFunctionType0は、Apache PDFBoxライブラリ(パッケージorg.apache.pdfbox.pdmodel.common.function)のJavaクラスで、 ( 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 ) で規定されているType 0関数を実装します。Type 0関数は、サンプル関数とも呼ばれ、明示的な数式ではなくサンプル値のテーブルを通じて数学的関数を表現します。この関数は、線形補間または3次補間を使用してこれらのサンプル間を補間することで、入力値を評価します。

全投稿を閲覧 gdoc_arrow_right_alt

PDFunctionType2

概要

PDFunctionType2は、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 ) で定義されている指数補間関数を表すApache PDFBoxのクラスです。この関数タイプは、入力値のセットに対して指数補間を使用して出力値を計算することで、滑らかな色遷移やシェーディング効果を実装します。PDFunctionType2は、PDFのシェーディングパターン、色変換、および連続的な数学的補間を必要とするその他のレンダリング操作で一般的に使用されます。

定義

PDFunctionType2は、Apache PDFBoxのPDModel API内のJavaクラスで、 ( 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 ) で定義されているType 2関数に対応します。Type 2関数は指数補間を実行し、次の式に基づいて出力値を計算します:f(x) = C0 + x^N × (C1 - C0)。ここで、xは入力値(0.0から1.0の間)、Nは指数、C0とC1は関数の出力範囲の端点です。

全投稿を閲覧 gdoc_arrow_right_alt

PDFunctionType3

概要

PDFunctionType3は、Apache PDFBoxライブラリにおいて、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 ) で定義されているType 3(stitching)関数を表現するクラスです。この高レベルPDModel APIクラスにより、開発者はstitching関数をプログラム的に読み取り、作成、変更することができます。stitching関数は、複数のサブ関数を組み合わせて、指定されたドメイン区間にわたる単一の連続関数を作成するために使用されます。Type 3関数は、シェーディングパターンや色変換などのPDFレンダリング操作で一般的に使用されます。

定義

PDFunctionType3は、PDF仕様で定義されているType 3関数オブジェクトのJavaクラス実装です。stitching関数とも呼ばれるType 3関数は、より単純な関数(Type 0、2、または4)の配列を組み合わせて、単一のより複雑な関数を作成する点で、他のPDF関数タイプとは異なります。stitching関数は、そのドメインをサブ区間に分割し、各サブ区間を構成要素となるサブ関数の1つにマッピングします。これにより、異なる入力範囲に対して異なる数学的動作が適用される、区分的に定義された関数を作成できます。

ルックアップテーブルを使用するType 0(sampled)関数、多項式補間を実行するType 2(exponential interpolation)関数、またはPostScriptのような式を使用するType 4(PostScript calculator)関数とは異なり、Type 3関数は複数のサブ関数を調整するコンテナとして機能します。PDFunctionType3クラスは、サブ関数の配列、ドメイン分割を定義する境界値、および各サブ関数の固有ドメインにサブドメインをマッピングするエンコード配列にアクセスするためのメソッドを提供します。

全投稿を閲覧 gdoc_arrow_right_alt