Layout Visual Diagnostics
HotPDF can retain bounded layout decisions, detect overlapping placed elements, draw native vector overlays, attach caller-supplied source locations, and publish synchronous preview notifications
Safe defaults
THPDFLayoutDiagnosticOptions.Default mantém os caminhos dos elementos, enquanto a captura da localização no código-fonte, a deteção de sobreposições, as sobreposições no PDF e os callbacks em tempo real estão desativados por predefinição
Nenhum nome de ficheiro de origem nem conteúdo de sobreposição entra no PDF gerado, a menos que a opção correspondente seja ativada explicitamente
Enable visual diagnostics
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 guarda um ficheiro, uma linha e uma coluna opcionais num THPDFLayoutElement; ClearDiagnosticSource remove o mapeamento
As continuações de layout declarativo copiam o mapeamento, de modo a preservar um ponto de chamada estável entre quebras de página
Diagnostic records
THPDFLayoutDiagnostic inclui ElementPath, RelatedElementPath, SourceFile, SourceLine e SourceColumn, para além da página, do retângulo, do número de linhas, do tipo e do motivo
ldkOverlap identifica uma interseção entre dois elementos colocados com sucesso, enquanto ldkOverflow identifica um elemento que não coube nos limites fornecidos
Vector overlays and live preview
Os retângulos de overflow usam um traço vermelho e os de sobreposição um traço laranja, com etiquetas opcionais controladas por ShowOverlayLabels
As sobreposições são paths e texto PDF nativos, e não imagens raster
THPDFLayoutDiagnosticEvent receives each retained diagnostic synchronously after optional overlay drawing when LivePreview is enabled
Orçamentos e estatísticas
MaxTrackedBounds bounds retained placement rectangles and MaxOverlapComparisons bounds intersection work across the diagnostic interval
THPDFLayoutDiagnosticStatistics regista os diagnósticos retidos e descartados, os limites acompanhados e descartados, as comparações e deteções de sobreposição, as sobreposições desenhadas e as notificações em tempo real
ClearLayoutDiagnostics resets records, placement tracking, and all related counters