Record THPDFLayoutDiagnostic
Un evento de layout estructurado: qué pasó y por qué, la página y el rectángulo involucrados, conteos de líneas, rutas de elementos y la ubicación opcional en el código fuente del elemento
Declaración
THPDFLayoutDiagnostic= record
Kind: THPDFLayoutDiagnosticKind;
PageIndex: Integer;
RelatedPageIndex: Integer;
X: Single;
Y: Single;
Width: Single;
Height: Single;
LineCount: Integer;
Reason: AnsiString;
ElementPath: AnsiString;
RelatedElementPath: AnsiString;
SourceFile: AnsiString;
SourceLine: Integer;
SourceColumn: Integer;
end;
Unidad
HPDFDoc
Campos
| Campo | Propósito |
|---|---|
Kind | Tipo de evento THPDFLayoutDiagnosticKind, como ldkAutomaticPageBreak o ldkKeepWithNext |
PageIndex | Página basada en cero donde ocurrió el evento |
RelatedPageIndex | Página emparejada para eventos entre páginas, como un elemento que se divide hacia la página siguiente |
X / Y / Width / Height | Rectángulo de colocación involucrado en el evento, en los mismos términos que THPDFLayoutBounds |
LineCount | Cantidad de líneas de texto involucradas, por ejemplo las líneas compuestas antes de un salto automático |
Reason | Explicación legible de por qué se registró el evento |
ElementPath | Ruta del elemento de layout al que pertenece el evento |
RelatedElementPath | Ruta del elemento emparejado para los eventos de solapamiento y de división |
SourceFile / SourceLine / SourceColumn | Sitio de declaración capturado mediante SetDiagnosticSource cuando la captura de ubicación en la fuente está activa |
Notas de uso
- Los records los produce el motor de layout mientras los diagnósticos están activos y se entregan mediante
THotPDF.GetLayoutDiagnostics,THotPDF.GetLayoutDiagnostico el eventoOnLayoutDiagnostic - Use
Kindjunto conElementPathpara filtrar, yReasonpara mostrarlo directamente en logs o listas de problemas - Los campos del rectángulo alimentan
THotPDF.DrawLayoutDiagnosticOverlay, de modo que los eventos se puedan visualizar directamente sobre la página renderizada