레이아웃 시각 진단
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은 성공적으로 배치된 두 요소 사이의 교차를 식별하고, ldkOverflow는 제공된 경계에 맞지 않는 요소를 식별합니다
벡터 오버레이 및 실시간 미리 보기
넘침 사각형은 빨간색 스트로크를 사용하고 겹침 사각형은 주황색 스트로크를 사용하며, 선택적 레이블은 ShowOverlayLabels가 제어합니다
오버레이는 래스터 이미지가 아니라 기본 PDF 경로와 텍스트입니다
THPDFLayoutDiagnosticEvent는 LivePreview가 활성화될 때 선택적 오버레이 그리기 후 각 유지 진단을 동기적으로 받습니다
예산 및 통계
MaxTrackedBounds는 유지되는 배치 사각형을 바인딩하고, MaxOverlapComparisons는 진단 구간의 교차 작업을 바인딩합니다
THPDFLayoutDiagnosticStatistics는 유지 및 버린 진단, 추적 및 버린 경계, 겹침 비교 및 결과, 그려진 오버레이 및 실시간 알림을 보고합니다
ClearLayoutDiagnostics는 레코드, 배치 추적 및 모든 관련 카운터를 재설정합니다