PDFium Delphi Component Docs

Cached layout nodes

コンポーネント: TPdf  ·  ユニット: FPdfLayout

構文

procedure TPdfLayoutDocument.AddCachedNode(Node: TPdfLayoutCachedNode; Height: Single = 0; Width: Single = 0);

測定キャッシュ

BuildPlan は完全な測定済みプランを、ページ制約、項目内容、フォント、スタイル、ソース ID、予約ページ桁数、TPdfLayoutMeasurer.CacheIdentity でキャッシュします

一致する呼び出しはテキストを再測定せずに戻り、CacheHitCount で結果を報告します。変更されたコンテンツは CacheMissCount を生成し、スナップショットを置き換えます

InvalidateCache を呼び出して、保存されたスナップショットを解放するか、カスタムメジャラーが ID を維持したまま動作を変えたときに更新します

遅延ノード

TPdfLayoutCachedNode から派生し、BuildContent をオーバーライドして、ノードレイアウトを最初の配置時にのみ作成します

基本ノードは Content を通じて直接設定することもできます

呼び出し側は各ノードを所有し、GenerateLayout が返るまで生存させておく必要があります

ネイティブ再利用

最初の配置はプライベートな単一ページレイアウトを 1 回レンダリングし、FPDF_NewXObjectFromPage で宛先バインド XObject を 1 つ作成します

以降の繰り返し配置は同じ XObject から軽量な Form オブジェクトを作成し、ReusedXObjectCount が回避されたテンプレート構築を報告します

安全性

ノードコンテンツは、寸法がノードコンストラクタと一致する 1 ページに収まる必要があります

再帰的なノード参照は拒否され、外部の追加トランザクションは呼び出しが作成したすべてのページをロールバックします

外部入力が変わった後は Invalidate を呼び出して、オーバーライドされた遅延ノードを再構築します

関連項目

GenerateLayout, CreateXObjectFromPage