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

CloseFillEvenOddAndStrokePath

概要

CloseFillEvenOddAndStrokePathは、Apache PDFBox APIのクラスで、現在のパスを閉じる、偶奇規則を使用して塗りつぶす、輪郭を描画するという3つの操作を組み合わせた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 ) で定義されている「b*」演算子を実装しており、塗りつぶし領域と描画領域を正確に制御した複雑なグラフィックスのレンダリングに不可欠です。開発者は、単一の操作で洗練された視覚効果を持つPDFコンテンツを効率的に作成できます。

定義

CloseFillEvenOddAndStrokePathは、Apache PDFBoxのコンテンツストリーム処理アーキテクチャ内の具象実装クラスで、PDFの「b*」グラフィックス演算子をカプセル化します。この演算子は、3つの連続した操作をアトミックに実行します。現在の点から開始点まで直線を追加してパスを閉じ、偶奇規則を使用してパスの「内側」となる領域を判定して囲まれた領域を塗りつぶし、現在のグラフィックス状態パラメータに従ってパスの輪郭を描画します。

偶奇規則は、非ゼロワインディング数規則を使用する対応する操作とこの操作を区別します。偶奇規則では、ある点から引いた光線がパスセグメントを奇数回交差する場合、その点はパスの内側にあると見なされます。セグメントの方向は考慮されません。これにより、偶奇規則は、自己交差や複雑にネストされた図形を持つパスに特に有用です。このような場合、非ゼロワインディング規則では予期しない結果が生じる可能性があります。

PDFBoxのアーキテクチャでは、このクラスは基本演算子クラスを拡張しており、既存の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 ) で指定された最終的なレンダリング外観を生成します。

全投稿を閲覧 gdoc_arrow_right_alt

CloseFillNonZeroAndStrokePath

概要

CloseFillNonZeroAndStrokePathは、複雑なグラフィックスをレンダリングするために使用される特定のPDFパス描画演算子を表すApache PDFBox APIクラスです。この演算子は、非ゼロワインディング数規則を使用したパスの塗りつぶしと、パス境界のストローク(輪郭描画)という2つの操作を組み合わせたものです。これは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 ) で定義されている「b」演算子に対応しており、内部の塗りつぶしと明確な輪郭の両方を持つ視覚的に区別される図形を作成するために不可欠です。

定義

CloseFillNonZeroAndStrokePathは、Apache PDFBoxライブラリ内のJavaクラスであり、PDFの「b」演算子の機能をカプセル化しています。この演算子は、3つの異なる操作を順次実行します。まず、現在の点から開始点まで直線を引くことで現在のパスを閉じ、次に非ゼロワインディング数規則を使用して囲まれた領域を塗りつぶし、最後に現在のストロークパラメータを使用してパスの輪郭をストロークします。

このクラスは、類似のパス演算子といくつかの点で異なります。描画前にパスを閉じないFillNonZeroAndStrokePath(「B」演算子)とは異なり、CloseFillNonZeroAndStrokePathは開いているサブパスを自動的に閉じます。また、塗りつぶしに偶奇規則を使用する演算子とも異なり、パスの「内側」に該当する領域を判定するために非ゼロワインディング数規則を明示的に採用します。この違いは、自己交差するパスや、ワインディング規則がレンダリング結果に大きく影響する複雑な図形を扱う際に特に重要です。

重要性

PDF生成や操作を行う開発者にとって、CloseFillNonZeroAndStrokePathを理解することは、正確な視覚的外観を持つプロフェッショナル品質のグラフィックスを作成するために不可欠です。この演算子により、塗りつぶされた内部と明確な境界線の両方を持つ図形を作成できます。これは、技術図面、フォームフィールド、ボタン、装飾要素において一般的な要件です。

全投稿を閲覧 gdoc_arrow_right_alt

ClosePath

概要

ClosePathは、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 ) で定義されているPDF仕様の基本的なコンポーネントであり、正確なベクターグラフィックスのレンダリングを可能にします。

定義

ClosePathは、Apache PDFBoxのコンテンツストリーム処理フレームワーク内で、PDFのhオペレーター(サブパスを閉じる)を実装したJavaクラスです。呼び出されると、現在の点から現在のサブパスの開始点まで直線を追加し、サブパスを閉じた状態としてマークします。これは、単に開始点まで線を描くのとは異なります。なぜなら、閉じたパスは、ストロークおよび塗りつぶし操作に対して特定の影響を持つためです。特に、接続点でラインジョインがレンダリングされる場合に顕著です。ClosePathオペレーターは新しいサブパスを開始せず、代わりに現在のサブパスを終了し、現在の点をサブパスの開始位置に配置します。このクラスは、通常、既存のPDFコンテンツストリームを解析する際、または PDF ドキュメント内でベクターグラフィックスをプログラムで構築する際に使用されます。

重要性

PDF生成または操作を行う開発者にとって、ClosePathの理解は、適切に形成されたベクターグラフィックス、特に矩形、多角形、複雑なパスなどの閉じた図形を作成するために不可欠です。必要な場合にパスを閉じないと、特定のラインジョインスタイルでパスをストロークする場合や、複雑な図形を塗りつぶす場合に、視覚的なアーティファクトが発生する可能性があります。閉じたパスと開いたパスの違いは、塗りつぶしルールの適用方法や、図形の角でのラインジョインの表示方法に影響します。さらに、 ( 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を扱う場合、適切なパス構築は正確なコンテンツ表現と構造に貢献します。PDFBoxを使用してグラフィカルコンテンツを抽出または変更する開発者は、元のドキュメントの視覚的外観を正確に解釈し保持するために、ClosePath操作を認識する必要があります。

全投稿を閲覧 gdoc_arrow_right_alt

Concatenate

概要

ConcatenateはApache PDFBoxライブラリのユーティリティクラスで、開発者が複数のPDF文書をプログラムで1つの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を結合するための、わかりやすいAPIを提供します。ConcatenateクラスはPDFのバッチ処理や文書組み立てタスクにおいて、PDFBoxで最も一般的に使用されるユーティリティの1つです。

定義

Apache PDFBoxのConcatenateクラスは、PDF文書の結合に特化して設計された高レベルAPIコンポーネントです。ページオブジェクト、コンテンツストリーム、文書カタログを直接扱う必要がある低レベルのPDF操作とは異なり、Concatenateはこれらの複雑さをシンプルなメソッド呼び出しに抽象化します。このクラスは、ページツリーの結合、リソースの統合、 ( 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ファイルを結合する際の技術的な詳細を処理します。Concatenateクラスは、リソースの競合、ページの順序、文書メタデータの統合を自動的に管理する直感的で宣言的なインターフェイスを提供することで、他の結合アプローチとは異なります。

全投稿を閲覧 gdoc_arrow_right_alt

ContentStreamWriter

概要

ContentStreamWriterは、Apache PDFBoxのユーティリティクラスで、PDFページへのコンテンツストリーム操作を書き込むための便利な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コンテンツストリームを構築するために必要な低レベルのバイト操作を抽象化し、開発者がより直感的なJavaインターフェースを使用してプログラム的にページコンテンツを追加または変更できるようにします。

定義

ContentStreamWriterは、Apache PDFBoxライブラリ内のJavaクラスで、PDFコンテンツストリームオペレータを書き込むためのロジックをカプセル化します。コンテンツストリームは、PDFコンテンツストリーム言語で記述された命令のシーケンスで、テキスト、グラフィックス、画像をページ上でどのようにレンダリングするかを記述します。生のPDFオペレータ(テキスト操作用のBTTfTjET、パス描画用のmlSなど)を使用してバイト配列や文字列を手動で構築するのではなく、ContentStreamWriterは適切にフォーマットされたコンテンツストリーム構文を生成する型安全なメソッドを提供します。

このクラスは、PDPageContentStreamの直接使用とは異なり、より低レベルで動作し、開発者にコンテンツストリーム構築に対するより細かい制御を提供します。PDPageContentStreamはページにコンテンツを追加するための典型的な高レベルインターフェースですが、ContentStreamWriterは、コンテンツストリームのデータ構造を直接操作する場合、高度な操作を実行する場合、またはオペレータシーケンスを正確に制御する必要があるカスタムレンダリングロジックを実装する場合に有用です。

重要性

PDF生成、操作、またはアクセシビリティ修正タスクに取り組む開発者にとって、ContentStreamWriterはいくつかの重要な利点を提供します。まず、オペレータのフォーマット、パラメータのエンコード、シーケンスの検証を自動的に処理することで、コンテンツストリーム構文の正確性を保証します。これにより、検証に失敗したり、正しくレンダリングされない不正なPDFを生成するリスクが軽減されます。

全投稿を閲覧 gdoc_arrow_right_alt

COSArray

概要

COSArrayは、Apache PDFBoxの中核となるクラスで、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 ) で定義されているオブジェクト型に直接マッピングされるCOS(Carousel Object Structure)モデルの一部です。COSArrayは、PDF配列オブジェクトを操作するためのメソッドを提供し、開発者がプログラムによってPDFオブジェクトの順序付きコレクションを読み書きできるようにします。

定義

COSArrayは、 ( 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配列データ型を実装するJavaクラスです。PDF仕様において、配列は、数値、文字列、辞書、他の配列、間接参照など、あらゆるPDFオブジェクト型を含むことができる順序付きのオブジェクトコレクションです。COSArrayクラスは、PDFBox内のすべてのCOSオブジェクトの基礎となる抽象クラスCOSBaseを拡張しています。

全投稿を閲覧 gdoc_arrow_right_alt

COSArrayList

概要

COSArrayListは、Apache PDFBoxにおけるJavaクラスで、JavaのList標準インターフェースと、PDFオブジェクトを表現するために使用される低レベルのCarousel Object Structure(COS)モデルとの橋渡しを提供します。COSは、 ( 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の配列構造を、使い慣れたJavaコレクション操作で扱いながら、基盤となるPDFオブジェクトモデルへの直接アクセスを維持することができます。

定義

COSArrayListは、JavaのListインターフェースの特殊な実装で、COSArrayオブジェクトをラップします。COSArrayは、 ( 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配列のPDFBox表現です。メモリ内にJavaオブジェクトを格納する標準的なJavaコレクションとは異なり、COSArrayListはPDFのネイティブオブジェクト構造への直接的な接続を維持します。開発者がCOSArrayListに要素を追加、削除、または変更すると、これらの操作は直ちに基盤となるCOSArrayに反映され、その後PDFファイルのバイトストリームに直接シリアル化できます。

全投稿を閲覧 gdoc_arrow_right_alt

COSBase

概要

COSBaseは、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 ) で定義されているCarousel Object Structure(COS)の低レベルオブジェクトを表現します。このクラスは、PDFBoxにおけるすべてのPDFプリミティブオブジェクトおよび複合オブジェクトの基礎となり、PDF文書を構成する生のデータ構造をJavaで表現します。オブジェクトレベルでPDF操作を行う開発者にとって、COSBaseの理解は不可欠です。

定義

COSBaseは、Apache PDFBoxライブラリにおける抽象Javaクラスで、すべてのCOS(Carousel Object Structure)オブジェクトの親クラスとして機能します。 ( 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 ) で定義されているCOSモデルは、PDF文書の最も基本的なレベルにおける基礎構造を表します。COSBaseには、COSDictionary(辞書オブジェクト)、COSArray(配列)、COSStream(ストリームオブジェクト)、COSString(テキスト文字列)、COSIntegerおよびCOSFloat(数値)、COSName(名前オブジェクト)、COSBoolean(真偽値)、COSNull(nullオブジェクト)などの具象サブクラスがあります。

全投稿を閲覧 gdoc_arrow_right_alt

COSBoolean

概要

COSBooleanは、Apache PDFBoxにおける低レベルのクラスで、Carousel Object Structure(COS)モデル内でブール値を表現します。COSフレームワークの一部として、COSBooleanは ( 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のオブジェクト構造の基盤を形成するプリミティブなブールオブジェクト(truefalse)への直接アクセスを提供します。このクラスはJavaのブール値のラッパーとして機能し、PDFBoxがPDF文書を最も基本的なレベルで操作できるようにします。

定義

COSBooleanは、Apache PDFBoxのCOS(Carousel Object Structure)モデルにおけるいくつかのプリミティブオブジェクトタイプの1つで、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 ) で定義されている低レベルのオブジェクト構造を反映しています。複雑な文書要素を表現する高レベルのPDFBoxクラスとは異なり、COSBooleanは2つのブール値(truefalse)のみを扱います。このクラスはシングルトンパターンを実装しており、これらの値を効率的に表現するための2つの静的インスタンス(COSBoolean.TRUECOSBoolean.FALSE)を提供します。この設計により、不要なオブジェクト生成を防ぎ、参照の等価性を使用してブール値の比較を実行できるようにします。COSBooleanは抽象クラスCOSBaseを拡張しており、PDFBoxオブジェクト階層内のCOSName、COSInteger、COSString、COSDictionary、COSArrayなどの他のCOSオブジェクトと互換性があります。

全投稿を閲覧 gdoc_arrow_right_alt

COSDictionary

概要

COSDictionaryは、Apache PDFBoxにおける中核的なJavaクラスで、Carousel Object Structure(COS)モデル内の辞書オブジェクトを表現します。COSモデルは、 ( 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ファイル構造をPDFBoxで実装したものです。このクラスは、ページオブジェクト、フォント記述子、メタデータ構造など、PDFドキュメントの構成要素となる基本的なキーと値のペアに直接アクセスする機能を提供します。高レベルAPIが提供する範囲を超えて、PDFファイルを詳細なレベルで操作する必要がある開発者にとって、COSDictionaryの理解は不可欠です。

定義

COSDictionaryは、Apache PDFBoxライブラリにおけるJavaクラスで、PDFの辞書オブジェクト、つまりキーがPDF名であり値が任意のPDFオブジェクト型となるキーと値のペアのコレクションを表現します。COS(Carousel Object Structure)レイヤーの一部として、COSDictionaryは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 ) で記述されているオブジェクト構造を直接反映します。PDPageやPDFontなど、便利でドメイン固有のメソッドを提供するPDFBoxの高レベルPDModelクラスとは異なり、COSDictionaryは意味的な解釈を行わず、基礎となるPDFデータ構造への生のアクセスを提供します。

全投稿を閲覧 gdoc_arrow_right_alt