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

Powiązane API