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

PDPostScriptXObject

PDPostScriptXObjectは、Apache PDFBox PDModel APIのクラスで、PDF文書構造内のPostScript XObjectを表現します。

キーワード: pdpostscriptxobject, PDPostScriptXObject

概要

PDPostScriptXObjectは、Apache PDFBox PDModel APIのクラスで、PDF文書構造内のPostScript XObjectを表現します。PostScript XObjectは ( 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 ) で定義されている外部オブジェクトで、PostScript言語のフラグメントを含み、レガシーPostScriptコンテンツをPDFファイル内に埋め込むことができます。このクラスは、Java開発者がこのようなレガシーコンテンツを含むPDF文書を扱う際に、PostScript XObjectの読み取り、操作、作成にプログラム的にアクセスする手段を提供します。

定義

PDPostScriptXObjectは、Apache PDFBoxのPDModelパッケージに含まれる高レベルJavaクラスで、PDF仕様で定義されているPostScript XObjectをカプセル化します。PostScript XObjectは、外部オブジェクト(XObject)の特定の型であり、PostScript言語命令のストリームを含み、PDFコンテンツストリームから呼び出すことができます。より一般的なForm XObject(PDFormXObject)やImage XObjectPDImageXObject)とは異なり、PostScript XObjectは、PDFグラフィックスオペレーターやラスター画像データではなく、PostScriptコードを明確にカプセル化します。

このクラスは、低レベルのCOSDictionaryオブジェクトを高レベルの開発者フレンドリーなインターフェースでラップするという、PDFBoxの標準的なパターンを実装しています。PostScript XObjectは、XObject辞書内のSubtypeエントリが「/PS」であることで識別され、主にPostScriptワークフローとの後方互換性や、レガシーPostScriptコンテンツを埋め込む場合に使用されます。

重要性

PDPostScriptXObjectの理解は、レガシーPostScriptコンテンツを含むPDF文書や、古い文書管理システムとのインターフェースを扱う開発者にとって重要です。PostScript XObjectは、ネイティブのPDFグラフィックスオペレーターと透明性機能に大きく取って代わられたため、現代のPDFワークフローではますます珍しくなっていますが、レガシー文書、特にPostScriptベースの印刷システムから生成された文書や古い文書形式から変換された文書には依然として現れます。

PDF処理ツール、文書コンバーター、またはアーカイブシステムを構築する開発者にとって、PostScript XObjectの適切な処理は、PDFファイルの読み取り、変更、または変換時の完全な文書の忠実性を保証します。これらのオブジェクトを無視したり不適切に処理したりすると、コンテンツの欠落、レンダリングエラー、または文書保存基準への準拠の失敗を招く可能性があります。

仕組み

PDPostScriptXObjectは、PDFBoxのオブジェクト階層のベースクラスであるPDXObjectクラスを拡張し、PostScriptストリームコンテンツと関連プロパティにアクセスするメソッドを提供します。このクラスは、実際のPostScriptコードを含む基礎となるCOSStreamオブジェクトをラップし、型安全な方法でPDFBox APIを通じて公開します。

PDPostScriptXObjectを使用する際、開発者は以下のことができます:

  • PostScriptストリームコンテンツをバイト配列または入力ストリームとして取得
  • Level1フラグ(PostScript Language Level 1互換性を示す)などのメタデータプロパティにアクセス
  • オブジェクトの辞書に追加パラメータを問い合わせ
  • 適切なCOSDictionaryとストリームを構築することで、新しいPostScript XObjectをプログラム的に作成

これらのオブジェクト内のPostScriptコードは、PostScript XObjectをサポートする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 ) によれば、PostScriptフラグメントは独自のグラフィックス状態で実行され、周囲のPDFコンテンツストリームから隔離されるため、文書のレンダリング状態への意図しない副作用を防ぎます。

開発者は通常、ページのリソースコレクションを反復処理する際にPDPostScriptXObjectインスタンスに遭遇します。これらのインスタンスは、XObject辞書内の他のXObjectタイプと一緒に保存されています。

関連用語

  • PDXObject – PDFBox内のすべての外部オブジェクト(Form、Image、PostScript XObjectを含む)の抽象ベースクラス
  • PDFormXObject – PostScriptコードではなく再利用可能なPDFコンテンツストリームを含むForm XObjectを表すクラス
  • PDImageXObject – PDF文書内のラスター画像データをカプセル化するImage XObjectのクラス
  • PDResources – PDFページまたはフォームのリソース辞書を表すクラスで、XObject、フォント、その他のリソースのコレクションを含む
  • COSStream – PDPostScriptXObjectがラップするPDFストリームオブジェクトを表すPDFBoxの低レベルクラス

出典

(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