コアコンポーネント
- TPdf - PDF ドキュメントの読み込み、ナビゲーション、テキスト抽出、編集を扱うメインの PDF ドキュメント処理コンポーネント
- TPdfView - PDF ページの表示および操作のためのビジュアルコンポーネント
- TPdfThumbnailView - ページナビゲーション用のスクロール可能なサムネイルサイドパネル
- TPdfReadingSession - ホストの TTS エンジンと TPdfView の単語追跡をまとめる読み上げ制御コンポーネント
ドキュメント操作
- ドキュメント読み込み - ディスク、メモリストリーム、バイト配列、またはオンデマンド TStream アダプタから
LoadCustomDocument経由で PDF ファイルを読み込み。PDFium がブロックをオンデマンドで読み取るため、複数 GB のドキュメントやリモート / データベースバックエンドのソースでも事前のメモリ内コピーは不要です。- パスワード保護 - パスワード保護された PDF ドキュメントを開き、認証されたセッションの有効な
UserPermissionsを報告- ドキュメント作成 -
CreateDocument、AddPage、AddText、AddImage、AddPicture、AddJpegImage、CreatePathを用いて新規 PDF ドキュメントをゼロから構築- ドキュメント保存 - 各種オプション(インクリメンタル、セキュリティ除去)および PDF 1.0 から PDF 1.7 までの明示的な PDF ターゲットバージョンで変更済みドキュメントを保存
- PDF/A-1b 出力 -
SaveAsPdfA/SaveAsPdfAToStreamは基本保存をインクリメンタル更新で後処理し、XMP メタデータストリーム、sRGB ICC OutputIntent、更新されたドキュメント Catalog を注入することで結果を PDF/A-1b 準拠にします。カスタム ICC プロファイルはTPdfASaveOptions.IccProfileData経由でサポートされます。- PDF/A 検証 -
ValidatePdfAおよび読み取り専用のPdfAConformanceプロパティは、開いているドキュメントから XMPpdfaidマーカー、埋め込み ICC を含む OutputIntent、暗号化の有無をスキャンし、準拠レベル(pac1a、pac1b、pac2b、pac3b、pacNone、pacUnknown)と検出された各問題を記述するTPdfAValidationIssueエントリのリストを報告します- PDF バージョン準拠バリデータ - SaveAs が PDF 1.0 から PDF 1.7 をターゲットとする場合、ライタは選択されたターゲットバージョンより後に導入された辞書エントリ、フィルタ、アノテーションサブタイプ、アクションタイプ、フォント、色空間、暗号化パラメータを拒否します(例:JBIG2Decode、MarkInfo、OutputIntents、AES / AES-256、Polygon / Caret / Watermark / Redact アノテーション、JavaScript / Trans / SetState アクション)
- ストリーム圧縮 - 自動 FlateDecode 圧縮により、保存時にすべての PDF ストリームが最適に圧縮されます。デバッグパイプライン用にオプトアウトするには
Compressed := Falseを設定- ドキュメントマージ - 他の PDF ドキュメントからページをインポート
- ページサブセットインポート -
ImportPagesByIndexはソースドキュメントから明示的なゼロベースインデックス配列をコピーします。InsertAt = 0 はページ 1 の前に挿入、InsertAt = PageCount は末尾に追加。空のインデックス配列を渡すとすべてのソースページがインポートされます。- N-up 構成 -
ImportNPagesToOneは、ソースドキュメントのページを NumX×NumY で合成した新しいTPdfを返します。PDF ユーザー単位(1 単位 = 1/72 インチ)でサイズ指定- ページ並べ替え -
MovePagesはゼロベースインデックス配列と最初に移動するページの宛先インデックスを用いてページを所定位置で並べ替えます- Form XObject ページ再利用 -
CreateXObjectFromPageは他のドキュメントの任意のページから再利用可能なTPdfXObjectハンドルを生成します。InsertFormObjectFromXObjectはラップされたページの 1 コピーを現在のページに挿入します。ウォーターマーク、テンプレートオーバーレイ、「1 ページを複数ページにスタンプする」ワークフローに最適。宛先ページオブジェクトはFPDFPageObj_SetMatrixおよびTPdfMatrixヘルパーを通じて位置決め、スケール、回転が可能です。- ページ管理 - 個別ページの追加、削除、操作。
AddPage(0, ...)は最初のページを挿入し、即座にアクティブにします- ページボックス - 現在のページの MediaBox、CropBox、BleedBox、TrimBox、ArtBox の読み書き
- Catalog 言語 - Catalog の /Lang エントリに格納されているドキュメント言語の読み書き
- トレーラファイル ID - 永続的および変更可能なトレーラの /ID エントリをバイナリバイトとして読み取り
- ドキュメント JavaScript アクション - ドキュメントレベルの JavaScript ネームツリーアクション名およびスクリプトを列挙
- タグ付き PDF 構造ツリー - タグ付き PDF ページの論理構造要素、アクセシビリティテキスト、言語、マークコンテンツ ID、階層を検査
- ビューア設定 - ドキュメントのビューア設定辞書から
PrintCopies、PrintPageRanges、PrintScaling、PrintPaperHandlingを読み取り。保存された PDF は最初のページのオープンアクションでデフォルトで Fit Height になります
テキスト操作
- テキスト抽出 -
Text、TextInRectangle、インデックス付きCharacter、CharacterRectangle、CharacterOriginプロパティを介して PDF ページから文字レベルの精度でテキストを抽出- 文単位の読み上げ単位 - TPdf.ReadingUnits、TPdf.DocumentReadingUnits、TPdfView.ReadingUnits、BuildReadingUnits は、同期 TTS リスニング読み上げ向けに文サイズの TPdfReadingUnit レコードを提供します
- 単語単位の読み上げ強調表示 -
TPdf.PageWordBoxes,TPdfView.PageWordBoxes,BuildWordBoxes,WordBoxIndexAtCharIndex,TPdfView.SelectWordBox,TPdfView.SelectWordSpan,TPdfView.TrackReadingWordAt,TPdfView.SetReadingWord,TPdfView.ClearReadingWord,ReadingWordColor,ReadingWordFollowページ文字オフセットをそれを含む TPdfWordBox に対応付け、強調表示して単語インデックスを返します; TPdfView 上で TPdfWordBox を現在読み上げ中の単語として強調表示します; TPdfView 上の現在の単語単位読み上げカーソルのオーバーレイをクリアします; 現在の単語単位読み上げカーソルに使用するオーバーレイ色を制御します; 読み上げ追跡中に TPdfView が現在読み上げ中の単語を表示位置へスクロールするかどうかを制御します- 読み上げセッション制御 -
TPdfReadingSession、TPdfSpokenText、SpokenTextAppend、BuildSpokenTextFromWords、SpokenToPageChar、EstimateSpokenWordIndexが、ホストの TTS エンジン、読み上げチャンク、単語位置コールバック、推定ペーシング、一時停止と再開、TPdfView の単語カーソル更新をまとめて制御します- テキスト検索 -
FindFirst、FindNext、FindPreviousを用いて大文字小文字区別、単語単位、連続検索オプションでテキストを検索- 検索ハイライトオーバーレイ -
TPdfView.HighlightSearchTextは現在のビューページをスキャンし、再描画ごとにすべてのマッチに対してリアルなアルファブレンドHighlightColorオーバーレイを描画し、マッチ数を返します。ClearHighlightはオーバーレイを削除します。マッチはページ固有のため、別のページにナビゲートすると自動的にクリアされます。HighlightColorはデフォルトでclYellowで、アプリケーションがテーマ化できるように公開されています。- 文字プロパティ -
CharacterAngle、CharacterFontSize、CharacterFontWeight、CharacterGenerated、CharacterIsHyphen、CharacterMapErrorインデックス付きプロパティを使用して個々の文字のフォントサイズ、ウェイト、角度、位置にアクセス- 欧州文字サポート -
AddTextは、テキストオブジェクトを作成する前に対応するシステム TrueType フォントを自動的にロードしてキャッシュするため、PDFium の内蔵標準フォントでは表現できないアクセント付きのチェコ語、フランス語、ドイツ語、スペイン語、ポルトガル語、ポーランド語、トルコ語の文字がコード変更なしで正しくレンダリングされます- テキスト追加 - カスタムフォント、色、透明度、回転を伴う新規テキストを PDF ページに追加
- テキストオブジェクト位置設定 -
SetTextPositionsおよびTPdfSingleArrayを介して既存のテキストオブジェクトの文字ごとの位置を設定- フォント情報 - ページオブジェクト単位でファミリー名、埋め込み状態、イタリック角度、アセント / ディセント、生のフォントデータを含むフォントプロパティを取得
アノテーションサポート
- アノテーションタイプ - テキスト、リンク、ハイライト、下線、取り消し線などの多数のアノテーションタイプをサポート
- アノテーション作成 - プログラム的に新規アノテーションを作成
- アノテーション編集 - 色、透明度、コンテンツを含む既存のアノテーションプロパティを変更
- リンクアノテーション - アクションサポート付きで内部および外部リンクを処理
フォームサポート
- 音声フォーム入力アクセサー - TPdf と TPdfView の FocusedFormFieldValue、FocusedFormFieldName、FocusedFormFieldDetails は、現在の論理フォームフィールド値、名前、TPdfFormFieldInfo を公開し、キーボードまたは音声によるフォーム入力に使えます
- フォームタイプ - AcroForm および XFA フォームのサポート
- フォーム入力 - JavaScript サポートを伴うインタラクティブフォーム入力
- V8 DLL 選択 - 読み込み前に
EnableV8Engineを設定して、対応するDLLs\Win32またはDLLs\Win64フォルダからpdfium.v8.dllを使用し、V8FeaturesAvailable、XfaBStrHelpersAvailable、GetRecommendedV8Flagsを介して V8/XFA ヘルパーの利用可能性をクエリ- フィールドアクセス - インデックスまたは位置によるフォームフィールド値の読み書き
- フィールド情報 - フィールドタイプ、フラグ、名前などのプロパティにアクセス
- フィールドフラグ -
SetFormFieldFlags/SetFormFieldFlagsAtを介してインデックスまたは位置による AcroForm フィールドフラグの更新。読み取り専用、必須、パスワード、複数選択フラグを含む- フォームフラット化 -
GenerateFormAppearancesはすべてのページ上のすべてのフォームウィジェットの /AP アピアランスストリームを再生成し、FlattenPage/FlattenAllPagesはアノテーションとフォームフィールドを静的なページコンテンツ(編集不可)に焼き込みます- フォームウィジェットのテキスト選択と Undo / Redo - フォーカスされた AcroForm ウィジェットでは、ビューは
GetSelectedFormText(現在選択されているテキスト)、SelectAllFormText(すべての文字を選択)、FormUndo/FormRedo/FormCanUndo/FormCanRedo(PDFium のウィジェットごとの編集履歴を駆動)を公開します。ビューが非アクティブまたはウィジェットにフォーカスがない場合、6 つすべては安全にショートサーキットします。
画像操作
- 画像抽出 - インデックス付き
Bitmapプロパティで PDF ページからビットマップを抽出。BitmapCountを反復処理してすべての画像をディスクに保存- JPEG 挿入 -
AddJpegImageは生の JPEG バイトの TStream を受け取り、再エンコードなしで画像を /DCTDecode XObject として埋め込みます- Picture サポート -
AddPictureは登録済みの VCL/LCL グラフィッククラスを介した自動フォーマット変換を伴うTPictureオブジェクトを受け付けます- 直接画像挿入 -
AddImage(FileName)は VCL または LCL グラフィックスユニットに登録された任意の形式(PngImage 経由の BMP、PNG、JPG など)を認識し、AddPicture パイプラインを共有します。AddImage(TBitmap)は TPicture 中間ステップをスキップするため、レンダリングまたはバッチ生成作業から TBitmap を既に保持している呼び出し元を簡素化します。- 画像 ICC プロファイル - 画像ページオブジェクトは存在する場合に埋め込み ICC プロファイルデータを公開します(
FPDFImageObj_GetIccProfileDataDecodedのバインディング)- サムネイル生成 -
Thumbnailプロパティで現在ページのサムネイルビットマップを生成するか、PageNumberを変えずにTPdf.RenderPageThumbnailで任意の 1 始まりページを描画します
ヘルパーユニット
- 非同期インフラ -
FPdfAsyncは、UI からの協調的キャンセルセマンティクスのためのIPdfCancellationToken/IPdfCancellationTokenSource、再利用可能なPdfNoCancellationTokenシングルトン、バックグラウンドスレッドでワーカーを実行し、成功、キャンセル、失敗ケースを区別するTPdfFutureResult<T>エンベロープをメインスレッドに投稿する軽量なTPdfFuture<T>ヘルパーを公開します- ストリームアダプタ -
TPdfStreamAdapterは Pascal のTStreamを PDFium のFPDF_FILEACCESSコールバックにブリッジするため、LoadCustomDocumentは PDF 全体をメモリにバッファリングする代わりにブロックをオンデマンドで読み取ります- マトリックス構成 -
FPdfMatrixは PDFium のFS_MATRIXをTranslate、Scale、Rotate、HorizontalFlip、VerticalFlip、CentralFlip、Skew、Multiplyのオブジェクト指向 API でラップします。Multiplyは新しい行の値を計算する前に 6 つのマトリックス要素をスナップショットし、同じ呼び出し中に以前の要素が上書きされて誤った合成が生成される代替 Pascal 実装の落とし穴を回避します。- キャンセル可能なプログレッシブレンダリング -
TPdf.RenderPageProgressiveは PDFium のFPDF_RenderPageBitmap_Start+RenderPage_Continueループを駆動し、IFSDK_PAUSEコールバック経由で反復間にIPdfCancellationTokenをポーリングするため、長時間の高 DPI レンダリングは完了するまでブロックする代わりにページ途中で中止できます。prsDone、prsCancelled、prsFailedのTPdfProgressiveStatusを返します。- ゼロコピーレンダーパス -
RenderPage/RenderTile/RenderPageProgressiveは内部バッファでのステージングではなく、PDFium 出力を宛先TBitmapの DIB バッファに直接書き込み、レンダリングごとに幅 × 高さ × 4 バイトのメモリコピーを節約します。高 DPI(サムネイルパネル、印刷品質エクスポート、バッチエクスポート)で最も顕著です。宛先 DIB が安全にラップできない場合、スキャンラインごとのフォールバックパスが保持されます。- 低視力向けビットマップ色変換 - InvertPdfBitmap、GrayscalePdfBitmap、DuotonePdfBitmap はレンダリング済み 32 ビット TBitmap ピクセルをインプレース変換し、反転、グレー、2 色の低視力向け表示を作ります
- 低視力向けライブ表示 -
TPdfView.OptionsはreInvertとreNightDuotoneをサポートし、NightDuotoneInkとNightDuotonePaperがオーバーレイ描画前の夜間配色を制御します
描画操作
- パス描画 - 線、ベジエ曲線、閉じた図形でパスを作成
- オブジェクト削除 - TPdf または TPdfView からページオブジェクトを削除しページコンテンツを再生成
- 塗りつぶしとストローク - 塗りつぶしモード、色、透明度、ストロークプロパティを設定
- ブレンドモード - 各種 PDF ブレンドモードのサポート
- 線スタイル - 線端、線結合、ストローク幅を設定
電子署名
- 署名検出 - PDF ドキュメント内の電子署名を検出および列挙
- 署名情報 - 署名内容、バイト範囲、サブフィルター、理由、時刻にアクセス
- MDP 権限 - ドキュメント変更検出および防止権限をクエリ
添付ファイルサポート
- 添付ファイルアクセス - 埋め込みファイル添付の読み取り、作成、変更、削除
- 添付ファイル名 - 添付ファイル名にアクセス
- 添付ファイルタイプ - 存在する場合に埋め込みファイルの MIME サブタイプ値を読み取り
- ブックマーク -
Bookmarks配列、BookmarkChildren、HasBookmarkChildren、BookmarkFromトラバースヘルパーを介して階層サポート付きでドキュメントブックマークをナビゲート- 名前付きデスティネーション -
Destination、DestinationByName、DestinationCountを介してインデックスまたは名前で名前付きデスティネーションにアクセス- ページラベル -
PageLabelを介して各ページのページラベルを取得。ドキュメントが前付にローマ数字を使用している場合に便利- ウェブリンク -
WebLink、WebLinkCount、TPdfView.WebLinkAtPosでページ上のウェブリンクを検出およびナビゲート- リンクアノテーション -
LinkAnnotation、LinkAnnotationCount、TPdfView.LinkAnnotationAtPosを介してアクションとデスティネーション情報付きでリンクアノテーションにアクセス- 安全なリンククリック処理 - TPdfView は自動 goto / URI 処理の前に
OnAnnotationLinkClick/OnWebLinkClickイベントを発生させ、起動アクションはデフォルトで無効化されています。リンククリック検出は、ジェスチャがドラッグではなくクリックの場合にのみ実行され、新しい MouseDown アンカーを使用するため、パンジェスチャは既存のスクロールパスを変更なしで通過します。
レンダリング
- 高品質レンダリング -
RenderPage/RenderTileを介してページをデバイスコンテキスト、ビットマップ、タイルにレンダリング。宛先 DIB バッファへのゼロコピー直接書き込み付き- キャンセル可能なプログレッシブレンダリング -
RenderPageProgressiveは PDFium のプログレッシブループを駆動し、反復間でIPdfCancellationTokenをポーリングし、prsDone、prsCancelled、またはprsFailedを返します。キャンセルされた場合、ビットマップにはそれまでに行われた部分的な作業が保持されます。- レンダリングオプション - LCD テキスト最適化(
reLcd)、アノテーション(reAnnotations)、グレースケール、印刷モードフラグ- Skia フック - 呼び出し元が外部 SkCanvas を提供する場合、低レベルの
FPDF_RenderPageSkiaおよびFPDF_FFLDrawSkiaバインディングが利用可能です(同梱の DLL エクスポートに依存)- 印刷モード選択 -
SetPdfPrintModeおよびTPdfPrintModeを介して EMF、テキストのみ、PostScript、パススルー、イメージマスク、Type 42 の PDFium 印刷モードを設定- 非同期オーバーレイ - TPdfView は、アプリケーション所有のワーカーが別の TPdf インスタンスでレンダリングする間、オプトインの読み込みオーバーレイを表示できます
- ページ回転 - 0、90、180、270 度回転のサポート(
ro0、ro90、ro180、ro270)- 透明度検出 -
Transparentプロパティは、ブレンドモードと部分アルファを含め、現在のページ上の任意のオブジェクトが透明度を持つかどうかを報告します
表示 (TPdfView)
- 表示モード -
dmSingleContinuous、dmTwoPageContinuous、dmTwoPageContinuousWithCover(表紙ページが単独で表示され、その後見開きで継続)。ユニットレベルのComputeSpreadPagesヘルパーは、ビューアをインスタンス化することなく見開きページの計算を公開します。- フィットモード -
FitModeはページのビューポート内での配置方法を選択します:pfmNone(手動ズーム)、pfmActualSize(100%)、pfmFitPage(ページ全体がビューポートに収まる)、pfmFitWidth(ページ幅がビューポート幅と一致)。アクティブなフィットモードは Resize 時および現在のページが変更されたときに自動的に再適用されます。Zoom を直接設定すると、標準的な PDF ビューア規約に従い、アクティブなフィットモードはキャンセルされます(FitMode はpfmNoneに戻ります)。- ズームコントロール -
PageZoom、PageWidthZoom、PageHeightZoom、ActualSizeZoomページごとのヘルパーによる可変ズーム- ページカラー -
PageColorはレンダリングされた PDF ページの背景を周囲のコントロールのColorから分離します。デフォルトはclWhiteであるため、ホストアプリケーションのテーマに関係なく PDF ページは紙のように白くレンダリングされます。ダークモードビューアはスクロール領域を暗く保ちながら、実際の PDF ページを白く(またはアプリケーションが選択した任意の色に)保てます。- インタラクティブテキスト選択 - エンドユーザーは PDF ページ上のテキストをドラッグして選択でき、ヒットテストは選択とパンの間で自動切り替えされます:文字をクリックすると選択ドラッグが開始され、空白をクリックするとパンになります。ダブルクリックで単語を選択、トリプルクリックで行を選択、
Ctrl+Aでページを選択(見開きモードでは両方のページ)、Ctrl+CでCF_UNICODETEXTとしてコピー、Shift+矢印で選択範囲を拡張、テキスト上でホバーするとカーソルがcrIBeamに切り替わり、ビューアの端へドラッグするとページが自動スクロールします。新しい公開プロパティSelectionColorとOnSelectionChange、新しい public なHasSelection、SelectedText、SelectionCharCount、ClearSelection、SelectAll、CopySelectionToClipboard。見開き表示モードは CR/LF 結合で両方の表示ページにわたって選択します。ホストが独自のPopupMenuを割り当てていない場合、デフォルトの右クリックコピーポップアップが自動的に接続されます。キオスクホスト向けに v1.17.0 のAllowUserTextSelectionフラグでゲートされます。- 座標マッピング -
DeviceToPage/PageToDeviceでビューアデバイス座標と PDF ページ座標を変換。TRectを受け取りTPdfRectangleを返すオーバーロードを含む- テキスト選択とヒットテスト -
CharacterIndexAtPosでビューアポイント下の文字を解決し、PaintSelectionでテキスト選択ハイライトを描画- マウス & キーボード - マウスドラッグスクロール、PgUp / PgDn / Ctrl+Home / Ctrl+End ショートカット、ホイールアップ / ホイールダウンページナビゲーションを含む完全な入力デバイスサポート。Ctrl+ホイールはアプリケーションズーム用に予約されており、ナビゲーションハンドラではスキップされます。
- ユーザー入力ロックダウン -
AllowUserPageChangeはキーボードページショートカットを制御し、ChangePageOnMouseScrollingはホイールページジャンプを制御し、AllowUserTextSelectionはマウス / キーボードテキスト選択入力を制御します。3 つすべてはデフォルトで True です。サブクラス化なしでキオスク、プレビューペイン、読み取り専用埋め込みをロックダウンするには、これらを False に切り替えます。- 非同期レンダーオーバーレイ -
AsyncRendering、LoadingText、LoadingColorは長時間レンダリングに独自のワーカーを使用するアプリケーションに一貫した視覚的アフォーダンスを提供するため、レンダリングされたページの上に小さな「読み込み中...」インジケータを描画します。デフォルトでは既存の動作が保持されます。TPdfはインスタンスごとにレンダリングおよびページアンロード呼び出しをシリアル化するようになりました。アプリケーションは依然としてワーカーディスパッチを所有し、レンダリング中のドキュメントの変更を避ける必要があります。- 安全なリンククリック処理 -
LinkOptionsは 4 つの PDF リンクアクションタイプの自動動作を制御する公開セットです:loAutoGoto(ページジャンプ)、loAutoOpenURI(ShellExecute)、loAutoLaunch(ShellExecute)、loAutoEmbeddedGoto(予約)。デフォルトではloAutoGotoとloAutoOpenURIのみが有効です。loAutoLaunchとloAutoEmbeddedGotoはオフのままなので、誤クリックで任意のプログラムが実行されることはありません。OnAnnotationLinkClickとOnWebLinkClickは任意の自動アクションの前に発生し、アプリケーションがイベントを Handled とマークしたり、リダイレクトしたりできるようにします。- フォーム操作 - ビューア内でのインタラクティブフォーム編集、および v1.23.0 の選択 / Undo / Redo ヘルパー
- 視覚的スタイリング -
PageShadowSize、PageShadowColor、PageBorderColorはページの矩形の下にオプションのドロップシャドウを描画し、その周りに 1 ピクセルの境界線を描画します。SmoothScrollはサムトラッキングを即時のままにしながら、行 / ページスクロールバーコマンドをタイマー駆動のセグメントでアニメーション化するようになりました- サムネイルナビゲーション -
TPdfThumbnailView(ユニットFPdfThumbnail)はスクロール可能なサイドパネルに 1 行ごとに 1 ページのサムネイルをレンダリングし、ホバーと選択のハイライト、およびクリックでナビゲートする機能を備えています。TPdfView の横に配置するように設計されています。プロパティ:CurrentPageIndex、ThumbnailWidth、ThumbnailHeight、TextColor、HoverColor、SelectionColor、BorderColor。イベント:OnPageClick。
圧縮
- 自動圧縮 -
Compressedプロパティが True(デフォルト)の場合、保存時にすべての PDF ストリームが FlateDecode 圧縮されることが保証されます- 後処理 - 圧縮エンジンは保存された PDF データをスキャンし、未圧縮のストリームを zlib 最大圧縮で圧縮します
- 相互参照の再構築 - ストリーム圧縮がバイトオフセットを変更した場合、xref テーブルを自動的に再構築します
- ゼロオーバーヘッド - すべてのストリームが既に圧縮されている場合、データは変更なしで通過します
セキュリティ
- パスワードサポート - パスワード保護された PDF ドキュメントを開く
- 権限 - ドキュメントとユーザー権限を読み取り。
SecurityAuditデモは権限、添付ファイル、ドキュメント JavaScript、URI / Launch リンク、署名、XFA、V8 利用可能性を、TXT / JSON レポート保存および TXT コピーアクションを伴う読み取り専用のリスクサーフェスに統合します- セキュリティ削除 - セキュリティを削除してドキュメントを保存(権限がある場合)
印刷
- 印刷モード - グローバル
SetPdfPrintMode関数を介して EMF、テキストのみ、PostScript Level 2 / 3、PostScript パススルー、EMF イメージマスク、Type 42 印刷モードから選択- ビューア設定 -
PrintCopies、PrintPageRanges(1 ベースのページ範囲)、PrintScaling、PrintPaperHandlingを介してドキュメント作成者の意図を表示。SetPdfPrintPaperHandlingDevModeは両面印刷ヒントを WindowsDEVMODE.dmDuplexにマップします- N-up 印刷 - Delphi、C++Builder、Lazarus の
PrintPreferencesデモは、奇数 / 偶数ページフィルタリング、グレースケールレンダリング、オプションの 1 ピクセルセル境界、PDF 作成者の印刷設定、SetPdfPrintPaperHandlingDevModeを介した両面印刷意図のマッピングを伴う N-up シート構成(1 / 2 / 4 / 9 ページ / シート)を示します
同梱デモ
Demo\Delphi、Demo\CBuilder、Demo\Lazarusツリーは、3 つすべての IDE ファミリにわたって実際の API サーフェスを活用する実行可能なサンプルプロジェクトを同梱しています。ハイライト:
- PDFViewer / MultiPageViewer / SplitView - エンドツーエンドの TPdfView 使用法:読み込み、ナビゲーション、ズーム、回転、見開き、表紙対応レイアウト、同期コマンドによる Delphi / C++Builder / Lazarus 並列 PDF 比較。ビューアデモは複数ギガバイトの PDF の実用的な速度テストでもあり、2.x GB のドキュメントが、ページレンダリングを応答性の高い状態に保ちながらほぼ即座に使用可能な最初のビューに到達できます
- ViewerInteractionLab - 表示モード、フィットモード、ページカラー、回転、検索ハイライト、テキスト選択、選択テキストプレビュー、クリップボードアクション、DeviceToPage 座標フィードバック向けの Delphi、C++Builder、Lazarus 集中型 TPdfView インタラクションサンプル
- SearchAndSelect - 全ページ検索結果一覧、前 / 次マッチナビゲーション、ダブルクリックによる結果ジャンプ、
HighlightSearchText、大文字小文字区別 / 単語単位検索、AllowUserTextSelection、SelectedText、SelectAll、CopySelectionToClipboard、ClearSelection、見開き表示モード向けの Delphi、Lazarus、C++Builder 集中型ワークフローサンプル- PreflightReport - 再利用可能な
FPdfPreflightReportを取り囲む Delphi、Lazarus、C++Builder ワークフローデモ、および Delphi コンソールコンパニオン。PDF/A、PDF/UA、PDF/E、PDF/X、PDF/R、PDF/VT 検証結果をステータス、優先度、問題カテゴリ、問題カテゴリ数、次のアクションサマリー行、問題の推奨事項、テキスト / Markdown / JSON / CSV プレビュー、TXT / HTML / Markdown / JSON / CSV レポート、スクリプト可能なレポート生成、レポートディレクトリルーティング付きのバッチリストおよびディレクトリ処理、TXT / JSON / HTML 集計サマリー、CSV 行マニフェスト、オプションのレポート添付埋め込み、CI ゲーティング終了コードに収集します- ContentExtractionLab - TXT / JSON エクスポート、全 / 無カテゴリ選択、元 PDF 保存、レポートコピーアクションを伴う、ドキュメントメタデータ、ページテキスト、ページオブジェクト、画像、添付ファイル、リンク、アノテーション、ブックマーク、フォント / 文字メトリクス向けの Delphi、Lazarus、C++Builder 統合コンテンツインベントリワークフロー
- WatermarkStamp - マルチページターゲット PDF にわたる中央配置ウォーターマーク、コーナースタンプ、ページ番号ラベル向けの Delphi、Lazarus、C++Builder 再利用可能 Form XObject ワークフロー
- CreatePDF - テキスト、画像、パス、テーブル、ウォーターマーク構成を伴うマルチページ PDF をゼロから構築。アクセント付きのチェコ語 / フランス語 / ドイツ語 / スペイン語 / ポルトガル語 / ポーランド語 / トルコ語テキストを書き込んでフォント選択と Unicode 処理を検証するための「European Text」オプションも含まれます
- ExtractText / ExtractImages / ContentExtractionLab - 抽出されたテキスト(ページごとに分割された出力を含む)または埋め込み画像をディスクに保存、または 1 パスでマルチカテゴリコンテンツインベントリレポートを生成
- FormFill - AcroForm フィールドメタデータの読み取り、値の書き込み、/AP アピアランスの再生成、編集可能またはフラット化された結果の保存
- FontProperties - Delphi、C++Builder、Lazarus で TPdf と TPdfView の両方を介してインデックス付き文字 / フォントメタデータを検査
- MergePDF / SplitPDF - 複数のソース PDF をファイルごとのページ範囲選択、オプションの出力パス、実行ログ、キャンセルボタン、マージ完了サマリー付きで結合、または 1 つの PDF をページごとの出力ファイルに分割
- PDFtoJpg / BatchExport - ファイルごとの全体進捗、ページごとの現在の進捗、DPI / 品質 / パスワード入力、
IPdfCancellationTokenでバックアップされた協調的にキャンセル可能なバッチを伴う Delphi、C++Builder、Lazarus のワンショットまたはバッチ複数ファイル PDF から JPG への変換- StandardsLab - PDF/A、PDF/UA、PDF/E、PDF/X、PDF/R、PDF/VT 検証、問題報告、標準指向の保存出力向けの Delphi、C++Builder、Lazarus ワークフローサンプル
- PrintPDF / PrintPreferences - プレビュー、ページ範囲、コピー、丁合、進捗、キャンセル付きの Delphi、C++Builder、Lazarus 標準 PDF 印刷(PrintPDF)、および奇数 / 偶数フィルタリングと PDF 作成者の印刷設定付きの Delphi、C++Builder、Lazarus N-up シート構成(PrintPreferences)
- SecurityAudit - 権限、添付ファイル、JavaScript アクション、URI / Launch リンク、ウェブリンク、署名、XFA 状態、V8 / XFA ヘルパー利用可能性、TXT / JSON 監査レポート向けの Delphi、C++Builder、Lazarus 読み取り専用リスクサーフェスサンプル
- Attachment - PDF を作成し、埋め込みファイル添付の追加 / 一覧表示 / 抽出 / 削除 / 保存を MIME サブタイプ表示付きで実行
- ImageToPDF - プレビューと画像ごとの進捗を伴う、1 ページあたり 1 画像の Delphi、C++Builder、Lazarus 画像バッチ変換
Delphi、C++Builder、Lazarus の回帰テストスイートは、同じフィクスチャ PDF を共有する 147 件(Pas)/ 123 件(C++)のケースをカバーするため、3 つすべての IDE ファミリ間で動作はバイト整合性を保ちます。
プラットフォームサポート
- Delphi - Delphi XE5 (RAD Studio XE5) から Delphi 13.1 Florence (RAD Studio 13.1) まで
- C++Builder - C++Builder XE5 (RAD Studio XE5) から C++Builder 13.1 Florence まで
- Lazarus - Free Pascal / Lazarus サポート
- Win32 / Win64 - 32-bit および 64-bit Windows プラットフォームの両方