ParagraphAbsorber

ParagraphAbsorber class

يمثل كائنًا ماصًا لكائنات بنية الصفحة مثل الأقسام والفقرات. يقوم بالبحث عن أقسام وفقرات من النص ويوفر الوصول إلى المستطيلات والأشكال المتعددة التي تصفها في مساحة إحداثيات النص. يقوم أيضًا بإجراء بحث عن مقاطع نصية ويوفر الوصول إلى نتائج البحث عبر!:TextFragments مجموعات مجمعة حسب عناصر الهيكل.

public class ParagraphAbsorber

المنشئون

اسموصف
ParagraphAbsorber()يقوم بتهيئة مثيل جديد لملفParagraphAbsorber الذي يقوم بالبحث عن أقسام / فقرات من المستند أو الصفحة.
ParagraphAbsorber(int)يقوم بتهيئة مثيل جديد لملفParagraphAbsorber الذي يقوم بالبحث عن أقسام / فقرات من المستند أو الصفحة.

الخصائص

اسموصف
IsMulticolumnParagraphsAllowed { get; set; }الحصول على قيمة أو تعيينها تشير إلى ما إذا كان من الممكن معاملة سطور نص البداية للقسم التالي على أنها استمرار للفقرة الأخيرة من القسم السابق.
PageMarkups { get; }يحصل على مجموعة منPageMarkup التي تم استيعابها.
SectionsSearchDepth { get; set; }الحصول على أو تعيين قيمة ترشد إلى عدد المرات التي سيتم فيها إجراء عمليات بحث متسلسلة عن المزيد من العناصر الدقيقة للبنية. عمق البحث الافتراضي هو 3. وهذا يعني ثلاث عمليات بحث عن أقسام مقسمة أفقيًا (رؤوس ، فقرات ، إلخ) وثلاث عمليات بحث عن تقسيم رأسيًا الآحاد (الأعمدة) .

طُرق

اسموصف
Visit(Document)يقوم بالبحث عن الأقسام والفقرات المحددةDocument .
Visit(Page)يقوم بالبحث على الملف المحددPage .

ملاحظات

عند اكتمال البحث ، يتم عرض ملفPageMarkups سوف تحتوي المجموعةPageMarkup كائنات تمثل بنية الصفحة من خلال مجموعات منMarkupSection وMarkupParagraph . ملفTextFragment يوفر الكائن الوصول إلى نص ورود البحث وخصائص النص ويسمح بتحرير النص وتغيير حالة النص (الخط وحجم الخط واللون وما إلى ذلك).

أمثلة

يوضح المثال كيفية العثور على أول مقطع نصي لكل فقرة في صفحة مستند PDF الأولى وتمييزه.

// افتح المستند
Document doc = new Document("input.pdf");

// إنشاء كائن ParagraphAbsorber
ParagraphAbsorber absorber = new ParagraphAbsorber();

// قبول الماص للصفحة الأولى
absorber.Visit(doc.Pages[1]);

// احصل على كائن الترميز للصفحة الأولى
PageMarkup markup = absorber.PageMarkups[0];

// التكرار خلال عناصر هيكل نص الصفحة للعثور على أول جزء من كل فقرة
foreach (MarkupSection section in markup.Sections)
{
    foreach (MarkupParagraph paragraph in section.Paragraphs)
    {
        TextFragment fragment = paragraph.Fragments[0];
        // تحديث خصائص النص
        fragment.TextState.BackgroundColor = Color.LightBlue;
    }
}

// حفظ الوثيقة
doc.Save(GetOutputPath("output.pdf"));

أنظر أيضا