PDFium Delphi Component 概要
| 製品 | PDFium Delphi Component — Delphi、C++Builder、Lazarus 向けのプロフェッショナルなソースコード付き PDF アプリケーション SDK |
|---|---|
| 最適な用途 | ネイティブアプリケーションに高性能な PDF リーダー、レビューツール、ドキュメントワークフロー、アクセシブルな読み上げ体験を実装する用途 |
| IDE 対応 | Delphi および C++Builder XE5 から 13.1 Florence(Win32、Win64)、Lazarus / Free Pascal LCL |
| エンジンの役割 | PDFium — Chromium の PDF 表示を支えるオープンソースエンジンファミリー — がページのレンダリングとドキュメント読み込みを担当。V8 / XFA ランタイム DLL はオプション |
| アプリケーション層 | 55 ユニットにわたる 115,000 行の Object Pascal、TPdf の public メンバー 475 個と TPdfView の 152 個。PDFium が提供しないビューア、シリアライズ、署名、暗号化、規格、アクセシビリティの各層を含みます |
| 電子署名 | PAdES B-B / B-T / B-LT / B-LTA 署名(ETSI EN 319 142-1)、CMS / CAdES コンテナ、RFC 3161 タイムスタンプ、Document Security Store |
| 暗号化 | PDF 2.0 AES-256 の書き込み対応(ISO 32000-2)、ISO/TS 32003 AES-GCM、ISO/TS 32004 PDF MAC。純 Pascal の AES / SHA / HMAC / ASN.1 スタック上に実装 |
| 規格 | PDF/A(パート 1-4)、PDF/X(X-6 まで)、PDF/UA、PDF/E、PDF/VT(VT-2s まで)、PDF/R の各バリデーター。保存ヘルパーとマーカー挿入ヘルパー付き |
| PDF 出力 | 自社実装のシリアライザー:線形化された Fast Web View、オブジェクトストリームと相互参照ストリームのパッキング、変更オブジェクトのみの増分リビジョン、検証済みの修復コピー |
| リーダー用アセット | すぐに実行できる 34 個のプロジェクト:プロ仕様リーダーのリファレンス、インタラクションラボ、アクセシビリティワークベンチ、規格・プリフライトツール、CJK および RTL テキストラボ |
| 大容量ファイル | オンデマンドアクセスにより、数 GB のドキュメントでも事前にメモリへ全体を読み込む必要がありません。ページの並列レンダリングと上限付きの作業ストレージにも対応 |
| ソースコード | すべてのライセンスに Object Pascal の完全なソースコードが付属 |
| ライセンス | ロイヤルティ不要の買い切りライセンス。ティアに応じて $350-$4200、更新は定価の 40% |
| 現在のバージョン | 3.51.0 (2026-08-16) |
| 評価版 | 無償の評価パッケージをダウンロード |
エンジンが終わり、製品が始まる場所
PDFium はレンダラーです。ページを描画し、テキストを抽出し、既存の構造を読み取ります。その役割はそこまでです。署名機能も、暗号化のライターも、規格バリデーターも、リニアライザーも、増分リビジョンのライターも、XFDF や XMP のサポートもありません。PDFium の C API へのバインディングは、その制約をそのまま受け継ぎます。
PDFium Delphi Component は、55 ユニット、約 115,000 行の Object Pascal を提供します。そのうち 62,000 行以上は、PDFium API にまったく対応物が存在しない 36 ユニットにあります——暗号、署名、暗号化、6 種類の規格バリデーター、PDF シリアライザー、XFDF、XMP、レイアウト、テキストシェーピングです。いずれも Pascal で記述し、ISO、ETSI、IETF、FIPS の公開条項に照らして検証したうえで、すべてのライセンスにソースコードとして同梱しています。
| 機能領域 | PDFium エンジン | PDFium Delphi Component による実装 |
|---|---|---|
| デジタル署名 | 既存の署名辞書の読み取りのみ | PAdES B-B / B-T / B-LT / B-LTA 署名、RFC 5652 準拠の CMS / CAdES SignedData、RFC 3161 タイムスタンプクライアント、DSS と VRI の埋め込み、Windows CNG キー(RSA-PSS、PKCS#1、ECDSA)、秘密鍵がサービスから出ることのないリモート / HSM 署名、証明書チェーンの信頼性検証 |
| 暗号化 | 暗号化ファイルを開けるが、暗号化して書き出せない | ISO 32000-2 AES-256(V5 / R6 アルゴリズム 2.B の鍵導出)、ISO/TS 32003 AES-GCM、ISO/TS 32004 PDF MAC、ストリームと文字列の完全な暗号化スイープ |
| 暗号プリミティブ | 公開されていない | 純粋な Object Pascal による AES-128/256 の CBC と GCM、SHA-256/384/512、SHA-3、HMAC、ASN.1 DER のリーダーとライター。FIPS 197 と FIPS 180-4 のテストベクターで検証済み |
| 規格適合 | バリデーターは一切なし | PDF/A パート 1〜4、PDF/X(X-6 まで)、PDF/UA-1、PDF/E-1、PDF/VT-1/2/2s、PDF/R-1 の条項レベルのバリデーター、マーカー埋め込み、プロファイル対応の保存ヘルパー |
| PDF シリアライズ | ファイル全体を一度に順次保存するのみ | Annex F ヒントテーブル付きのリニアライズ済み Fast Web View、オブジェクトストリームと xref ストリームのパッキング、直前の出力をバイト単位で保持する差分オブジェクトの増分リビジョン、厳格検証済みの修復コピー |
| 破損ドキュメント | 暗黙的に復旧、レポートなし | strict・compatible・recovery の読み込みポリシーと構造化された診断情報:再構築の経路、破損オフセット、矛盾するリビジョン、バジェットの状態 |
| フォームデータ交換 | XFDF や FDF の API なし | フィールド値と 18 種類の注釈サブタイプに対応した XFDF(ISO 19444-1)と FDF のインポート・エクスポート |
| メタデータ | 従来の情報辞書を読み取る | 型付きコンテナを備えた XMP パケットのリーダーとライター。すべての規格プロファイルで使用されます |
| ネットワークとスケール | バイト範囲コールバックのみで、その上の層はなし | プログレッシブなドキュメントセッション、重複排除・マージ・上限付きリトライ・キャンセルに対応した優先度付きバイト範囲スケジューラー、並列ページレンダリング、クローズ時に削除される一時ファイルへ退避する上限付き作業ストレージ |
| アプリケーション層 | C のハンドルとコールバック | 登録済みの 3 つの VCL / LCL コンポーネント、475 個の公開 TPdf メンバーと 152 個の TPdfView メンバー、ビューア状態、サムネイル、読み上げセッション、すぐに実行できる 34 個のプロジェクト |
Delphi 向けネイティブ PDF 表示とドキュメントワークフロー
PDFium Delphi Component は Delphi、C++Builder、Lazarus 向けのソースコード付き PDFium コンポーネントセットで、ネイティブ Windows デスクトップ UI 内で高速 PDF 表示、ページラスタライズ、ストリーミング読み込み、テキスト選択、検索、フォーム、注釈、印刷、プリフライトレポート、ドキュメント検査が必要なアプリケーション向けです。
大規模 PDF をほぼ即座に開く:実際の大規模ファイルテストでは、主流の PDF リーダーが最初の表示まで 20〜30 秒かかる 2.x GB の PDF を、PDFium Delphi Component ではほぼ即座に使用可能な状態にできます。
PDF の操作をアプリケーション内に統合したい場合に適しています。パッケージにはビジュアル・非ビジュアルコンポーネント、Object Pascal ソースコード、デモプロジェクト、PDFium DLL、オプションの V8 / XFA 対応ランタイム DLL、コマンドラインプリフライトサンプル、回帰テスト、ビューア統合と低レベル PDF 操作の両方向けドキュメントが含まれています。
PDFium VCL Component は Delphi XE5 ~ Delphi 13.1 Florence、C++Builder XE5 ~ C++Builder 13.1 Florence(Win32・Win64 ターゲット)に対応しています。PDFium LCL Component には LCL ワークフロー向けの Lazarus / Free Pascal パッケージファイルとデモが含まれています。
主な機能
- ビューア UI:
TPdfViewをフォームにドロップして、ズーム、回転、フィットモード、単一ページ・連続レイアウト、カバー対応スプレッド、ページシャドウ、安全なリンククリック、ユーザーテキスト選択、クリップボードへのコピー、フォームフォーカスワークフローを利用できます。 - サムネイルナビゲーション:ビューアの隣に
TPdfThumbnailViewを追加して、ホバー、選択ハイライト、クリックナビゲーション付きのスクロール可能なページサムネイルを表示できます。 - レンダリング:ページとタイルをビットマップにレンダリングし、可能な場合はゼロコピー DIB 書き込みを使用し、キャンセル可能なプログレッシブレンダリングを実行し、
RenderPagesParallelで複数ページを並列にレンダリングし、読み込んだ DLL がエクスポートする場合は低レベル Skia フックにアクセスして大きなページをレスポンシブに維持できます。 - ストリーミングと大規模ファイル:ディスク、メモリ、バイト配列、またはカスタムシーク可能ストリームからオンデマンド PDFium 読み取りで読み込むため、大規模またはリモートバックのドキュメントで事前メモリコピーが不要です。
- 大規模ファイルの起動:複数ギガバイトの PDF の確認をすぐに開始できます。ビューアはシーク可能なオンデマンド PDFium アクセスを使用するため、2.x GB のドキュメントを完全な事前読み込みを待たずにほぼ即座に使用可能な状態にできます。
- テキストと検索:ページテキストの抽出、前方・後方検索、一致のハイライト、全ページ検索リストの構築、文字の矩形・原点・角度・生成文字・フォントファミリー・ウェイト・サイズ・アセント・ディセント・埋め込みフォント状態の検査ができます。
- 構造化テキスト:
GetStructuredTextは、文字ジオメトリ、フォントメタデータ、テキストオブジェクトの識別情報、タグ付き PDF のセマンティクスから、ページ・ブロック・行・スタイル付きスパンの階層を構築します。タグを持たないドキュメントでは、物理レイアウトに基づくフォールバック順序を使用します。 - テーブル抽出:
ExtractTablesとExtractDocumentTablesは、単語ボックスと変換済みパス罫線を組み合わせて、罫線付きテーブルと空白揃えのテーブルを検出し、結合セルを保持し、信頼度をスコアリングし、ページをまたぐ継続を示し、CSV または JSON として出力します。 - HTML への意味的リフロー:
BuildReflowDocumentは、固定レイアウトの PDF を再利用可能なノードツリーに変換します。その安全な HTML 出力は、見出し、段落、リスト、図版、ページセクション、テーブルのセル結合を保持するため、レスポンシブ表示、アクセシビリティ、コンテンツの再利用に活用できます。 - フォーム:AcroForm フィールド、XFA 状態検出、オプションの V8 / XFA ヘルパー利用可能状態、選択されたフォームテキスト、フォームの元に戻す/やり直し、生成されたフォーム外観、フィールドフラグ、フラット化の操作ができます。
- フォームデータ交換:フィールド値と 18 種類の注釈サブタイプについて、XFDF(ISO 19444-1)と FDF(ISO 32000-1 §12.7.11)の両方をエクスポート・インポートできます。PDFium が API を公開していないこれらの形式を、本コンポーネント独自の注釈・フィールドモデルの上に Pascal で実装しています。
- OCR 連携:任意の認識エンジンを
IPdfOcrProviderに接続できます。定義済みのピクセル形式でページビットマップを受け取り、単語の四点座標を返すと、コンポーネントが検索可能なテキストレイヤーを書き込みます。ページ単位のステータス報告と、既存テキストのスキップにも対応しています。 - 注釈とリンク:注釈の作成・削除・カウント・検査、ページリンク・Webリンク・ブックマーク先・ドキュメント JavaScript アクション・URI / Launch リスクサーフェス・ビューアクリックイベントの処理ができます。
- ドキュメントアセンブリ:ドキュメントの作成、ページの追加・削除、ラベルまたは物理インデックスによるページ範囲のインポート、ページの移動、N アップページの構成、Form XObject としてのページ再利用、ウォーターマーク・スタンプの適用、ページコンテンツの更新、ページボックスの管理ができます。
- PDF 出力とリビジョン:ページオフセットと共有オブジェクトのヒントテーブルを備えたリニアライズ済み Fast Web View ファイルの保存、型 2 xref を完全にカバーするオブジェクトストリームへのパッキング、直前の出力をバイト単位で保持する差分オブジェクトの増分リビジョンの追記、独立した strict 読み込みで再検証してから引き渡す修復コピーの生成ができます。
- デジタル署名:PAdES ベースライン B-B、B-T、B-LT、B-LTA での署名、プロファイルが要求する署名属性を含む CMS / CAdES SignedData の構築、TSA への RFC 3161 トークン要求、証明書チェーンの Document Security Store への収集、アーカイブタイムスタンプの付与ができます。任意のドキュメントを条項レベルの PAdES チェックと証明書チェーンの信頼性検証に照らして、同期・非同期のいずれでも検証できます。
- リモート署名と HSM 署名:
PreparePadesRemoteSignatureとCompletePadesRemoteSignatureで処理を 2 段階に分割できます。アプリケーションがプレースホルダー文書と SHA-256 ダイジェストを含む可搬な署名要求を生成し、リモートサービスまたはハードウェアモジュールが分離型 CMS を返し、コンポーネントがそれを埋め込みます。秘密鍵がワークステーションに届く必要はありません。 - 暗号化と完全性:正しい R6 鍵導出とパーミッションブロックを備えた PDF 2.0 AES-256 暗号化の書き出し、必要に応じた ISO/TS 32003 AES-GCM の使用、ISO/TS 32004 PDF MAC トークンの付与ができます。AES、SHA-2、SHA-3、HMAC、ASN.1 の各プリミティブは Object Pascal で記述されており、外部 C ライブラリへの依存はありません。
- コンテンツとセキュリティ検査:画像の抽出、オブジェクトビットマップのレンダリング、オブジェクトの境界と透明度の検査、添付ファイル・メタデータ・署名・パーミッション・言語・ページラベル・ページモード・ビューア設定・タグ付き PDF 構造・ファイル識別子の読み取りができます。
- プリフライトレポート:パス、アクション必要、レビュー、優先度、問題カテゴリー、カテゴリーカウント、次のアクションフィールドを含む標準志向の監査レポートを生成し、TXT / HTML / Markdown / JSON / CSV レポートをエクスポートし、バッチ概要を実行し、レビューコピーにレポートを添付できます。
- 印刷:ページ範囲、コピー数、スケーリング設定、N アップ構成、奇数/偶数フィルタリング、グレースケール出力、ビューア設定メタデータ、両面印刷と用紙処理統合向けの
SetPdfPrintPaperHandlingDevModeを使用して印刷できます。
準拠対応 PDF ワークフロー
PDFium Delphi Component は、予測可能な PDF の引き渡し、アーカイブレビュー、印刷ワークフロー、アクセシビリティチェック、エンジニアリングドキュメント、可変データ出力、またはラスターロックされた配信が必要なチーム向けに標準志向の検証と保存 API を公開しています。
| ワークフロー | PDFium Delphi Component サポート | アプリケーションの責任 |
|---|---|---|
| PDF/A | ISO 19005 のパート 1〜4(PDF 2.0 ベースの A-4 base、A-4f、A-4e プロファイルを含む)にわたる ValidatePdfA、SaveAsPdfA、PdfAConformance。OutputIntent チェック、XMP メタデータチェック、フォント埋め込みチェック、RoleMap と ParentTree の構造チェック、Annex C の実装上限、暗号化・JavaScript 制限、プロファイル対応保存ヘルパーを備えています。 | アーカイブターゲットを選択し、正しいドキュメントメタデータとカラーデータを提供し、配信前に報告された検証問題をレビューする。 |
| PDF/X | X-1a から PDF 2.0 ベースの X-6 までを対象とする ValidatePdfX、SaveAsPdfX、PdfXConformance。OutputIntent と ICC の処理、プロファイルに応じた透明度とカラースペースの制限、TrimBox / ArtBox / BleedBox のジオメトリチェック、印刷安全プロファイルチェックを備えています。 | 対象 PDF/X プロファイル向けに本番適切な出力インテントデータ、ページジオメトリ、印刷設定を提供する。 |
| PDF/UA | ValidatePdfUa、SaveAsPdfUa、PdfUaConformance、言語・タグ付けチェック、構造ツリー検査、マークされたコンテンツのレビュー、アクセシビリティプロファイル検証。 | ソースワークフローで意味のある読み取り順序、見出し、リスト、テーブルセマンティクス、代替テキスト、ドキュメント言語を作成する。 |
| PDF/E、PDF/VT、PDF/R | ValidatePdfE、ValidatePdfVT、ValidatePdfR、対応する SaveAs... API、エンジニアリング・可変データ・ラスター向け PDF プロファイルの適合プロパティ。PDF/VT は DPart 階層、ドキュメントパートメタデータ、VT-2s のマルチパート MIME ストリームパッケージングをカバーします。PDF/E は埋め込み sRGB 出力インテントを挿入し、PDF/R はページあたり 1 ストリップ画像と許可されたエンコーディング一覧を強制します。 | プロファイルをビジネスワークフローに合わせ、選択した標準の許可された機能セット内にソースコンテンツを保つ。 |
| PAdES 署名 | SignPades、SignPadesToStream、SignPadesBytes、SaveAsPadesDss、ValidatePadesCompliance が ETSI EN 319 142-1 のベースラインレベル B-B、B-T、B-LT、B-LTA をカバーし、RFC 3161 タイムスタンプ、Document Security Store の埋め込み、ESIC 拡張マーカー、26 種類の条項レベル検証コードを備えています。SignPadesWithPdfA はアーカイブ変換と署名を 1 つのワークフローにまとめます。 | 署名証明書とそのチェーンを用意し、タイムスタンプ付きレベル向けに TSA エンドポイントを選択し、組織の保管・失効ポリシーを定める。 |
| プリフライト自動化 | FPdfPreflightReport と PreflightReportCli が PDF/A、PDF/UA、PDF/E、PDF/X、PDF/R、PDF/VT チェック向けに人間が読みやすい・機械が読みやすい概要を生成します。 | CI、配信、またはアーカイブ取り込みをブロックすべきパス、アクション必要、レビュー、問題数を決定する。 |
これらの API はコードで標準作業を可視化するよう設計されています。検証結果、プリフライト概要、保存ヘルパーにより、アプリケーションはアーカイブ・印刷・アクセシビリティパイプラインで後から失敗するファイルを無音で送信する代わりに、問題のある出力を拒否または修正できます。組み込みバリデーターはマーカーレベルと選択されたファイルレベルのチェックに焦点を当てています。正式なコンテンツレベルの認証が必要なチームは専用の検証エンジンと組み合わせる必要があります。
コンポーネントアーキテクチャ
TPdf:読み込み、ストリームアクセス、保存、レンダリング、検索、抽出、検証、フォームアクセス、ページ操作、メタデータ、添付ファイル、注釈、プリフライトレポート、PDF プロファイルワークフロー向けの非ビジュアルドキュメントコンポーネント。TPdfView:表示モード、ユーザーインタラクション、リンク、スクロール、ズーム、選択、フォームフォーカス、ハイライト、ページナビゲーション、クリップボードワークフロー向けのビジュアルビューアコンポーネント。TPdfThumbnailView:ページナビゲーション、現在ページトラッキング、ホバーフィードバック、ビューアコンパニオンレイアウト向けのスクロール可能なサムネイルサイドパネル。- ヘルパーユニット:合計 55 個の Object Pascal ユニットです。エンジンバインディングを除くと、暗号(
FPdfAes、FPdfAesGcm、FPdfSha256、FPdfSha512、FPdfSha3、FPdfHmac、FPdfAsn1)、署名(FPdfPades、FPdfCms、FPdfTsa、FPdfCryptoWin)、規格(FPdfPdfa、FPdfPdfx、FPdfPdfua、FPdfPdfe、FPdfPdfvt、FPdfPdfr、FPdfPreflightReport)、シリアライズと完全性(FPdfCompress、FPdfEncrypt、FPdfMac、FPdfStreamInspect、FPdfContentNormalize)、コンテンツサービス(FPdfXfdf、FPdfXmp、FPdfLayout、FPdfMeasure、FPdfTextShaping、FPdfStructTree、FPdfAsync、FPdfMatrix)という 5 つのファミリーに分類されます。
上記のユニットはすべて、お客様が受け取り、ステップ実行できるソースコードです。暗号プリミティブは Object Pascal で記述し、FIPS 197 と FIPS 180-4 の公開テストベクターで検証しています。そのため署名と暗号化のために外部 C ライブラリを配布に追加する必要はなく、セキュリティレビューに第三者製バイナリを持ち込む必要もありません。
PDFium Delphi Component デモパッケージをダウンロード
2026-08-16 Version 3.51.0: PDFium Delphi Component リリースノート | API リファレンス。3.51.0 では、これまで参照できなかった 8 個の TPdf メンバーをドキュメントどおりに公開しました。あわせて英語リファレンスを完成させ、TPdf と TPdfView のすべての公開メンバーが専用ページを持つようにし(88 個のメンバーが新たにページを獲得しました)、公開シグネチャから到達できる列挙型とレコードも収録しています。
ライセンスと価格
2Checkout 経由でクレジット/デビットカード、PayPal、AliPay、電信送金でお支払いいただけます。 新規の PDFium Delphi Component ライセンスには、Object Pascal ソースコード、1 年間のアップデート、1 年間のメールサポートが含まれます。
| ライセンス | 開発者 | 価格 | 注文 |
|---|---|---|---|
| Single | 1 開発者 | $350 | 注文 |
| Small Business | 最大 10 開発者 | $700 | 注文 |
| Medium Business | 最大 30 開発者 | $1050 | 注文 |
| Enterprise | 単一国内における 1 社とその子会社のすべての開発者 | $2100 | 注文 |
| Corporate | 世界各国における 1 社とその子会社のすべての開発者 | $4200 | 注文 |
Enterprise と Corporate の追加ソース:PDFium Delphi Component の Enterprise と Corporate には、いずれも専用ツールグレードサンプル PDF Intake & Accessibility Review Workbench Pro の完全なソースコードが含まれています。内部検証用の完全なテストスイートのソースコードは、ご要望に応じて提供いたします。
既存ライセンスの更新:通常価格の 40%、いつでもキャンセル可能。PDFium Delphi Component 購入・更新ページを開く。
プロフェッショナルリーダーのリファレンスアプリケーション
パッケージは単独の API スニペットを超えるものです。すぐに実行できるリーダープロジェクトは、コンポーネントを完全なアプリケーションフローで連携させる方法を示し、本番 UI、操作性、性能、レビュー、アクセシビリティのための検証済みの出発点を提供します。
パッケージには、コンポーネントを本番ソフトウェアに統合する前にほとんどのチームが必要とするコアワークフロー向けの、すぐに実行できる Delphi、C++Builder、Lazarus 向けサンプルが含まれています。
- PdfViewer:テキスト選択、検索、ブックマーク、ページナビゲーション、印刷、リンク、表示モードを備えたフルビューア。
- ViewerInteractionLab と SearchAndSelect:表示モード、フィットモード、ページカラー、回転、検索ハイライト、全ページ結果リスト、選択テキストプレビュー、コピー、クリア、座標マッピング。
- MultiPageViewer:ドキュメントレビューアプリケーション向けの連続、スプレッド、カバー対応、マルチページビューア動作。
- SplitView:比較・レビューワークフロー向けの 1 つのドキュメントの 2 つの同期ビュー。
- ContentExtractionLab:メタデータ、テキスト、ページオブジェクト、画像、添付ファイル、リンク、注釈、ブックマーク、フォント、文字メトリクスの TXT / JSON エクスポート付き統合ワークフロー。
- PDFtoJpg、BatchExport、ImageToPDF:ラスターエクスポート、バッチ複数ファイル変換、ストリーミング読み込み、DPI / 品質制御、パスワード入力、進捗表示、協調キャンセル。
- MergePDF、SplitPDF、CreatePDF、WatermarkStamp:ドキュメントアセンブリ、プログラムによる PDF 作成、再利用可能な Form XObject ウォーターマーク、コーナースタンプ、ページ番号ラベル。
- FormFill、FontProperties、Attachment:フォーム値の編集とフラット化、インデックス付きフォントと文字の検査、埋め込みファイルの抽出または作成。
- SecurityAudit:パーミッション、添付ファイル、JavaScript、URI / Launch リンク、Web リンク、署名、XFA 状態、ランタイムヘルパー利用可能状態、TXT / JSON 監査レポートの読み取り専用検査。
- XfdfLab と XfaLab:XFDF と FDF によるフォームデータと注釈のラウンドトリップ、およびオプションの V8 / XFA 対応ランタイムを用いた XFA 状態検出の実演。
- CJKTextLab と RTLTextLab:中国語、日本語、韓国語、アラビア語、ヘブライ語のテキスト処理。素朴な文字順の前提が通用しない文字体系での抽出、検索、選択ジオメトリ、シェーピング動作。
- AnnotationsLab と NavigationLab:四点座標ジオメトリを用いたマークアップ注釈の作成・編集、およびブックマーク、宛先、名前付きアクション、ページラベルによるナビゲーションパターン。
- AccessibilityWorkbenchCli と IntakeWorkbenchCli:バッチでのアクセシビリティ評価とドキュメント取り込みのためのヘッドレスなレビュー・取り込みパイプライン。デスクトップウィンドウではなく、スケジュール実行や CI に適しています。
- StandardsLab、PreflightReport、PreflightReportCli:PDF/A、PDF/UA、PDF/E、PDF/X、PDF/R、PDF/VT 検証と保存ワークフロー、レポートプレビュー、TXT / HTML / Markdown / JSON / CSV エクスポート、バッチフォルダー、ソートされた概要、重複回避レポート名、レポート添付、CI 向け
failon=終了動作。
PDFium Delphi Component が選ばれる理由
- 署名と暗号化に別ベンダーが不要:PAdES の B-B から B-LTA まで、RFC 3161 タイムスタンプ、PDF 2.0 AES-256 暗号化が、このライブラリに含まれています。多くの Delphi チームはこの段階で別の署名 SDK や OpenSSL の配布を追加しますが、本製品では 1 つのパッケージ、1 つのライセンス、そして監査可能な Pascal ソースコードで完結します。
- コードで可視化される規格対応:6 つの ISO 規格ファミリーに、チェックボックスではなく条項レベルの結果コードを返す実際のバリデーターがあります。TXT、HTML、Markdown、JSON、CSV のプリフライト出力はそのまま CI に組み込め、コマンドラインランナーは指定した条件で失敗の終了コードを返します。
- エンジンが持たない PDF ライター:リニアライズ済み Fast Web View、オブジェクトストリームのパッキング、直前のファイルをバイト単位で保持する差分オブジェクトの増分リビジョン——アーカイブシステム、Web 配信、監査証跡が実際に求める出力形式に対応します。
- Delphi ネイティブ統合:ActiveX コントロールやブラウザーホストビューアではなく、Object Pascal ソースコード付きの実際の VCL コンポーネントです。
- 敵対的な入力を敵対的なものとして扱う:ストリームのデコード、コンテンツの正規化、構造スキャンはいずれも、入力元・出力・トークン・ネスト・展開比の明示的なバジェットのもとで実行されます。そのため不正な、あるいは意図的に細工された PDF は、プロセスを落とすのではなく構造化されたステータスを返します。
- PDFium レンダリング品質:Delphi コードベースに統合を保ちながら、Chromium PDF 表示と同じオープンソース PDF エンジンファミリーを使用しています。
- ビューアと API が 1 つのパッケージに:洗練されたオンスクリーン PDF ビューアを低レベルドキュメントアクセス、検索、フォーム、印刷、検証 API、スクリプト可能なプリフライトレポートと組み合わせられます。
- ランタイムロイヤリティなし:ドキュメントごとまたはエンドユーザーごとのランタイム料金なしでデスクトップアプリケーションを構築できます。
- 最新 IDE サポート:Delphi XE5 ~ Delphi 13.1 Florence、C++Builder XE5 ~ C++Builder 13.1 Florence、Lazarus / Free Pascal ワークフロー(Win32・Win64 ビルド付き)。
- 維持されたテストカバレッジ:Delphi DUnitX、C++Builder GoogleTest、Lazarus FPCUnit テストが主要なドキュメント・レンダリング・フォーム・構造・印刷・サムネイル・ビューアワークフローをカバーしています。
PDFium Delphi Component オンラインドキュメント
コードサンプル
procedure TForm1.OpenPdf(const FileName: string);
begin
Pdf.FileName := FileName;
PdfView.Pdf := Pdf;
PdfThumbnailView.Pdf := Pdf;
PdfView.DisplayMode := dmSingleContinuous;
PdfView.FitMode := pfmFitWidth;
PdfView.AllowUserTextSelection := True;
PdfView.Active := True;
end;
procedure TForm1.HighlightInvoiceNumber;
begin
Pdf.PageNumber := PdfView.PageNumber;
if Pdf.FindFirst('Invoice', []) >= 0 then
PdfView.HighlightSearchText('Invoice', False, False);
end;
procedure TForm1.SaveArchiveCopy(const OutputFile: string);
begin
if not Pdf.SaveAsPdfA(OutputFile, pac1b) then
raise Exception.Create('The PDF/A archive copy could not be saved.');
end;
procedure TForm1.SignForLongTermArchive(const OutputFile: string);
var
Options: TPadesSignOptions;
begin
Options := TPadesSignOptions.Default;
Options.CertificateThumbprint := SignerThumbprint;
Options.Level := plB_LTA; // 署名 + TSA トークン + DSS + アーカイブタイムスタンプ
Options.TsaUrl := 'https://tsa.example.com/tsr';
Options.Reason := 'Approved for release';
if not Pdf.SignPades(OutputFile, Options) then
raise Exception.Create('The document could not be signed.');
end;
procedure TForm1.CheckSignatureLevel;
var
Result: TPadesValidationResult;
begin
Result := Pdf.ValidatePades;
if Result.IsCompliantAt(plB_LTA) and Result.IsCryptographicallyValid then
ShowMessage(Format('%d signature(s), %d archive time-stamp(s), verified.',
[Result.SignatureCount, Result.DocTimeStampCount]))
else
ShowMessage('The document does not reach the required PAdES baseline.');
end;
典型的なユースケース
- PDF 表示、検索、印刷、フォームワークフローが埋め込まれたドキュメント管理システム。
- PDF レビュー、抽出、添付ファイル処理、アーカイブ対応出力チェック、バッチプリフライトマニフェスト、レポート添付が必要な会計・請求書アプリケーション。
- ユーザーがアプリケーションを離れることなく PDF ドキュメントを検査・印刷・検証・レポート・保存する必要がある法律・エンジニアリング・医療・政府向けデスクトップソフトウェア。
- 規制業種における署名文書のワークフロー——契約書、請求書、出荷伝票、記録類など、信頼できるタイムスタンプ付きの PAdES B-T または B-LTA 署名を保持し、長年にわたって検証可能である必要がある文書。
- 定義されたパーミッション付きの PDF 2.0 AES-256 暗号化を、外部ツールによる二次処理ではなくアプリケーション自身が書き出す必要がある機密文書の配布。
- ファイルを外部バリデーターまたはアーカイブシステムにルーティングする前に繰り返し可能な PDF/A、PDF/X、PDF/UA、PDF/E、PDF/R、PDF/VT マーカーチェックが必要な準拠・取り込みツール。
- 高速 PDF 表示、ページラスタライズ、コピー可能なテキスト、制御された印刷が必要なレポートビューアと社内ビジネスツール。
アクセシブルな読書をアプリケーション機能として提供
アクセシビリティは検証結果だけでなく、リーダーアーキテクチャの一部です。TPdfReadingSession は文単位の読書単位、読み上げテキストの対応付け、単語イベントを調整し、ホスト音声エンジンがページと同期して読み上げられるようにします。
付属のアクセシビリティリーダーは、ホスト音声サービス、単語ごとのハイライト、調整可能な読み上げ、検索可能な読書単位、キーボード中心のフォーム操作、ロービジョン表示との統合を実演します。
この製品を選ぶ場面
- アプリケーションが PDF ドキュメントを表示・検証・署名・暗号化して配信する必要がある場合は PDFium Delphi Component を選びます。専門的なリーダー基盤、PAdES 署名、PDF 2.0 暗号化、6 種類の規格バリデーター、リニアライズ出力と増分出力、大容量ファイル性能、アクセシビリティ対応、フォーム、印刷のすべてを、ソースコード付きの 1 つのパッケージで提供します。
- アプリケーションがドキュメントを生成し、レンダリングエンジンを一切再配布したくない場合は HotPDF Component を選びます。HotPDF は独自のレンダラー、画像コーデック、フォントエンジン、バーコード生成、XFA レイアウト、Factur-X 検証を内蔵し、実行ファイルに直接コンパイルされます。
- 1 つのツールキットでライフサイクル全体をカバーする必要がある場合、または OCR、バーコード認識、PKCS#11 ハードウェアトークン署名、EU トラストリスト検証、Delphi 以外の呼び出し元向けの DLL / ActiveX / Dylib アクセスが必要な場合は PDF Library for Delphi を選びます。
製品ファミリー全体を比較するには、PDF 開発者ライブラリ概要で PDFium Delphi Component、losLab PDF Library、HotPDF Component を並べてご覧ください。
PDFium Delphi Component は、Delphi と C++Builder アプリケーション向けにソースコード付きコンポーネントと予測可能なライセンスを求めるチームに適しています。
よくある質問
PDFium Delphi Component は PDFium DLL の薄いラッパーですか?
いいえ。PDFium はレンダリングと読み取りを行うだけで、文書への署名、暗号化の書き出し、PDF 規格の検証、リニアライズ出力・オブジェクトストリーム出力・増分リビジョンの生成はできません。パッケージに含まれる約 115,000 行の Object Pascal のうち 62,000 行以上は、PDFium API に対応物が存在しないユニットにあり、まさにそれらの層を実装しています。PAdES の B-B から B-LTA までの署名、純粋な Pascal による AES / SHA / ASN.1 の暗号スタック、PDF 2.0 AES-256 暗号化、6 種類の ISO 規格バリデーター、自前の PDF シリアライザー、XFDF、XMP、そしてビューア・リーダー・アクセシビリティのアーキテクチャです。
PDFium Delphi Component はどのエンジンを使用しますか?
レンダリング基盤には Chromium の PDF 表示でも使われるオープンソースの PDFium エンジン群を使用します。losLab はその周辺に Delphi ネイティブのコンポーネントモデル、アプリケーションワークフロー、リーダーアーキテクチャ、アクセシビリティ、サンプル、テスト、サポートを構築しています。
PDFium Delphi Component で PDF 文書にデジタル署名できますか?
はい。ETSI EN 319 142-1 の PAdES ベースラインプロファイル B-B、B-T、B-LT、B-LTA を実装しています。RFC 5652 準拠の CMS / CAdES SignedData の構築、TSA への RFC 3161 タイムスタンプ要求、証明書チェーンの Document Security Store への収集、アーカイブタイムスタンプに対応します。署名鍵は Windows CNG バックエンド経由で RSA-PSS、PKCS#1、ECDSA として利用します。PDFium 自体は既存の署名辞書を読み取ることしかできません。
PDF 文書を暗号化できますか?
はい。SaveAsEncrypted が ISO 32000-2 AES-256 暗号化を書き出します。アルゴリズム 2.B による R6 のパスワードハッシュ導出、/O /U /OE /UE /Perms の各辞書エントリ、ストリームと文字列の完全な暗号化を含みます。ISO/TS 32003 AES-GCM と ISO/TS 32004 PDF MAC トークンにも対応しています。AES、SHA-256/384/512、HMAC、ASN.1 の各プリミティブは純粋な Object Pascal で、外部 C ライブラリへの依存はありません。
Lazarus と Free Pascal をサポートしていますか?
はい。Delphi・C++Builder 向け VCL コンポーネントに加え、Lazarus / Free Pascal パッケージファイルと LCL デモを含みます。Delphi と C++Builder XE5 から 13.1 Florence、Win32 と Win64 を対象にします。
非常に大きい PDF はどのくらい速く開けますか?
ビューアは事前に全体を読み込まず、シーク可能なオンデマンド PDFium アクセスを使います。一般的なリーダーで最初の表示まで 20〜30 秒かかる 2.x GB PDF も、PDFium Delphi Component ではほぼ直ちに利用できます。
PDF 文書の作成や編集はできますか?
文書作成、ページ追加・削除、ページ範囲の取込み、ページ移動、N-up 合成、透かし、スタンプ、ページ内容更新などの文書組立を扱います。大規模なプログラム PDF 作成には HotPDF Component または losLab PDF Library が適しています。
AcroForm と XFA フォームを扱えますか?
はい。AcroForm フィールド、フォームフォーカスと選択テキスト、元に戻す・やり直し、外観生成、フィールドフラグ、フラット化を扱い、XFA 状態を検出し、必要に応じて V8 / XFA 対応ランタイム DLL を利用できます。
どの PDF 標準を検証できますか?
6 つの規格ファミリーです。それぞれに専用のバリデーターと、対応する保存ヘルパーまたはマーカー埋め込みヘルパーがあります。PDF/A(ISO 19005 パート 1〜4、PDF 2.0 ベースの A-4 base/f/e を含む)、PDF/X(ISO 15930、X-6 を含む)、PDF/UA(ISO 14289-1)、PDF/E(ISO 24517-1)、PDF/VT(ISO 16612-2、VT-2s の MIME ストリームパッケージングを含む)、PDF/R(ISO 23504-1)です。PAdES のベースライン構造は、ETSI EN 319 142-1 に照らして別途検証します。プリフライトレポートは TXT、HTML、Markdown、JSON、CSV、SARIF 2.1.0、JUnit XML、NDJSON でエクスポートできます。バリデーターはマーカーレベルと、拡充が続くファイルレベルの条項をカバーします。正式な認証が必要な場合は専用検証エンジンを併用してください。
実行時ロイヤルティやユーザーごとの料金はありますか?
いいえ。ライセンス済みアプリケーションは文書数やエンドユーザー数ごとの実行時料金なしで配布できます。
ライセンスに含まれるものと更新方法は?
新規ライセンスには Object Pascal ソースコード、1 年間の更新、1 年間のメールサポートが含まれます。既存のお客様は定価の 40% で更新アクセスを更新できます。
Delphi PDF コンポーネント & スプレッドシート開発の最新情報をお届けします
製品アップデートを購読する
最新情報をメールで受け取るには購読してください。
