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

PDFRenderer

PDFRendererは、Apache PDFBoxのPDModel APIにおける高レベルクラスで、開発者がPDFページをプログラム的にラスター画像に変換できるようにします。

キーワード: pdfrenderer, PDFRenderer

概要

PDFRendererは、Apache PDFBoxのPDModel APIにおける高レベルクラスで、開発者がPDFページをプログラム的にラスター画像に変換できるようにします。このレンダリング機能は、ネイティブなPDFビューアが利用できない環境でPDFコンテンツを表示する必要がある場合や、プレビューサムネイルを生成する際に不可欠です。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構造の読み取りと変更のための包括的なツールを提供していますが、PDFRendererは特にこれらの構造をPNGJPEG、BufferedImageオブジェクトなどの画像形式に視覚的にレンダリングすることを担当します。

定義

PDFRendererは、Apache PDFBoxのorg.apache.pdfbox.renderingパッケージ内のJavaクラスで、PDFページをビットマップ画像に変換します。PDDocumentオブジェクトを入力として受け取り、指定された解像度(DPI)で個々のページまたはページ範囲をレンダリングするメソッドを提供します。PDFオブジェクト構造を直接操作するPDFBoxの低レベルPDF操作クラスとは異なり、PDFRendererはプレゼンテーション層で動作し、コンテンツストリーム、フォント、グラフィックスオペレータ、カラースペースを解釈してピクセルベースの出力を生成します。これは、コンテンツ書き込みに使用されるPDPageContentStreamやドキュメントレベルの操作に使用されるPDocumentなどのクラスとは異なり、PDFRendererはコンテンツの変更やドキュメントの組み立てではなく、読み取り専用の可視化のために特別に設計されています。

重要性

PDFワークフローを構築する開発者にとって、PDFRendererは重要な統合上の課題を解決します。多くのWebアプリケーションでは、ブラウザネイティブのPDFビューアやサードパーティプラグインに依存せずにPDFコンテンツを表示する必要があり、PDFRendererはサーバーサイドで画像プレビューを生成し、標準のHTML imgタグを通じて配信できるようにします。これは、ドキュメント管理システム、ワークフロー承認インターフェース、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を扱う場合、レンダリング機能はタグ付きコンテンツ構造がエンドユーザーに正しく視覚化されることを検証するのに役立ちます。

仕組み

PDFRendererは、各ページがどのように表示されるべきかを定義するPDFコンテンツストリーム命令を処理することで動作します。renderImage(int pageIndex)renderImageWithDPI(int pageIndex, float dpi)などのメソッドを呼び出すと、このクラスは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機能を処理します。DPIパラメータは出力画像の解像度を制御します—DPI値が高いほど鮮明な画像が生成されますが、より多くのメモリと処理時間を消費します。結果として得られるBufferedImageは、JavaのImageIOフレームワークを使用して標準的な画像形式にエンコードできます。Tagged PDFの場合、レンダラーは視覚的なコンテンツに焦点を当て、論理構造によって定義された外観を保持しますが、レンダリングプロセス中に基礎となるタグツリーを直接公開することはありません。

関連用語

  • PDDocument – PDFドキュメントをメモリ内で表現するApache PDFBoxのコアクラスで、読み込み、保存、ドキュメントコンポーネントへのアクセスのためのメソッドを持つ
  • PDPage – PDFドキュメント内の単一ページを表すクラスで、ページの寸法、リソース、コンテンツストリームを含む
  • PDPageContentStream – グラフィックスオペレータとテキスト配置コマンドを通じてPDFページに新しいコンテンツを書き込むために使用されるクラス
  • Content Stream – ページに描画されるグラフィカルコンテンツを記述するPDFオペレータとオペランドのシーケンス
  • BufferedImage – アクセス可能なピクセルデータを持つ画像を表すJava AWTクラスで、PDFRendererの出力形式として一般的に使用される

出典

(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
(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