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

API-uri conexe