ParagraphAbsorber

ParagraphAbsorber class

Representa un objeto absorbente de objetos de estructura de página, como secciones y párrafos. Realiza la búsqueda de secciones y párrafos de texto y proporciona acceso a rectángulos y polígonos que lo describen en el espacio de coordenadas de texto. También realiza búsquedas de segmentos de texto y proporciona acceso a los resultados de búsqueda a través de!:TextFragments colecciones agrupadas por elementos de estructura.

public class ParagraphAbsorber

Constructores

NombreDescripción
ParagraphAbsorber()Inicializa una nueva instancia delParagraphAbsorber que realiza la búsqueda de secciones/párrafos del documento o página.
ParagraphAbsorber(int)Inicializa una nueva instancia delParagraphAbsorber que realiza la búsqueda de secciones/párrafos del documento o página.

Propiedades

NombreDescripción
IsMulticolumnParagraphsAllowed { get; set; }Obtiene o establece el valor que indica si las líneas de texto iniciales de una sección siguiente pueden tratarse como la continuación del último párrafo de una sección anterior.
PageMarkups { get; }Obtiene la colección dePageMarkup que fueron absorbidos.
SectionsSearchDepth { get; set; }Obtiene o establece el valor que indica cuántas veces se realizarán búsquedas secuenciales de elementos de estructura más finos. La profundidad de búsqueda predeterminada es 3. Significa tres búsquedas de secciones divididas horizontalmente (encabezados, párrafos, etc.) y tres búsquedas de secciones divididas verticalmente unos (columnas).

Métodos

NombreDescripción
Visit(Document)Realiza la búsqueda de secciones y párrafos en elDocument .
Visit(Page)Realiza la búsqueda en el especificadoPage .

Observaciones

Cuando se completa la búsqueda, elPageMarkups la colección contendráPageMarkup objetos que representa la estructura de la página por colecciones deMarkupSection yMarkupParagraph . ElTextFragment El objeto proporciona acceso al texto de ocurrencia de búsqueda, las propiedades del texto y permite editar el texto y cambiar el estado del texto (fuente, tamaño de fuente, color, etc.).

Ejemplos

El ejemplo muestra cómo encontrar el primer segmento de texto de cada párrafo en la primera página del documento PDF y resaltarlo.

// Abrir documento
Document doc = new Document("input.pdf");

// Crear objeto ParagraphAbsorber
ParagraphAbsorber absorber = new ParagraphAbsorber();

// Aceptar el absorbedor para la primera página
absorber.Visit(doc.Pages[1]);

// Obtener el objeto de marcado de la primera página
PageMarkup markup = absorber.PageMarkups[0];

// Recorre los elementos de la estructura del texto de la página para encontrar el primer fragmento de texto de cada párrafo
foreach (MarkupSection section in markup.Sections)
{
    foreach (MarkupParagraph paragraph in section.Paragraphs)
    {
        TextFragment fragment = paragraph.Fragments[0];
        // Actualizar las propiedades del texto
        fragment.TextState.BackgroundColor = Color.LightBlue;
    }
}

// Guardar documento
doc.Save(GetOutputPath("output.pdf"));

Ver también