Diagnósticos visuales de diseño

HotPDF puede conservar decisiones de diseño acotadas, detectar elementos colocados superpuestos, dibujar superposiciones vectoriales nativas, adjuntar ubicaciones de origen proporcionadas por el llamador y publicar notificaciones de vista previa síncronas

Valores predeterminados seguros

THPDFLayoutDiagnosticOptions.Default conserva las rutas de elementos, mientras que la captura de ubicación de origen, la detección de superposiciones, las superposiciones PDF y las devoluciones de llamada en vivo están deshabilitadas de forma predeterminada

Ningún nombre de archivo de origen ni contenido de superposición entra en el PDF generado a menos que la opción correspondiente esté habilitada explícitamente

Habilitar diagnósticos visuales

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 almacena un archivo, una línea y una columna opcionales en un THPDFLayoutElement; ClearDiagnosticSource elimina la asignación

Las continuaciones de diseño declarativo copian la asignación para conservar un sitio de llamada estable entre divisiones de página

Registros de diagnóstico

THPDFLayoutDiagnostic incluye ElementPath, RelatedElementPath, SourceFile, SourceLine y SourceColumn además de su página, rectángulo, recuento de líneas, tipo y motivo

ldkOverlap identifica una intersección entre dos elementos colocados correctamente, mientras que ldkOverflow identifica un elemento que no cabía en los límites suministrados

Superposiciones vectoriales y vista previa en vivo

Los rectángulos de desbordamiento usan un trazo rojo y los rectángulos de superposición usan un trazo naranja, con etiquetas opcionales controladas por ShowOverlayLabels

Las superposiciones son rutas y texto PDF nativos en lugar de imágenes de ráster

THPDFLayoutDiagnosticEvent recibe cada diagnóstico conservado de forma síncrona después del dibujo opcional de superposiciones cuando LivePreview está habilitado

Presupuestos y estadísticas

MaxTrackedBounds acota los rectángulos de colocación conservados y MaxOverlapComparisons acota el trabajo de intersección a lo largo del intervalo de diagnóstico

THPDFLayoutDiagnosticStatistics informa de los diagnósticos conservados y descartados, los límites rastreados y descartados, las comparaciones y hallazgos de superposición, las superposiciones dibujadas y las notificaciones en vivo

ClearLayoutDiagnostics restablece los registros, el seguimiento de colocación y todos los contadores relacionados

APIs relacionadas