ParagraphAbsorber

ParagraphAbsorber class

Repräsentiert ein Absorberobjekt von Seitenstrukturobjekten wie Abschnitten und Absätzen. Führt eine Suche nach Textabschnitten und -absätzen durch und bietet Zugriff auf Rechtecke und Polydone, die ihn im Textkoordinatenraum beschreiben. Führt auch eine Suche nach Textsegmenten durch und bietet Zugriff auf Suchergebnisse über!:TextFragments Sammlungen gruppiert nach Strukturelementen.

public class ParagraphAbsorber

Konstrukteure

NameBeschreibung
ParagraphAbsorber()Initialisiert eine neue Instanz vonParagraphAbsorber das die Suche nach Abschnitten/Absätzen des Dokuments oder der Seite durchführt.
ParagraphAbsorber(int)Initialisiert eine neue Instanz vonParagraphAbsorber das die Suche nach Abschnitten/Absätzen des Dokuments oder der Seite durchführt.

Eigenschaften

NameBeschreibung
IsMulticolumnParagraphsAllowed { get; set; }Ruft einen Wert ab oder legt ihn fest, der angibt, ob beginnende Textzeilen eines nächsten Abschnitts als Fortsetzung des letzten Absatzes eines vorherigen Abschnitts behandelt werden können.
PageMarkups { get; }Ruft eine Sammlung von abPageMarkup die absorbiert wurden.
SectionsSearchDepth { get; set; }Erhält oder setzt einen Wert, der angibt, wie oft sequentielle Suchen nach feineren Strukturelementen durchgeführt werden. Die Standardsuchtiefe ist 3. Dies bedeutet drei Suchen nach horizontal geteilten Abschnitten (Überschriften, Absätze usw.) und drei Suchen nach vertikal geteilten Einsen (Spalten).

Methoden

NameBeschreibung
Visit(Document)Führt die Suche nach Abschnitten und Absätzen zu den angegebenen durchDocument .
Visit(Page)Führt die Suche nach dem angegebenen durchPage .

Bemerkungen

Wenn die Suche abgeschlossen ist, wird diePageMarkups Sammlung enthältPageMarkup Objekte, die die Seitenstruktur durch Sammlungen von darstellenMarkupSection undMarkupParagraph . DieTextFragment Das Objekt bietet Zugriff auf den Text des Suchvorkommens und die Texteigenschaften und ermöglicht das Bearbeiten von Text und das Ändern des Textstatus (Schriftart, Schriftgröße, Farbe usw.).

Beispiele

Das Beispiel zeigt, wie das erste Textsegment jedes Absatzes auf der ersten PDF-Dokumentseite gefunden und hervorgehoben wird.

// Dokument öffnen
Document doc = new Document("input.pdf");

// ParagraphAbsorber-Objekt erstellen
ParagraphAbsorber absorber = new ParagraphAbsorber();

// Akzeptiere den Absorber für die erste Seite
absorber.Visit(doc.Pages[1]);

// Markup-Objekt der ersten Seite abrufen
PageMarkup markup = absorber.PageMarkups[0];

// Strukturelemente des Seitentextes durchlaufen, um das erste Textfragment jedes Absatzes zu finden
foreach (MarkupSection section in markup.Sections)
{
    foreach (MarkupParagraph paragraph in section.Paragraphs)
    {
        TextFragment fragment = paragraph.Fragments[0];
        // Texteigenschaften aktualisieren
        fragment.TextState.BackgroundColor = Color.LightBlue;
    }
}

// Dokument speichern
doc.Save(GetOutputPath("output.pdf"));

Siehe auch