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