ParagraphAbsorber

ParagraphAbsorber class

Bölümler ve paragraflar gibi sayfa yapısı nesnelerinin bir emici nesnesini temsil eder. Metnin bölümleri ve paragrafları için arama yapar ve metin koordinat alanında onu tanımlayan dikdörtgenler ve polidonlara erişim sağlar. Ayrıca metin segmentleri araması yapar ve aracılığıyla arama sonuçlarına erişim sağlar.!:TextFragments yapı öğelerine göre gruplandırılmış koleksiyonlar.

public class ParagraphAbsorber

yapıcılar

İsimTanım
ParagraphAbsorber()Yeni bir örneğini başlatırParagraphAbsorber belgenin veya sayfanın bölümleri/paragrafları için arama yapan.
ParagraphAbsorber(int)Yeni bir örneğini başlatırParagraphAbsorber belgenin veya sayfanın bölümleri/paragrafları için arama yapan.

Özellikleri

İsimTanım
IsMulticolumnParagraphsAllowed { get; set; }Bir sonraki bölümün başlangıç metin satırlarının önceki bölümün son paragrafının devamı olarak değerlendirilip değerlendirilemeyeceğini gösteren değeri alır veya ayarlar.
PageMarkups { get; }Koleksiyonunu alırPageMarkup bunlar emildi.
SectionsSearchDepth { get; set; }Yapının daha ince öğeleri için kaç kez ardışık arama yapılacağını bildiren değeri alır veya ayarlar. Varsayılan arama derinliği 3. Yatay olarak bölünmüş bölümler (başlıklar, paragraflar vb.) için üç arama ve dikey olarak bölünmüş bölümler için üç arama anlamına gelir. birler (sütunlar).

yöntemler

İsimTanım
Visit(Document)Belirtilen sayfalarda bölümleri ve paragrafları arar.Document .
Visit(Page)Belirtilen üzerinde arama yaparPage .

Notlar

Arama tamamlandığındaPageMarkups koleksiyon şunları içerecektirPageMarkup koleksiyonlarına göre sayfa yapısını temsil eden nesnelerMarkupSection veMarkupParagraph . TextFragment nesne, arama oluşum metnine, metin özelliklerine erişim sağlar ve metni düzenlemeye ve metin durumunu (yazı tipi, yazı tipi boyutu, renk vb.) değiştirmeye izin verir.

Örnekler

Örnek, ilk PDF belgesi sayfasında her paragrafın ilk metin bölümünün nasıl bulunacağını ve vurgulanacağını gösterir.

// Belgeyi aç
Document doc = new Document("input.pdf");

// ParagraphAbsorber nesnesi oluştur
ParagraphAbsorber absorber = new ParagraphAbsorber();

// İlk sayfa için emiciyi kabul et
absorber.Visit(doc.Pages[1]);

// İlk sayfanın işaretleme nesnesini al
PageMarkup markup = absorber.PageMarkups[0];

// Her paragrafın ilk metin parçasını bulmak için sayfa metninin yapı öğeleri arasında dolaşın
foreach (MarkupSection section in markup.Sections)
{
    foreach (MarkupParagraph paragraph in section.Paragraphs)
    {
        TextFragment fragment = paragraph.Fragments[0];
        // Metin özelliklerini güncelle
        fragment.TextState.BackgroundColor = Color.LightBlue;
    }
}

// Belgeyi kaydet
doc.Save(GetOutputPath("output.pdf"));

Ayrıca bakınız