Diagnosticare vizuală a layout-ului
HotPDF poate reține decizii mărginite de layout, detecta elemente plasate suprapuse, desena suprapuneri vectoriale native, atașa locații de sursă furnizate de apelant și publica notificări sincrone de previzualizare
Valori implicite sigure
THPDFLayoutDiagnosticOptions.Default reține căile de element, în timp ce captura locațiilor de sursă, detectarea suprapunerilor, suprapunerile PDF și callback-urile live sunt dezactivate implicit
Niciun nume de fișier sursă sau conținut de suprapunere nu intră în PDF-ul generat decât dacă opțiunea corespunzătoare este activată explicit
Activarea diagnosticării vizuale
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 stochează un fișier, o linie și o coloană opționale pe un THPDFLayoutElement; ClearDiagnosticSource elimină maparea
Continuările de layout declarativ copiază maparea pentru a păstra un loc de apel stabil între împărțirile de pagină
Înregistrări de diagnostic
THPDFLayoutDiagnostic include ElementPath, RelatedElementPath, SourceFile, SourceLine și SourceColumn pe lângă pagina, dreptunghiul, numărul de linii, tipul și motivul său
ldkOverlap identifică o intersecție între două elemente plasate cu succes, în timp ce ldkOverflow identifică un element care nu a putut încăpea în limitele furnizate
Suprapuneri vectoriale și previzualizare live
Dreptunghiurile de overflow folosesc un contur roșu, iar dreptunghiurile de suprapunere folosesc un contur portocaliu, cu etichete opționale controlate de ShowOverlayLabels
Suprapunerile sunt căi PDF native și text, nu imagini raster
THPDFLayoutDiagnosticEvent primește fiecare diagnostic reținut sincron după desenarea opțională a suprapunerii când LivePreview este activat
Bugete și statistici
MaxTrackedBounds mărginește dreptunghiurile de plasare reținute, iar MaxOverlapComparisons mărginește lucrul de intersecție pe intervalul de diagnostic
THPDFLayoutDiagnosticStatistics raportează diagnosticele reținute și aruncate, limitele urmărite și aruncate, comparațiile și constatările de suprapunere, suprapunerile desenate și notificările live
ClearLayoutDiagnostics resetează înregistrările, urmărirea plasării și toate numărătorile conexe