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

APIs relacionadas