THPDFLayoutDiagnostic レコード
1 件の構造化レイアウトイベント。何がなぜ起きたか、関与したページと矩形、行数、要素パス、省略可能な要素のソースコード上の位置を含みます
宣言
THPDFLayoutDiagnostic= record
Kind: THPDFLayoutDiagnosticKind;
PageIndex: Integer;
RelatedPageIndex: Integer;
X: Single;
Y: Single;
Width: Single;
Height: Single;
LineCount: Integer;
Reason: AnsiString;
ElementPath: AnsiString;
RelatedElementPath: AnsiString;
SourceFile: AnsiString;
SourceLine: Integer;
SourceColumn: Integer;
end;
ユニット
HPDFDoc
フィールド
| フィールド | 目的 |
|---|---|
Kind | イベント種別。ldkAutomaticPageBreak、ldkKeepWithNext などの THPDFLayoutDiagnosticKind |
PageIndex | イベントが発生したページのゼロベースインデックス |
RelatedPageIndex | 要素が次ページへ分割されるようなページまたぎイベントの、対となるページ |
X / Y / Width / Height | イベントに関与した配置矩形。THPDFLayoutBounds と同じ形式 |
LineCount | 関与したテキスト行数。たとえば自動改ページの前に組まれた行数 |
Reason | イベントが記録された理由を人間が読める形で説明するテキスト |
ElementPath | イベントが属するレイアウト要素のパス |
RelatedElementPath | オーバーラップおよび分割イベントの、対となる要素のパス |
SourceFile / SourceLine / SourceColumn | ソース位置の取得が有効なときに SetDiagnosticSource で捕捉された宣言箇所 |
使用上の注意
- レコードは診断が有効な間にレイアウトエンジンが生成し、
THotPDF.GetLayoutDiagnostics、THotPDF.GetLayoutDiagnostic、OnLayoutDiagnosticイベントのいずれかで届けられます - フィルタには
KindとElementPathを使い、ログや課題リストへの直接表示にはReasonを使います - 矩形フィールドは
THotPDF.DrawLayoutDiagnosticOverlayの入力になり、イベントをレンダリング済みページ上に直接可視化できます