ParagraphAbsorber

ParagraphAbsorber class

Representerar ett absorberande objekt för sidstrukturobjekt som sektioner och stycken. Söker efter avsnitt och stycken av text och ger åtkomst till rektanglar och polydoner som beskriver det i textkoordinatutrymme. Utför även textsegmentsökning och ger tillgång till sökresultat via!:TextFragments samlingar grupperade efter strukturelement.

public class ParagraphAbsorber

Konstruktörer

namnBeskrivning
ParagraphAbsorber()Initierar en ny instans avParagraphAbsorber som söker efter avsnitt/stycken i dokumentet eller sidan.
ParagraphAbsorber(int)Initierar en ny instans avParagraphAbsorber som söker efter avsnitt/stycken i dokumentet eller sidan.

Egenskaper

namnBeskrivning
IsMulticolumnParagraphsAllowed { get; set; }Hämtar eller ställer in värde som indikerar om starttextrader i ett nästa avsnitt kan behandlas som en fortsättning på det sista stycket i ett tidigare avsnitt.
PageMarkups { get; }Får samling avPageMarkup som absorberades.
SectionsSearchDepth { get; set; }Hämtar eller ställer in värde som anger hur många gånger sekventiella sökningar efter mer fina strukturelement kommer att utföras. Standardsökdjupet är 3. Det betyder tre sökningar efter horisontellt delade avsnitt (rubriker, stycken etc) och tre sökningar efter vertikalt delade ettor (kolumner).

Metoder

namnBeskrivning
Visit(Document)Söker efter avsnitt och stycken på det angivnaDocument .
Visit(Page)Utför sökning på den angivnaPage .

Anmärkningar

När sökningen är klar visasPageMarkups samling kommer innehållerPageMarkup objekt som representerar sidstruktur genom samlingar avMarkupSection ochMarkupParagraph . DenTextFragment objekt ger tillgång till sökhändelsens text, textegenskaper och gör det möjligt att redigera text och ändra texttillståndet (typsnitt, teckenstorlek, färg etc).

Exempel

Exemplet visar hur man hittar det första textsegmentet i varje stycke på den första PDF-dokumentsidan och markerar den.

// Öppna dokument
Document doc = new Document("input.pdf");

// Skapa ParagraphAbsorber-objekt
ParagraphAbsorber absorber = new ParagraphAbsorber();

// Acceptera absorbenten för första sidan
absorber.Visit(doc.Pages[1]);

// Hämta uppmärkningsobjekt för första sidan
PageMarkup markup = absorber.PageMarkups[0];

// Gå igenom strukturelementen i sidtexten för att hitta det första textfragmentet i varje stycke
foreach (MarkupSection section in markup.Sections)
{
    foreach (MarkupParagraph paragraph in section.Paragraphs)
    {
        TextFragment fragment = paragraph.Fragments[0];
        // Uppdatera textegenskaper
        fragment.TextState.BackgroundColor = Color.LightBlue;
    }
}

// Spara dokument
doc.Save(GetOutputPath("output.pdf"));

Se även