THPDFLayoutDiagnostic Record
구조화된 레이아웃 이벤트 하나입니다. 무엇이 왜 일어났는지, 관련 페이지와 사각형, 줄 수, element path, 선택적 요소 소스 코드 위치를 담습니다
선언
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 | THPDFLayoutDiagnosticKind 이벤트 타입. 예를 들어 ldkAutomaticPageBreak, ldkKeepWithNext |
PageIndex | 이벤트가 일어난 0 기반 페이지 |
RelatedPageIndex | 요소가 다음 페이지로 나뉘는 것 같은 페이지 경계 이벤트의 짝 페이지 |
X / Y / Width / Height | 이벤트에 관련된 배치 사각형. THPDFLayoutBounds와 같은 체계입니다 |
LineCount | 관련된 텍스트 줄 수. 예를 들어 자동 나눔 전에 배치된 줄 수 |
Reason | 이벤트가 기록된 이유에 대한 사람이 읽을 수 있는 설명 |
ElementPath | 이벤트가 속한 레이아웃 요소의 경로 |
RelatedElementPath | overlap 및 split 이벤트의 짝 요소 경로 |
SourceFile / SourceLine / SourceColumn | 소스 위치 캡처가 켜져 있을 때 SetDiagnosticSource로 잡아 둔 선언 위치 |
사용 참고 사항
- 레코드는 diagnostics가 켜져 있는 동안 레이아웃 엔진이 만들며,
THotPDF.GetLayoutDiagnostics,THotPDF.GetLayoutDiagnostic,OnLayoutDiagnostic이벤트로 전달됩니다 - 걸러 내는 데는
Kind와ElementPath를 쓰고, 로그나 이슈 목록에 바로 표시할 때는Reason을 씁니다 - 사각형 필드는
THotPDF.DrawLayoutDiagnosticOverlay로 들어가므로 이벤트를 렌더링된 페이지 위에 바로 시각화할 수 있습니다