Wizualna diagnostyka układu
HotPDF potrafi zachować ograniczone decyzje układu, wykrywać nakładające się rozmieszczone elementy, rysować natywne nakładki wektorowe, dołączać lokalizacje źródłowe podane przez wywołującego i publikować synchroniczne powiadomienia podglądu
Bezpieczne wartości domyślne
THPDFLayoutDiagnosticOptions.Default zachowuje ścieżki elementów, podczas gdy przechwytywanie lokalizacji źródłowych, wykrywanie nakładania, nakładki PDF i wywołania zwrotne na żywo są domyślnie wyłączone
Żadna nazwa pliku źródłowego ani zawartość nakładki nie trafia do generowanego PDF, dopóki odpowiednia opcja nie zostanie jawnie włączona
Włączanie diagnostyki wizualnej
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 zapisuje opcjonalny plik, linię i kolumnę na THPDFLayoutElement, a ClearDiagnosticSource usuwa to mapowanie
Kontynuacje deklaratywnego układu kopiują mapowanie, aby zachować stabilne miejsce wywołania przy podziale na strony
Rekordy diagnostyczne
THPDFLayoutDiagnostic zawiera ElementPath, RelatedElementPath, SourceFile, SourceLine i SourceColumn oprócz strony, prostokąta, liczby linii, rodzaju i przyczyny
ldkOverlap oznacza przecięcie dwóch pomyślnie rozmieszczonych elementów, a ldkOverflow element, który nie zmieścił się w podanych granicach
Nakładki wektorowe i podgląd na żywo
Prostokąty przepełnienia mają czerwoną kreskę, a prostokąty nakładania pomarańczową, z opcjonalnymi etykietami sterowanymi przez ShowOverlayLabels
Nakładki to natywne ścieżki i tekst PDF, a nie obrazy rastrowe
THPDFLayoutDiagnosticEvent odbiera każdy zachowany wpis diagnostyczny synchronicznie po opcjonalnym rysowaniu nakładki, gdy LivePreview jest włączone
Budżety i statystyki
MaxTrackedBounds ogranicza zachowane prostokąty rozmieszczenia, a MaxOverlapComparisons pracę przecięć w całym interwale diagnostyki
THPDFLayoutDiagnosticStatistics raportuje zachowane i odrzucone wpisy diagnostyczne, śledzone i odrzucone granice, porównania nakładania i znalezione przypadki, narysowane nakładki oraz powiadomienia na żywo
ClearLayoutDiagnostics resetuje rekordy, śledzenie rozmieszczenia i wszystkie powiązane liczniki