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