レイアウト視覚診断
HotPDF は、境界付きレイアウト決定を保持し、重複する配置済み要素を検出し、ネイティブベクターオーバーレイを描画し、呼び出し側が供給したソース位置を添付し、同期プレビュー通知を公開できます
安全なデフォルト
THPDFLayoutDiagnosticOptions.Default は要素パスを保持しますが、ソース位置キャプチャ、オーバーラップ検出、PDF オーバーレイ、ライブコールバックはデフォルトで無効です
対応するオプションが明示的に有効にならない限り、生成された PDF にソースファイル名やオーバーレイコンテンツは入りません
視覚診断の有効化
Options := THPDFLayoutDiagnosticOptions.Default;
Options.CaptureSourceLocation := True;
Options.DetectOverlaps := True;
Options.DrawOverlays := True;
Options.LivePreview := True;
PDF.LayoutDiagnosticOptions := Options;
PDF.OnLayoutDiagnostic := HandleLayoutDiagnostic;
Element.SetDiagnosticSource('invoice_layout.pas', 73, 9);
SetDiagnosticSource は、THPDFLayoutElement にオプションのファイル、行、列を保存します。ClearDiagnosticSource はマッピングを削除します
宣言型レイアウト継続は、ページ分割をまたいで安定した呼び出しサイトを保持するためにマッピングをコピーします
診断レコード
THPDFLayoutDiagnostic には、ページ、矩形、行数、種類、理由に加えて、ElementPath、RelatedElementPath、SourceFile、SourceLine、SourceColumn が含まれます
ldkOverlap は、正常に配置された 2 つの要素間の交差を識別し、ldkOverflow は、供給された境界に収まらなかった要素を識別します
ベクターオーバーレイとライブプレビュー
オーバーフロー矩形は赤いストローク、オーバーラップ矩形はオレンジ色のストロークを使用し、オプションのラベルは ShowOverlayLabels で制御されます
オーバーレイは、ラスター画像ではなくネイティブ PDF パスとテキストです
THPDFLayoutDiagnosticEvent は、LivePreview が有効な場合、オプションのオーバーレイ描画の後に保持された各診断を同期して受信します
予算と統計
MaxTrackedBounds は保持された配置矩形を制限し、MaxOverlapComparisons は診断間隔全体の交差処理を制限します
THPDFLayoutDiagnosticStatistics は、保持および破棄された診断、追跡および破棄された境界、オーバーラップ比較と指摘、描画されたオーバーレイ、ライブ通知を報告します
ClearLayoutDiagnostics は、レコード、配置追跡、および関連するすべてのカウンターをリセットします