DelphiのPDFium ComponentでPDFフォントプロパティを読み取る
PDFium Componentを使用してDelphiからPDF内のフォントを検査します。グリフのファミリ名、ベース名、太さ、斜体の角度、およびフォントフェイスが埋め込まれているかどうかを読み取ります
losLab ソフトウェア開発ブログ
Software Development Blog
PDFium Componentを使用してDelphiからPDF内のフォントを検査します。グリフのファミリ名、ベース名、太さ、斜体の角度、およびフォントフェイスが埋め込まれているかどうかを読み取ります
PDFを信頼する前に、そのリスク要因を列挙しよう。Delphiで、PDFiumを使いドキュメントのJavaScript、起動アクション、署名の権限をどう監査するかを実例つきで解説する
PDFium Componentを使用してDelphiで機能するPDFビューアを組み立てます。TPdfをTPdfViewに接続し、ドキュメントをロードしてレンダリングしてから、ページング、ズーム、およびフィットモードのナビゲーションを追加します。 DelphiにおけるPDFビューアは、2つのコンポーネントとそれらの間の
PDFium Componentを使用してスキャンされたページのフォルダーを1つのPDFにマージするための、機能するDelphiレシピ。ドキュメントを作成し、画像ごとにページを追加し、サイズに合わせてスケーリングして保存します
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 ComponentでXFAフォームを検出し、template、datasets、configの各パケットを生のXMLとして抽出します。静的なパケット読み取りにV8ランタイムは不要です
DelphiのPDFium ComponentでXFDFフォームデータと注釈をエクスポートおよびインポート:ISO 19444-1ラウンドトリップ、18の注釈サブタイプ、ロケールセーフな数値表示
DelphiのPDFiumコンポーネントを使用してPDFから埋め込み画像を抽出します:BitmapCountの読み取り、各Bitmap[]の取得、サイレントオープン失敗の処理、出力のJPEGまたはBMPとしての保存
DelphiのPDFium ComponentでPDFのテキストを抽出:Character[]による生のグリフアクセス、ReadablePageContentによる段落構造の取得、Activeプロパティのサイレント失敗対策
CライブラリをPascalでラップすると、鋭い角が隠されます。cdeclコールバックからFPC Win64のポインタ幅切り捨てまで、PDFiumバインディングにおける実際の欠陥とその修正について解説します
DelphiおよびLazarus用のPDFiumコンポーネントを使用してPDF署名を読み取ります:SubFilter、ByteRange、CMSを検査し、PAdES B-BからB-LTAの基準レベルを検出します
DelphiでPDFiumコンポーネントを使用して長期PAdES署名を追加します:B-T、B-LT、およびB-LTAの基準レベルのためのRFC 3161タイムスタンプ、DSS検証ストア、およびDocTimeStamps
DelphiのPDFiumコンポーネントを使用してPDFファイルをマージします:ImportPages、ページ範囲文字列、挿入位置、不良ファイルでのサイレント失敗、およびフォームフィールドの動作。 PDFiumコンポーネントは、単一のメソッドである を通じてPDFのマージを公開します
複数のPDFページを1枚の用紙に配置し、ページの順序を並べ替え、またはサブセットを抽出します。PDFiumのインポジションおよびページ移動APIと、返されるハンドルについて解説します
Delphiでのサブ文字列キー検索がPDF辞書解析を破損させる理由:ISO 32000-1に基づく名前トークン全体の完全一致と、悪意のあるPDFに対するリソース制限 のような部分文字列検索は、PDFの辞書を読み取るための正しいツールではありません。なぜなら、PDFの名前キーはプレフィックス(接頭辞)を共有することがある
DelphiのPDFビューアをスクリーンリーダーに対応させる方法をPDFium Componentで解説する:タグ付き読み上げ順序の抽出、単語単位のTTSハイライト、未タグPDFへの現実的な代替処理を扱う
PDFiumPasがDelphiでPDF文書間へAcroFormフィールドを移植する方法を解説。GraftPdfAcroForm、ウィジェットのページ再マップ、グラフトマップのトランザクション、フェイルクローズの上限を扱います
PDFiumPasがDelphiでPDF画像のダウンサンプルにBox、バイリニア、バイキュービック、Lanczosカーネルを選ぶ方法を解説。アルファ対応の演算と厳格な作業メモリ予算も紹介します
DelphiでPDF注釈レビューパネルを構築する方法をPDFium Componentで解説する:ページ単位でマークアップを索引化し、外観ストリームによる拒否に耐え、注釈を痕跡なく再着色・削除する
長時間のPDFレンダリングはUIスレッドから切り離す必要があります。Delphiにおいて、PDFiumのバインディングがキャンセル可能なFutureを用いてバックグラウンドスレッドでどのように作業を実行するかをご覧ください
PDFium Delphi componentが巨大pageをhorizontal bandでrenderする仕組みを説明します。negative Y offsetがgeometryを保ち、PNGとTIFFをstream出力します
遅いページレンダリングがUIをフリーズさせたり、最後まで実行されたりしてはなりません。Delphiにおいて、PDFiumのプログレッシブレンダリングがIFSDK_PAUSEを介してどのようにキャンセル可能になるかをご覧ください
PDFium Componentで/Vをウィジェット注釈から読むとチェックボックスが未チェックとしてフラット化されてしまう。ISO 32000-1では/Vは親フィールド辞書に属するためだと解説
PDFium ComponentはDelphiでCID Type 2フォントを用いてグリフレベルのテキストを書き込み、CID-to-GIDマップとToUnicodeマップを生成することで、シェイピング済みテキストが抽出可能なまま保たれる
PDFium ComponentはX.690 11.6の要求によりsignedAttrsをDER SET OFとしてソートします。自己検証では、第三者バリデータが拒否する欠陥を決して捕捉できません
PDFium コンポーネントがネイティブライブラリを見つける順序付きの検索チェーンと、ターゲットマクロに紛れた 1 つの大文字が Linux でライブラリ検索全体を壊した経緯を解説します
DelphiとFPC/Lazarusの間の4つの隠れた仕様差がPDFiumのコードに影響:レコードの一時オブジェクトの寿命、範囲チェック、E2010 TBytesキャスト、およびAnsiStringのバイト消失について解説します
PDFium ComponentはDelphiにおけるPDF編集に、検証済みスナップショットとコンパクトな双方向デルタを用いて、ドキュメントレベルのUndo・Redoとクラッシュリカバリを追加する
PDFium ComponentがDelphiでTBytesのバイト範囲から埋め込みPDFを直接読み込む方法を解説する:オーバーフロー安全な境界チェックと借用バッファのライフタイムルールを扱う
FPDFText_GetUnicodeは完全な32ビットのコードポイントを返すが、WideCharは16ビットしか保持できない。そのためDelphiのPDFiumコンポーネントは絵文字と稀なCJK表意文字を破損させうる
DelphiのPDFium Componentは、ISO 32000-1 7.5.6の増分更新規定に従い、暗号化されたPDFを平文マーカーやPAdES署名でパッチすることを拒否する仕組みを解説する
PDFium コンポーネントが欧州の信頼リストを解析の前に認証する方法と、合格ステータスを通常のチェーン信頼とは別の値として記録する設計を、認証前解析と更新不変量を中心に解説します
PDFiumPasはアクティブなxref改訂チェーンとAdobe Extension Levelを解決し、適合性を壊すことなくDelphi PDFを1.3から1.7までの正確なバージョンで保存する
PDFium ComponentでWaitForIdleとpadSynchronizeの応答がDelphiのメインスレッドをデッドロックさせる仕組み、そしてキューの容量、シャットダウン順序、TPdf所有権の限界を解説
DelphiやFPCの関数結果に対するFillCharは、管理されたレコードを文字列を解放せずにゼロ埋めしてしまい、ルーチンがループで実行されるたびにメモリをリークする問題を解説する
入力済みのPDFフォームがAcrobatで空白に見える理由と直し方:FormFillの設定、キーボードによるフィールド移動、そしてDelphiビューアーでのGenerateFormAppearances
DelphiとFPCのPDFビューアにおける3層の印刷ループは、キャンセルをクリックした後もレンダリングを続ける。なぜならFree Pascalはforループの上限をエントリ時点で固定してしまうからだ
Free Pascalでは非ASCIIのPDF titleがXMP packet内でinvalid UTF-8になります。PDFiumのstring codepage規則とSetCodePage fixを説明します
PDFiumPasでDelphiからISO/TS 32003準拠のAESV4-GCM暗号化PDFを生成し、R7の鍵導出、独立したPDF MAC整合性トークン、ValidatePdfMacのステータス確認も扱う
PDFium Component の Lazarus and Free Pascal viewer integration を、アーキテクチャ判断、診断、検証、境界ケース、Delphi/C++Builder のチェック項目から解説 Delphi/C++Builder には PDFium Component
PDFium VCLは非WindowsターゲットでRFC 3161のタイムスタンプ要求をlibcurlに8シンボルの動的バインドで送ります。空のExpectヘッダーとCURLOPT_NOSIGNALの2設定がロード下の信頼性を決め、3828行の非Windowsパスもコンパイルで検証しました
PDFium Component を使って Delphi の PDF ビューアにロービジョン向けカラーフィルターを実装する方法を解説。反転・ハイコントラスト・グレースケール・背景色の各モードの使い分けと、WCAG コントラスト比の検証、印刷時の見た目の扱いまで説明します
PDFium VCLのmacOSバックエンドはSecurityとCoreFoundationのシンボルをdlopenとdlsymで実行時に解決し、リンク時バインドは一切なし。変数型と構造体型のシンボルの違い、RSA-PSSの二重フォールバック、ECDSAのDER符号化まで扱います
マーク付きコンテンツはタグ付きPDFを支えるBDCとEMCのペア。PDFium ComponentがDelphiのコードからマーク名、型付きプロパティリスト、MCIDを読む仕組みを解説
PDFの行ベクトル規約がDelphiでMultiplyをappendに、PreMultiplyをprependにする仕組み、PreTranslateが線形部分を必要とする理由、ピボットヘルパーの合成方法を解説
PDFium ComponentがDelphiでISO 32000の名前ツリーと番号ツリーを再構築する方法:バランスの取れたノード、正しい/Limits、安定したルートID、検証付きセーブを解説します
FlateDecodeだけではPDFオブジェクトストリームが生データではなく差分化されたままになる理由と、PDFiumPasがDelphiでPNG・TIFF Predictorの再構築をどう適用するかを学ぶ
PDFium ComponentはDelphiから、スキャン済みPDFに不可視のOCRテキストレイヤーを追加します。画像には一切手を加えず、単語の四角形をデバイス座標からページ座標への変換で位置づけます
IPdfCmsVerifierの背後でCMS検証を差し替え可能にし、OpenSSL実装が素朴に書くと自信満々の誤答を生む3つの挙動、共有BIOの巻き戻し、CMS_NO_SIGNER_CERT_VERIFYの効果範囲、空ストアでのCRL検証を解説します
PDFiumPasのSaveAsRedactedが部分的に覆われたテキスト、矩形パス、軸整列画像をオペレータ単位で分割し、未参照リソースを刈り込む方法を解説。フェイルクローズ動作と共有スコープ間のリソース刈り込みも扱います
pdfium.dllがバインディングより古いとき、1つの欠落エクスポートが読み込みを殺し得る。PDFium ComponentがDelphiで任意エクスポートをどうゲートし安全に劣化するか
PDFiumPasがDelphiでページの移動や消失後にPDFしおり項目を書き直す方法を解説。符号付きCount、兄弟チェーン、ApplyPageMap、検証済みインクリメンタル保存を扱います
DelphiでFPDFPage_TransFormWithClip実行後にPDFiumのページオブジェクトハンドルが古い座標を読んでしまう理由と、それを直すリロード順序およびゲッターの見張り値を解説する
1つのスナップショットポリシーでDelphiのすべてのPDFパーサを制限します:PDFium Componentが再帰、トークン、オブジェクト、バイト、比率、期限の制限を一元管理します
PDFium Component を使って Delphi で PDF 取り込みレビューワークベンチを構築する方法を解説。暗号化、XFA、JavaScript、添付ファイルなどのリスク信号の検出と、メタデータの二重管理、ルーティング状態の設計まで説明します
Delphi で PDFium Component を使い、SaveAsPdfA、XMP、ICC OutputIntent の挿入、a/b/u 準拠、そして落とし穴まで含めて、veraPDF に通る PDF/A アーカイブを作成します。 PDF/A-1b とマークする変換器を出荷し、顧客の記録システムがそれらを 1
PDF/AファイルがAnnex Cのコンテナ上限やシンボリックTrueTypeのEncodingエントリで落ちる理由と、PDFium ComponentがDLLなしでDelphiから両方を報告する仕組みを解説 PDFium Componentは、ISO 19005-1 Annex
Delphi と PDFium Component で、PDF/A のプレフライト検証器をバイトレベルで実装する方法を解説。29 の検証項目、part 別の判定、object stream 展開、完全なコンテンツ解析なしでの確認を扱う
PDFDocEncodingの特殊ブロックは$7Fではなく$80から始まります。1行ずれたテーブルにより、PDFium ComponentのFDFインポートがすべての記号を隣の文字としてデコードします
PDF/Rがスキャンをページ1枚につきストリップ画像1枚に制限しテキストもフォントも持たせない仕組みと、PDFium ComponentがDelphiでISO 23504-1を検証する方法を解説
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 の落とし穴を扱います
PDFiumPasがDelphiでPKCS#11 tokenを使ってPAdES署名する際のCK_ULONGとstruct packingを説明します。Windowsは4 byte、LP64は8 byteです
PDFium コンポーネントがすべてのシェーピング呼び出しを 1 つの組み込み可能バックエンドへ振り分ける方法を、Windows の Uniscribe と FPC 向けの実行時バインド HarfBuzz とともに解説します
PDFium ComponentでDelphi向けPDF/AおよびPDF/UAプリフライトを自動化:バッチループ、終了コード、JSONおよびHTMLレポート、空の結果が合格でない理由を解説
PDFium ComponentはDelphiでPDFページから意味的なリフローモデルを構築し、見出し・リスト・検出されたテーブルを含む自己完結型のHTMLとしてエクスポートします
PDFiumPasのPreparePadesRemoteSignatureとCompletePadesRemoteSignatureでDelphiからHSMやクラウド鍵を使ってPDFに署名し、永続化可能な署名セッションも扱う
PDFiumを使うDelphiのPDFビューアーでズームとスクロールを滑らかに保つ方法:正しいキャッシュキー、ビットマップの所有権、プログレッシブ描画、高DPIのメモリ予算
PDFiumPasのレンダーロックは並行するUnloadPageやReloadPageからラスタライズを保護するが、TPdfとTPdfViewの6つの呼び出しはv2.26.0までそれを迂回していた
PDFium ComponentでDelphiのPDFプレビュー枠を堅くする方法:読み込み時にJavaScriptを無効化し、リンククリックを横取りし、添付を絞り込み、暗号化の権限を読み取ります
PDFiumPasがファイルを読み込まずに1つのPDFオブジェクトを読む方法を解説。疎なxrefセクション記述子、遅延オブジェクトストリーム、ハイブリッドXRefStm、1 MiB読み取りウィンドウを扱います
PDFiumPasのGetStructuredTextでDelphiからPDFテキストをブロック・行・スタイル付きスパンとして抽出し、読み取り順序の選択、タグによる意味付与、フェイルクローズな予算も扱う
PDFium Componentは、Delphiアプリケーションが埋め込まれていないPDFフォントに対して独自のフォントバイト列を供給できるようにし、ホストのフォントマッピングを決定論的なプロバイダーで置き換えます
PDFium ComponentはDelphiにおいてPDFページ内の罫線付き・空白整列テーブルを検出し、結合セルとスパンを解決し、行をCSVまたはJSONとしてエクスポートする
PDFテキストのレイアウトには、描画する前に文字列の幅が必要です。Delphiでのワードラップのために、PDFiumバインディングがページに触れることなくテキストを測定する方法をご覧ください。 PDFページにテキストを配置する呼び出しは簡単です。 に文字列、フォント、サイズ、位置を指定すると、グリフが表示されます
PDFiumはDelphiでキャッシュされたFPDF_TEXTPAGEハンドルを保持する;AddText、SetText、AddPathの編集後、次のテキストクエリの前に再読み込みしない限りそれは古くなる PDFiumPasでPDFページに1行を刻印するために を呼び、そのスタンプが着地したことを確認するためすぐに
PDFiumでDelphiの二重回転してしまうPDFサムネイルを修正する:レンダーの回転パラメータが加算式である理由、そして90/270度ページで幅と高さがフィットズームでどう入れ替わるか PDFiumコンポーネントの 関数は回転引数を受け取るが、PDFiumはページがすでに自身の
PDF テキストレイアウトを Windows から離すとなぜ自分で UAX #9 を実装するはめになるかと、追加面文字を壊したり並べ替えを丸ごと省略したりする 2 つのミスを解説します
PDFテキストページには行オブジェクトがない。PDFium ComponentがFPDFText_GetCharBoxの幾何学から視覚的な行をどう構築し、1つのヘルパーをすべての選択パスで共有するかを見る
PDFium ComponentがDelphiでフォームフィールドインデックスと注釈インデックスを分離する仕組み:Widgetサブタイプでフィルタし、ネイティブ境界でマッピングし、ヘッドレスなフォームフォーカスを修正する方法
PDFiumの単語ボックスを使用してDelphiでテキスト読み上げと単語ハイライトを同期:TrackReadingWordAt、レンダリング順序、自動スクロール、Unicodeの落とし穴
PDFiumコンポーネントはXFAフィールドの編集をメモリ上のバッファにしか書き込まないため、Delphiアプリは保存時にその値を失う:AcroFormはそれを永続化するがXFAはしない PDFiumコンポーネントの は、現在フォーカスされているフォームフィールドのライブな編集バッファに書き込むが、XFAフォームの場合
PDFium Componentを使用してDelphiからPDFを印刷します。RenderPageとrePrintingでページをレンダリングし、StretchDIBitsを介してビットマップをTPrinterに送信し、用紙に合わせ、回転を処理します。 PDFの座標はポイント単位であり、プリンターの座標はデバイス単位で
透かしやロゴを一度描画し、すべてのページに配置します。PDFiumのForm XObjectがDelphiで再利用可能なページスタンプをどのように作成するか、およびハンドルのライフタイムルールをご覧ください
DelphiのPDFium ComponentでAcroForm JavaScriptを実行:フィールド計算が機能しない理由、V8 DLLの要件、危険なPDFアクションを拒否するホストイベント
PDFium Componentを使いDelphiでPDFにPAdES B-Bの電子署名を付けます。自前のSHA-256とCMS、そしてバイト単位の署名を担うWindows CNGバックエンドを解説します
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によるビューごとのズーム、および同期されたページナビゲーション
現代のPDFは、圧縮されたオブジェクトおよびxrefストリーム内に構造を隠します。DelphiバリデーターがどのようにObjStmを展開し、PDFiumでxrefストリームのトレーラーを読み取るかをご覧ください。 あなたは小さなバリデーターを作成します。それはPDFを開き、最後までシークし、
Delphiで印刷対応のPDF/Xファイルを検証:PDFium ComponentのValidatePdfXが、TrimBox、Trapped、OPI、LZW、およびフォントの埋め込みに関するISO 15930チェックを実行します Delphi向けのPDFium Componentは、
PDFium Delphi ComponentがmacOSでCMSDecoderとSecTrustを通じてPDF signatureをverifyする方法を解説します。byte range、status、CFReleaseを扱います
PDF検証ツールがPAdES署名を拒否する理由:ゼロのByteRangeフィールド、D:日付プレフィックスの欠落、および増分更新後の/Encryptの消失と、PDFium Componentにおける対策
DelphiのPDFium ComponentにおけるPDFファイル添付ファイルの処理方法:AttachmentCount、Attachment、CreateAttachment、DeleteAttachment、パスのサニタイズ、およびインプレース保存について PDFの添付ファイルは、ドキュメントの組み込みファイルツ