Visuelle Layoutdiagnose

HotPDF kann begrenzte Layoutentscheidungen behalten, überlappende platzierte Elemente erkennen, native Vektorüberlagerungen zeichnen, vom Aufrufer bereitgestellte Quellpositionen anhängen und synchrone Vorschaubenachrichtigungen veröffentlichen

Sichere Standardwerte

THPDFLayoutDiagnosticOptions.Default behält Elementpfade, während Erfassung von Quellpositionen, Überlappungserkennung, PDF-Überlagerungen und Live-Callbacks standardmäßig deaktiviert sind

Weder Quellname noch Überlagerungsinhalt gelangen in das erzeugte PDF, solange die zugehörige Option nicht explizit aktiviert ist

Visuelle Diagnose aktivieren

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 speichert optional Datei, Zeile und Spalte in einem THPDFLayoutElement; ClearDiagnosticSource entfernt die Zuordnung

Deklarative Layoutfortsetzungen kopieren die Zuordnung, um über Seitenumbrüche hinweg einen stabilen Aufrufort zu bewahren

Diagnosedatensätze

THPDFLayoutDiagnostic enthält zusätzlich zu Seite, Rechteck, Zeilenanzahl, Art und Grund die Werte ElementPath, RelatedElementPath, SourceFile, SourceLine und SourceColumn

ldkOverlap kennzeichnet den Schnitt zweier erfolgreich platzierter Elemente, während ldkOverflow ein Element kennzeichnet, das in die vorgegebenen Grenzen nicht passt

Vektorüberlagerungen und Livevorschau

Überlaufrechtecke verwenden einen roten Strich, überlappende Rechtecke einen orangefarbenen Strich; optionale Beschriftungen steuert ShowOverlayLabels

Überlagerungen sind native PDF-Pfade und Text statt Rasterbildern

THPDFLayoutDiagnosticEvent empfängt jede beibehaltene Diagnose synchron nach dem optionalen Zeichnen der Überlagerung, wenn LivePreview aktiviert ist

Budgets und Statistiken

MaxTrackedBounds begrenzt beibehaltene Platzierungsrechtecke und MaxOverlapComparisons begrenzt Schnittprüfungen im Diagnoseintervall

THPDFLayoutDiagnosticStatistics meldet beibehaltene und verworfene Diagnosen, verfolgte und verworfene Grenzen, Überlappungsvergleiche und -befunde, gezeichnete Überlagerungen und Livebenachrichtigungen

ClearLayoutDiagnostics setzt Datensätze, Platzierungsverfolgung und alle zugehörigen Zähler zurück

Verwandte APIs