ParagraphAbsorber

ParagraphAbsorber class

Représente un objet absorbeur d’objets de structure de page tels que des sections et des paragraphes. Effectue une recherche de sections et de paragraphes de texte et permet d’accéder à des rectangles et des polydons qui le décrivent dans l’espace de coordonnées du texte. Effectue également une recherche de segments de texte et permet d’accéder aux résultats de la recherche via!:TextFragments collections regroupées par éléments de structure.

public class ParagraphAbsorber

Constructeurs

Nom La description
ParagraphAbsorber() Initialise une nouvelle instance duParagraphAbsorber qui effectue la recherche de sections/paragraphes du document ou de la page.
ParagraphAbsorber(int) Initialise une nouvelle instance duParagraphAbsorber qui effectue la recherche de sections/paragraphes du document ou de la page.

Propriétés

Nom La description
IsMulticolumnParagraphsAllowed { get; set; } Obtient ou définit une valeur qui indique si les premières lignes de texte d’une section suivante peuvent être traitées comme la continuation du dernier paragraphe d’une section précédente.
PageMarkups { get; } Obtient la collection dePageMarkup qui ont été absorbés.
SectionsSearchDepth { get; set; } Obtient ou définit la valeur qui indique combien de fois des recherches séquentielles d’éléments de structure plus fins seront effectuées. La profondeur de recherche par défaut est de 3. Cela signifie trois recherches pour les sections divisées horizontalement (en-têtes, paragraphes, etc.) et trois recherches pour les sections divisées verticalement ceux (colonnes).

Méthodes

Nom La description
Visit(Document) Effectue une recherche de sections et de paragraphes sur leDocument .
Visit(Page) Effectue une recherche sur lePage .

Remarques

Lorsque la recherche est terminée, lePageMarkups la collection contiendraPageMarkup objets qui représentent la structure de la page par des collections deMarkupSection etMarkupParagraph . LeTextFragment L’objet donne accès au texte de l’occurrence de recherche, aux propriétés du texte et permet de modifier le texte et de changer l’état du texte (police, taille de police, couleur, etc.).

Exemples

L’exemple montre comment trouver le premier segment de texte de chaque paragraphe sur la première page du document PDF et le mettre en surbrillance.

// Ouvrir le document
Document doc = new Document("input.pdf");

// Créer un objet ParagraphAbsorber
ParagraphAbsorber absorber = new ParagraphAbsorber();

// Accepte l'absorbeur pour la première page
absorber.Visit(doc.Pages[1]);

// Récupère l'objet de balisage de la première page
PageMarkup markup = absorber.PageMarkups[0];

// Boucle à travers les éléments de structure du texte de la page pour trouver le premier fragment de texte de chaque paragraphe
foreach (MarkupSection section in markup.Sections)
{
    foreach (MarkupParagraph paragraph in section.Paragraphs)
    {
        TextFragment fragment = paragraph.Fragments[0];
        // Mettre à jour les propriétés du texte
        fragment.TextState.BackgroundColor = Color.LightBlue;
    }
}

// Enregistrer le document
doc.Save(GetOutputPath("output.pdf"));

Voir également