Diagnostics visuels de mise en page

HotPDF peut conserver les décisions de mise en page bornées, détecter les éléments placés qui se chevauchent, dessiner des superpositions vectorielles natives, joindre des emplacements sources fournis par l'appelant et publier des notifications d'aperçu synchrones

Valeurs par défaut sûres

THPDFLayoutDiagnosticOptions.Default conserve les chemins d'éléments, tandis que la capture de l'emplacement source, la détection des chevauchements, les superpositions PDF et les rappels en direct sont désactivés par défaut

Aucun nom de fichier source ou contenu de superposition n'entre dans le PDF généré sauf si l'option correspondante est explicitement activée

Activer les diagnostics visuels

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 stocke un fichier, une ligne et une colonne facultatifs sur un THPDFLayoutElement ; ClearDiagnosticSource supprime le mappage

Les continuations de mise en page déclarative copient le mappage pour préserver un site d'appel stable à travers les divisions de page

Enregistrements de diagnostic

THPDFLayoutDiagnostic inclut ElementPath, RelatedElementPath, SourceFile, SourceLine et SourceColumn en plus de sa page, de son rectangle, de son nombre de lignes, de son type et de sa raison

ldkOverlap identifie une intersection entre deux éléments placés avec succès, tandis que ldkOverflow identifie un élément qui ne pouvait pas tenir dans les limites fournies

Superpositions vectorielles et aperçu en direct

Les rectangles de débordement utilisent un trait rouge et les rectangles de chevauchement un trait orange, avec des étiquettes facultatives contrôlées par ShowOverlayLabels

Les superpositions sont des chemins et du texte PDF natifs plutôt que des images raster

THPDFLayoutDiagnosticEvent reçoit chaque diagnostic conservé de façon synchrone après le dessin optionnel de la superposition lorsque LivePreview est activé

Budgets et statistiques

MaxTrackedBounds borne les rectangles de placement conservés et MaxOverlapComparisons borne le travail d'intersection sur l'intervalle de diagnostic

THPDFLayoutDiagnosticStatistics signale les diagnostics conservés et abandonnés, les limites suivies et abandonnées, les comparaisons et résultats de chevauchement, les superpositions dessinées et les notifications en direct

ClearLayoutDiagnostics réinitialise les enregistrements, le suivi de placement et tous les compteurs associés

API associées