losLab ソフトウェア開発ブログ

PDF Programming

Software Development Blog

PDF Programming

PDFiumを使用した自動化されたPDFプリフライトとリスク監査

PDFium C APIを使用してDelphiでPDFプリフライトチェックを実装します:起動とJavaScriptの検出、有効な画像DPIの計算、権限ビット、PDF/Aクレームなど。 本番環境の境界(印刷キュー、アーカイブ、顧客のアップロードポータル)に到着したPDFは、レンダリングされる前に監査される必要があります

PDF Programming

DelphiとSAPI TTSを使用して読み上げ可能なPDFビューアを構築する

SAPIの単語境界イベントをDelphiのPDFium単語ジオメトリに接続する: 音声スレッドでのCOMライフサイクル、PDFからピクセルへの変換、同期ハイライト 読み上げボタンは午後のデモで完成したように見えても、その後1週間を費やすことになります。午後に完成するバージョンは、ページのテキストを抽出し、SAPIに渡し

PDF Programming

DelphiのPDFium Componentにおける連続スクロールPDFビューアの作成

DelphiのPDFium Componentで連続スクロールPDFビューアを構築:全ページを一度にレンダリングするとメモリを浪費する理由と、表示ページのみのレンダリングでスムーズに動作させる方法 快適な閲覧倍率でレンダリングされた1枚のA4ページは、32ビットのビットマップで数メガバイトのオーダーになります

PDF Programming

DelphiでのOfficeアプリケーションからのハイブリッド参照PDFの処理

WordとExcelは、2つの相互参照ビューを持つハイブリッド参照PDFをエクスポートします。Delphiで/XRefStmトレイラーキーを検出し、それらを安全に処理する方法を学びます。 Microsoft WordやExcelから「PDFとして保存」でドキュメントをエクスポートすると、ディスク上のファイルは高い確率で

PDF Programming

大規模ドキュメントのための高速AES-256 PDF暗号化

ギガバイト級のPDFのAES-256暗号化が1回のパスではなく、50万回の小さなCBC操作である理由:DelphiでのCNGハンドルの再利用、バッファの再利用、およびR6 KDFのコスト。 2 GBのPDFを暗号化することは、ストリーミングの問題のように聞こえます。ファイルを開き、2ギガバイトをAES-256に通し、結

PDF Programming

Delphi向けlosLab PDFライブラリの比較:HotPDF、PDFium Component、PDFlibPas

HotPDFはDelphiでPDF出力を生成し、AcroFormフィールドに入力します。PDFium Componentは既存のPDFをレンダリングし、テキストを抽出します。PDFlibPasはコンプライアンス署名を処理します。 3つのライブラリ。3つの異なる役割。間違ったものを選択すると、回避策に何週間も費やすことに

PDF Programming

メモリセーフなPDF解析:悪意のあるドキュメントに対する防御

Delphiでの防御的なPDF解析:ストリーム長とCCITTデコードの寸法の検証、xrefオフセットの制限、解凍の上限設定、再帰的構造の保護。 ドキュメントの取り込みパイプラインは、見知らぬ人が作成したファイルを受け入れます。請求書、スキャン、Webフォームからの添付ファイルなど、それぞれがPDFであると主張し、パーサ

PDF Programming

ギガバイト規模のPDF処理のIOパフォーマンスの最適化

2GBのPDFが32ビットDelphiでのファイル全体のMapViewOfFileを壊す理由、およびスライディング64MBマッピングウィンドウとReadFileシステムコールの削減によってスループットを回復する方法。 PDFパーサーの最初の有用な読み取りは、ファイルの反対側の端で行われます

PDF Programming

Delphi での HotPDF ページ抽出パフォーマンス

PDF からページを抽出するには数秒で完了するはずです。この投稿では、HotPDF Delphi ワークフローの実際のボトルネックを追跡し、どの API パスで期待される速度を回復できるかを示します。 40ページの PDF から3ページをコピーするのに2分かかるのは、パフォーマンスチューニングの問題ではありません

PDF Programming

losLab PDF Libraryを使用してPDFページを70%にスケーリングする

losLab PDF LibraryのCapturePageとDrawCapturedPageを使用して、すべてのPDFページを70%にスケーリングする方法。センタリングの計算と、動作するC#およびDelphiのサンプルコード付き。 PDFのページの寸法はページ作成時に固定されるため、画像のサイズを変更するようにコンテ

PDF Programming

Delphi での losLab PDF Library を使用した RTF から PDF への変換

losLab PDF Library を使用して Delphi で RTF を PDF に変換する:GetCanvasDC は仮想 DC を作成し、EM_FORMATRANGE はコンテンツをページ分割し、LoadFromCanvasDc は各ページを保存します。 RTF はかなり以前から存在しているため、レガシーなレ