Vizuální diagnostika rozvržení

Vizuální diagnostika rozvržení zpřístupňuje umístění, hranice, rozdělení a rozhodnutí o zalomení stránek vykreslovače rozvržení

Bezpečné defaulty

THPDFLayoutDiagnosticOptions.Default zachovává cesty elementů, zatímco zachytávání zdrojových umístění, detekce překryvů, PDF overlaye a živé callbacky jsou defaultně vypnuté

Data jsou určena pro vývoj a testování a zachovávají pořadí komponent, stránek a pokračování

Zapnutí vizuální diagnostiky

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 ukládá volitelný soubor, řádek a sloupec na THPDFLayoutElement; ClearDiagnosticSource mapování odstraní

Pokračování deklarativního rozvržení kopírují mapování, aby zachovala stabilní call site napříč rozdělením stránek

Diagnostické záznamy

THPDFLayoutDiagnostic obsahuje kromě stránky, obdélníku, počtu čar, druhu a důvodu také ElementPath, RelatedElementPath, SourceFile, SourceLine a SourceColumn

ldkOverlap identifikuje průnik dvou úspěšně umístěných elementů, zatímco ldkOverflow identifikuje element, který se nevešel do dodaných mezí

Vektorové overlaye a živý náhled

Obdélníky overflow používají červený tah a obdélníky překryvů oranžový tah, s volitelnými popisky řízenými přes ShowOverlayLabels

Overlaye jsou nativní cesty a text PDF, nikoli rastrové obrázky

THPDFLayoutDiagnosticEvent přijímá každý zachovaný diagnostický záznam synchronně po volitelném kreslení overlayů, když je zapnuté LivePreview

Rozpočty a statistiky

MaxTrackedBounds ohraničuje zachované umístovací obdélníky a MaxOverlapComparisons ohraničuje práci průniků napříč diagnostickým intervalem

THPDFLayoutDiagnosticStatistics hlásí zachované a zahozené diagnostiky, sledované a zahozené meze, porovnání a nálezy překryvů, nakreslené overlaye a živá notifikace

ClearLayoutDiagnostics vynuluje záznamy, sledování umístění a všechna související počítadla

Související API