TextSegment

TextSegment class

يمثل مقطعًا من نص ملف PDF .

public sealed class TextSegment

المنشئون

اسموصف
TextSegment()إنشاء كائن TextSegment .
TextSegment(string)إنشاء كائن TextSegment .

الخصائص

اسموصف
BaselinePosition { get; set; }الحصول على موضع النص للنص ، ممثلاً بامتدادTextSegment object. تمثل نهاية Y لهيكل الموضع إحداثيات خط الأساس لمقطع النص.
Characters { get; }الحصول على مجموعة من كائنات CharInfo التي تمثل معلومات عن الأحرف في مقطع النص.
EndCharIndex { get; }الحصول على فهرس حرف النهاية للجزء الحالي في مقطع مشغل عرض النص (Tj ، TJ) .
Hyperlink { get; set; }الحصول على الارتباط التشعبي للمقطع أو تعيينه (لمولد pdf) .
Position { get; set; }الحصول على موضع النص للنص ، ممثلاً بامتدادTextSegment الكائن .
Rectangle { get; }يحصل على مستطيل من TextSegment
StartCharIndex { get; }الحصول على فهرس أحرف البداية للمقطع الحالي في مقطع مشغل عرض النص (Tj ، TJ) .
Text { get; set; }يحصل أو يحددString كائن النص الذيTextSegment يمثل الكائن .
TextEditOptions { get; set; }الحصول على أو تعيين خيارات تحرير النص. تحدد الخيارات سلوكًا خاصًا عندما يتعذر كتابة الرمز المطلوب بالخط.
TextState { get; set; }الحصول على أو تعيين حالة النص للنص الذيTextSegment يمثل الكائن .

طُرق

اسموصف
static MyHtmlEncode(string)ترميز السلسلة كـ html.

ملاحظات

في بضع كلمات ،TextSegment الأشياء هي أطفالTextFragment object. بالتفصيل: نص مستند pdf فيPdf يتم تمثيله بواسطة كائنين أساسيين:TextFragment وTextSegment معظم الاختلافات بينهما تعتمد على السياق . لنفكر في السيناريو التالي. يبحث المستخدم عن نص “hello world” للعمل به ، وتغيير خصائصه ، والبحث وما إلى ذلك. تمثيل نص pdf Phisycally معقد للغاية. قد يتكون النص “hello world” من عدة مقاطع نصية مستقلة phisycally.TextFragment يوفر object عملية منطقية واحدة فوق ماديTextSegment مجموعة الكائنات التي تمثل استعلام المستخدم. في سيناريو البحث عن النص ،TextFragment هو تمثيل نصي منطقي “hello world” ، وTextSegmentتمثل مجموعة الكائنات جميع الأجزاء المادية التي تنشئ كائن نص “hello world”. لذا ،TextFragment يقترب من تمثيل النص المنطقي . وTextSegment هو قريب من تمثيل النص المادي. من الواضح أن كل منهماTextSegment قد يكون للكائن خط خاص به ، ولونه ، وخصائص تحديد الموضع.TextFragment يوفر طريقة بسيطة لتغيير النص بخصائصه: ضبط الخط ، ضبط حجم الخط ، ضبط لون الخط وما إلى ذلك. في غضون ذلكTextSegment كائنات يمكن الوصول إليها ويمكن للمستخدمين العمل معهاTextSegment الكائنات بشكل مستقل .

Document doc = new Document(docFile);
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");
doc.Pages[1].Accept(absorber);

أمثلة

يوضح المثال كيفية تغيير لون النص وحجم خط النص باستخدامTextState موضوعTextSegment الكائن .

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

// إنشاء كائن TextFragmentAbsorber للعثور على جميع تكرارات نص "أهلًا بالعالم"
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");

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

/ / تغيير لون المقدمة للجزء الأول من النص من تواجد النص الأول
absorber.TextFragments[1].Segments[1].TextState.ForegroundColor = Color.FromRgb(System.Drawing.Color.Red);
// تغيير حجم الخط في مقطع النص الأول من تواجد النص الأول
absorber.TextFragments[1].Segments[1].TextState.FontSize = 15;

// حفظ الوثيقة
doc.Save(@"D:\Tests\output.pdf");  

أنظر أيضا