PDFium Delphi Component Docs

BuildReflowDocument Método

Componente: TPdf  ·  Unidad: PDFium
Construye un modelo de lectura semántico acotado para HTML responsivo, lectura móvil, accesibilidad e indexación

Syntax

function BuildReflowDocument(
  const Options: TPdfReflowOptions;
  const CancellationToken: IPdfCancellationToken = nil): TPdfReflowDocument;

Description

BuildReflowDocument lee cada página seleccionada a través de GetStructuredText, prefiere la semántica de Tagged PDF y recurre a la inferencia de disposición física cuando no hay estructura

La matriz TPdfReflowDocument.Nodes devuelta es un árbol estable en preorden con ParentIndex y Depth, que evita la propiedad recursiva preservando las relaciones de página, encabezado, párrafo, lista, figura, leyenda, tabla, fila y celda

Cada TPdfReflowNode lleva su página, texto, idioma, origen semántico, límites, nivel de encabezado, las coordenadas de tabla RowIndex y ColumnIndex con sus expansiones, el estado IsHeader y la confianza cuando aplica

TPdfReflowOptions selecciona la ventana de páginas y las compuertas de salida; DetectTables habilita la detección de tablas con el registro de presupuesto anidado TableOptions, y el TPdfReflowDocument resultante expone el TableCount detectado junto con su árbol de nodos

El texto de las tablas detectadas reemplaza los bloques de párrafo superpuestos para que el resultado reflowed no duplique el contenido de las tablas

Salida HTML

TPdfReflowDocument.ToHtml emite elementos semánticos h1 a h6, p, ul, li, figure, figcaption, table, th y td

Los valores de texto y atributos siempre se escapan, las expansiones de filas y columnas se conservan, y el CSS responsivo opcional no requiere scripts ni recursos externos

FullDocument, IncludeCss, IncludePageSections, IncludeGeometry y PreserveLineBreaks controlan la serialización sin reanalizar el PDF

Rangos y presupuestos

Example

var
  Options: TPdfReflowOptions;
  Document: TPdfReflowDocument;
begin
  Options := TPdfReflowOptions.Default;
  Options.IncludeGeometry := True;
  Document := Pdf1.BuildReflowDocument(Options);
  Memo1.Text := Document.ToHtml;
end;

See Also

GetStructuredText, ExtractTables, ReadableContent