DelphiのPDFium ComponentでPDFフォントプロパティを読み取る
PDFium Componentを使用してDelphiからPDF内のフォントを検査します。グリフのファミリ名、ベース名、太さ、斜体の角度、およびフォントフェイスが埋め込まれているかどうかを読み取ります。 PDF内のすべての可視文字には、それを描画したフォントへの参照が含まれており、PDFium
losLab ソフトウェア開発ブログ
Software Development Blog
PDFium Componentを使用してDelphiからPDF内のフォントを検査します。グリフのファミリ名、ベース名、太さ、斜体の角度、およびフォントフェイスが埋め込まれているかどうかを読み取ります。 PDF内のすべての可視文字には、それを描画したフォントへの参照が含まれており、PDFium
PDFを信頼する前に、そのリスク要因を列挙しましょう。Delphiにおいて、PDFiumでJavaScript、起動アクション、署名許可を監査する方法を解説します PDFは単なる紙ではありません。ファイルが開いたときに実行されるスクリプト、外部プログラムを起動するリンク、Webサーバーにアクセスするリンク、ファイル
PDFium Componentを使用してDelphiで機能するPDFビューアを組み立てます。TPdfをTPdfViewに接続し、ドキュメントをロードしてレンダリングしてから、ページング、ズーム、およびフィットモードのナビゲーションを追加します。 DelphiにおけるPDFビューアは、2つのコンポーネントとそれらの間の
PDFium Componentを使用してスキャンされたページのフォルダーを1つのPDFにマージするための、機能するDelphiレシピ。ドキュメントを作成し、画像ごとにページを追加し、サイズに合わせてスケーリングして保存します。 ある保険金請求処理チームは、30年分の紙のファイルをシートフィードスキャナーで処理していま
PDFium Componentを使用してDelphiでPDFページをJPEGにラスタライズします。DPIをピクセルサイズに変換し、各ページをビットマップにレンダリングしてから、選択した品質でTJPEGImageを使用してエンコードします。 PDFページをJPEGにレンダリングすることは、人々が一緒に実行し、その後別々
PDFium Componentを使用してDelphiでゼロからPDFを構築します。CreateDocument、AddPage、AddText、およびCreatePathに加えて、つまずきやすい座標とフォントの埋め込みルールについて説明します。 PDFiumは、ChromeのPDFタブの背後にあるレンダラーとして、ビ
DelphiでPDFiumを使用してハイライトおよび下線注釈を作成:QuadPointsの順序、FPDFAnnot_SetAttachmentPointsがFalseを返す理由、およびAppendによる解決策について解説します PDFium Componentは、 を介して、テキストマークアップ注釈(ハイライト、下線、
Delphiにおけるpdfium.dllのロード失敗の診断:32/64ビットのERROR_BAD_EXE_FORMAT 193の修正、古いDLLの特定、およびスレッドをまたぐ安全なPDFiumコンポーネントのロード 顧客の環境でpdfium.dllのロードが拒否された場合、DelphiおよびLazarus用のPDFiu
DelphiでXFAフォームを検出し、PDFiumコンポーネントを使用してテンプレート、データセット、構成パッケージを生のXMLとして抽出する — 静的なパッケージ読み取りにV8ランタイムは不要です はい、PDFiumはXFAフォームをサポートしていますが、1つ重要な区分があります
DelphiのPDFium ComponentでXFDFフォームデータと注釈をエクスポートおよびインポート:ISO 19444-1ラウンドトリップ、18の注釈サブタイプ、ロケールセーフな数値表示 DelphiおよびLazarus用のPDFium Componentは、ISO 19444-1で定義されたXML交換フォーマ
DelphiのPDFiumコンポーネントを使用してPDFから埋め込み画像を抽出します:BitmapCountの読み取り、各Bitmap[]の取得、サイレントオープン失敗の処理、出力のJPEGまたはBMPとしての保存。 PDFは画像をコンテンツストリーム内のファーストクラスオブジェクトとして保存します
DelphiのPDFium ComponentでPDFのテキストを抽出:Character[]による生のグリフアクセス、ReadablePageContentによる段落構造の取得、Activeプロパティのサイレント失敗対策 PDFのテキスト抽出は単純に見えますが、テキストレイヤーが存在しないドキュメントや、破損している
CライブラリをPascalでラップすると、鋭い角が隠されます。。cdeclコールバックからFPC Win64のポインタ幅切り捨てまで、PDFiumバインディングにおける実際の欠陥とその修正について解説します CライブラリをラップしたPascalバインディングは、普通のPascalコードのように読めます
DelphiおよびLazarus用のPDFiumコンポーネントを使用してPDF署名を読み取ります:SubFilter、ByteRange、CMSを検査し、PAdES B-BからB-LTAの基準レベルを検出します 署名付きのPDFを受け取り、ビューアに誰が署名したか、いつ署名されたか、署名がファイル全体をカバーしているか
DelphiでPDFiumコンポーネントを使用して長期PAdES署名を追加します:B-T、B-LT、およびB-LTAの基準レベルのためのRFC 3161タイムスタンプ、DSS検証ストア、およびDocTimeStamps 署名用証明書が期限切れになりCAが交代した何年も後でも署名付きPDFを検証できるように、PDFium
DelphiのPDFiumコンポーネントを使用してPDFファイルをマージします:ImportPages、ページ範囲文字列、挿入位置、不良ファイルでのサイレント失敗、およびフォームフィールドの動作。 PDFiumコンポーネントは、単一のメソッドである を通じてPDFのマージを公開します
複数のPDFページを1枚の用紙に配置し、ページの順序を並べ替え、またはサブセットを抽出します。。PDFiumのインポジションおよびページ移動APIと、返されるハンドルについて解説します 結合(Merge)と分割(Split)は、誰もが最初に手を伸ばす2つのページ操作であり、多くの用途をカバーします
Delphiでのサブ文字列キー検索がPDF辞書解析を破損させる理由:ISO 32000-1に基づく名前トークン全体の完全一致と、悪意のあるPDFに対するリソース制限 のような部分文字列検索は、PDFの辞書を読み取るための正しいツールではありません。なぜなら、PDFの名前キーはプレフィックス(接頭辞)を共有することがある
PDFium Component の accessible PDF reader design を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component のワークフローを、Lazarus/FPC
PDFium Component の annotation review UI を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component のワークフローを、Lazarus/FPC には
長時間のPDFレンダリングはUIスレッドから切り離す必要があります。Delphiにおいて、PDFiumのバインディングがキャンセル可能なFutureを用いてバックグラウンドスレッドでどのように作業を実行するかをご覧ください。 PDFiumでのページのレンダリングは同期的です。ライブラリを呼び出すと、渡したビットマップに
遅いページレンダリングがUIをフリーズさせたり、最後まで実行されたりしてはなりません。Delphiにおいて、PDFiumのプログレッシブレンダリングがIFSDK_PAUSEを介してどのようにキャンセル可能になるかをご覧ください。 ほとんどのPDFページは数ミリ秒でラスタライズされ、それについて考えることはありません
PDFium Componentで/Vをウィジェット注釈から読むとチェックボックスが未チェックとしてフラット化されてしまう。ISO 32000-1では/Vは親フィールド辞書に属するためだと解説
DelphiとFPC/Lazarusの間の4つの隠れた仕様差がPDFiumのコードに影響:レコードの一時オブジェクトの寿命、範囲チェック、E2010 TBytesキャスト、およびAnsiStringのバイト消失について解説します 同じObject Pascalソースコードであっても、DelphiとFPC/Lazarus
FPDFText_GetUnicodeは完全な32ビットのコードポイントを返すが、WideCharは16ビットしか保持できない。そのためDelphiのPDFiumコンポーネントは絵文字と稀なCJK表意文字を破損させうる
DelphiのPDFiumコンポーネントは、ISO 32000-1 7.5.6の増分更新規定に従い、暗号化されたPDFを平文マーカーやPAdES署名でパッチすることを拒否する
PDFiumPasはアクティブなxref改訂チェーンとAdobe Extension Levelを解決し、適合性を壊すことなくDelphi PDFを1.3から1.7までの正確なバージョンで保存する
PDFium ComponentでWaitForIdleとpadSynchronizeの応答がDelphiのメインスレッドをデッドロックさせる仕組み、そしてキューの容量、シャットダウン順序、TPdf所有権の限界を解説
DelphiやFPCの関数結果に対するFillCharは、管理されたレコードをその文字列を解放せずにゼロ埋めしてしまい、そのルーチンがループで実行されるたびにメモリをリークする
PDFium Component の form-field navigation and viewer validation を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component
DelphiとFPCのPDFビューアにおける3層の印刷ループは、キャンセルをクリックした後もレンダリングを続ける。なぜならFree Pascalはforループの上限をエントリ時点で固定してしまうからだ
PDFium Component の Lazarus and Free Pascal viewer integration を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component
PDFium Component の low-vision color filters and reading modes を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component
PDFの行ベクトル規約がDelphiでMultiplyをappendに、PreMultiplyをprependにする仕組み、PreTranslateが線形部分を必要とする理由、ピボットヘルパーの合成方法を解説
FlateDecodeだけではPDFオブジェクトストリームが生データではなく差分化されたままになる理由と、PDFiumPasがDelphiでPNG・TIFF Predictorの再構築をどう適用するかを学ぶ
PDFium Component の PDF intake and review workbench を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component
Delphi で PDFium Component を使い、SaveAsPdfA、XMP、ICC OutputIntent の挿入、a/b/u 準拠、そして落とし穴まで含めて、veraPDF に通る PDF/A アーカイブを作成します。 PDF/A-1b とマークする変換器を出荷し、顧客の記録システムがそれらを 1
Delphi と PDFium Component で、PDF/A のプレフライト検証器をバイトレベルで実装する方法を解説。29 の検証項目、part 別の判定、object stream 展開、完全なコンテンツ解析なしでの確認を扱う アーカイブ取り込みゲートは、机上のどのビューアでも問題なく開く「PDF/A-2b」フ
PDFium VCL で実際の PDF タグツリーを走査し、Figure の Alt、Formula の代替テキスト、Note ID の一意性など、バイトレベル走査では見落とす PDF/UA の内容エラーを検出します。 プリフライトではそのファイルは PDF/UA 適合と出ます
Delphi の PDFium VCL で PDF/VT-1 の可変データ印刷ファイルを生成し、検証する方法を解説します。DPart ツリー、必須の PDF/X-4 組み合わせ、ISO 16612-2 の落とし穴を扱います。 帳票を 8 万ページ連結したデータを取引先の印刷会社へ渡したところ、返ってきた差し戻しはたった
PDFium ComponentでDelphi向けPDF/AおよびPDF/UAプリフライトを自動化:バッチループ、終了コード、JSONおよびHTMLレポート、空の結果が合格でない理由を解説 バッチプリフライトツールはウィンドウのないコンソールプログラムです。PDFフォルダを指定すると、指定した適合規格に対して各ファイル
PDFium Component の render cache and zoom performance を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component
PDFiumPasのレンダーロックは並行するUnloadPageやReloadPageからラスタライズを保護するが、TPdfとTPdfViewの6つの呼び出しはv2.26.0までそれを迂回していた
PDFium Component の secure PDF preview surfaces を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component のワークフローを、Lazarus/FPC
PDFテキストのレイアウトには、描画する前に文字列の幅が必要です。Delphiでのワードラップのために、PDFiumバインディングがページに触れることなくテキストを測定する方法をご覧ください。 PDFページにテキストを配置する呼び出しは簡単です。 に文字列、フォント、サイズ、位置を指定すると、グリフが表示されます
PDFiumはDelphiでキャッシュされたFPDF_TEXTPAGEハンドルを保持する;AddText、SetText、AddPathの編集後、次のテキストクエリの前に再読み込みしない限りそれは古くなる
PDFiumでDelphiの二重回転してしまうPDFサムネイルを修正する:レンダーの回転パラメータが加算式である理由、そして90/270度ページで幅と高さがフィットズームでどう入れ替わるか
PDFium ComponentがDelphiでフォームフィールドインデックスと注釈インデックスを分離する仕組み:Widgetサブタイプでフィルタし、ネイティブ境界でマッピングし、ヘッドレスなフォームフォーカスを修正する方法
PDFiumの単語ボックスを使用してDelphiでテキスト読み上げと単語ハイライトを同期:TrackReadingWordAt、レンダリング順序、自動スクロール、Unicodeの落とし穴 読み上げ機能には音声以外に1つの可視的な役割があります。各単語が読まれるとき、ページ上でその単語をハイライトし、見えるようにしておく
PDFiumコンポーネントはXFAフィールドの編集をメモリ上のバッファにしか書き込まないため、Delphiアプリは保存時にその値を失う:AcroFormはそれを永続化するがXFAはしない
PDFium Componentを使用してDelphiからPDFを印刷します。RenderPageとrePrintingでページをレンダリングし、StretchDIBitsを介してビットマップをTPrinterに送信し、用紙に合わせ、回転を処理します。 PDFの座標はポイント単位であり、プリンターの座標はデバイス単位で
透かしやロゴを一度描画し、すべてのページに配置します。PDFiumのForm XObjectがDelphiで再利用可能なページスタンプをどのように作成するか、およびハンドルのライフタイムルールをご覧ください。 ドキュメントのすべてのページに透かしやロゴをスタンプすることは、ファイルサイズインスペクターで結果を開くまでは
DelphiのPDFium ComponentでAcroForm JavaScriptを実行:フィールド計算が機能しない理由、V8 DLLの要件、危険なPDFアクションを拒否するホストイベント Acrobatでは合計が再計算されるのに、自作のDelphiビューアではフリーズしたままであるフォームは、レンダリングのバグで
DelphiでPDFiumコンポーネントを使用してPDFにPAdES B-Bデジタル署名を追加します:自己完結型SHA-256、CMS、およびバイトレベルの署名のためのWindows CNGバックエンド PDFiumコンポーネントは、 メソッドを介してPDFにPAdES B-Bデジタル署名を行います
DelphiのPDFiumコンポーネントを使用して、ページ、範囲、またはブックマークによってPDFを分割する方法:TPdf.ImportPages、CreateDocument、SaveAsの結果チェック、およびActiveフラグのリセット。 PDFiumコンポーネントには、PDF分割のための1つのメソッド、
数ギガバイトのPDFを丸ごとロードする必要はありません。TStreamアダプターがPDFiumのオンデマンドFPDF_FILEACCESSコールバックにどのようにフィードするか、およびDelphiで4 GiBの制限にガードが必要な理由をご覧ください。 スキャンされたアーカイブは、単一のPDFで数ギガバイトに及ぶことがあ
DelphiのPDFiumコンポーネントを使用して並べて表示するPDFビューアーを構築する:2つまたは3つの独立したパネル、TPdfView.Zoomによるビューごとのズーム、および同期されたページナビゲーション。 2つのドキュメントを同時に開き、同じページ番号で、それぞれが独自のスクロール可能なパネルに表示される
現代のPDFは、圧縮されたオブジェクトおよびxrefストリーム内に構造を隠します。DelphiバリデーターがどのようにObjStmを展開し、PDFiumでxrefストリームのトレーラーを読み取るかをご覧ください。 あなたは小さなバリデーターを作成します。それはPDFを開き、最後までシークし、
Delphiで印刷対応のPDF/Xファイルを検証:PDFium ComponentのValidatePdfXが、TrimBox、Trapped、OPI、LZW、およびフォントの埋め込みに関するISO 15930チェックを実行します Delphi向けのPDFium Componentは、
PDF検証ツールがPAdES署名を拒否する理由:ゼロのByteRangeフィールド、D:日付プレフィックスの欠落、および増分更新後の/Encryptの消失と、PDFium Componentにおける対策 Delphi用のPDFium Componentでデバッグしたほぼすべてのケースにおいて、検証ツールがPAdES署名
DelphiのPDFium ComponentにおけるPDFファイル添付ファイルの処理方法:AttachmentCount、Attachment、CreateAttachment、DeleteAttachment、パスのサニタイズ、およびインプレース保存について PDFの添付ファイルは、ドキュメントの組み込みファイルツ