العمل مع العناوين في PDF
تطبيق نمط الترقيم في العنوان
يبدأ أي نص في مستند بعنوان. العناوين جزء لا يتجزأ من المحتوى، بغض النظر عن النمط والموضوع. تساعد العناوين في جذب الانتباه إلى النص وتساعد المستخدمين في العثور على المعلومات التي يحتاجونها في المستند، مما يحسن من قابلية القراءة والإدراك البصري. باستخدام أنماط العناوين، يمكنك أيضًا إنشاء جدول محتويات بسرعة، وتغيير هيكل المستند. لذلك، دعونا نتحقق من كيفية العمل مع العناوين باستخدام مكتبة Aspose.PDF for C++.
Aspose.PDF for C++ يقدم العديد من أنماط الترقيم المعرفة مسبقًا. هذه الأنماط المحددة مسبقًا للترقيم مخزنة في تعداد، NumberingStyle. القيم المحددة مسبقًا لتعداد NumberingStyle ووصفها موضحة أدناه:
أنواع العناوين | الوصف |
---|---|
NumeralsArabic | النوع العربي، على سبيل المثال، 1,1.1,… |
NumeralsRomanUppercase | النوع الروماني العلوي، على سبيل المثال، I,I.II, … |
NumeralsRomanLowercase | النوع الروماني السفلي، على سبيل المثال، i,i.ii, … |
LettersUppercase | النوع الإنجليزي العلوي، على سبيل المثال، A,A.B, … |
LettersLowercase | النوع الإنجليزي السفلي، على سبيل المثال، a,a.b, … |
خاصية Style في فئة Aspose.PDF.Heading تُستخدم لتعيين أنماط الترقيم للعناوين. |
الشكل: أنماط الترقيم المحددة مسبقًا |
---|
الشفرة المصدرية للحصول على المخرجات الموضحة في الشكل أعلاه موضحة أدناه في المثال. |
void WorkingWithHeadingsInPDF() {
// String for path name
String _dataDir("C:\\Samples\\");
// String for input file name
String outputFileName("ApplyNumberStyle_out.pdf");
// Open document
auto document = MakeObject<Document>();
document->get_PageInfo()->set_Width(612.0);
document->get_PageInfo()->set_Height(792.0);
document->get_PageInfo()->set_Margin (MakeObject<MarginInfo>());
document->get_PageInfo()->get_Margin()->set_Left(72);
document->get_PageInfo()->get_Margin()->set_Right(72);
document->get_PageInfo()->get_Margin()->set_Top (72);
document->get_PageInfo()->get_Margin()->set_Bottom (72);
auto pdfPage = document->get_Pages()->Add();
pdfPage->get_PageInfo()->set_Width (612.0);
pdfPage->get_PageInfo()->set_Height (792.0);
pdfPage->get_PageInfo()->set_Margin(MakeObject<MarginInfo>());
pdfPage->get_PageInfo()->get_Margin()->set_Left(72);
pdfPage->get_PageInfo()->get_Margin()->set_Right(72);
pdfPage->get_PageInfo()->get_Margin()->set_Top(72);
pdfPage->get_PageInfo()->get_Margin()->set_Bottom(72);
auto floatBox = MakeObject<FloatingBox>();
floatBox->set_Margin(pdfPage->get_PageInfo()->get_Margin());
pdfPage->get_Paragraphs()->Add(floatBox);
auto textFragment = MakeObject<TextFragment>();
auto segment = MakeObject<TextSegment>();
auto heading = MakeObject<Heading>(1);
heading->set_IsInList(true);
heading->set_StartNumber(1);
heading->set_Text (u"List 1");
heading->set_Style(NumberingStyle::NumeralsRomanLowercase);
heading->set_IsAutoSequence(true);
floatBox->get_Paragraphs()->Add(heading);
auto heading2 = MakeObject<Heading>(1);
heading2->set_IsInList (true);
heading2->set_StartNumber(13);
heading2->set_Text (u"List 2");
heading2->set_Style(NumberingStyle::NumeralsRomanLowercase);
heading2->set_IsAutoSequence(true);;
floatBox->get_Paragraphs()->Add(heading2);
auto heading3 = MakeObject<Heading>(2);
heading3->set_IsInList (true);
heading3->set_StartNumber(1);
heading3->set_Text (u"the value, as of the effective date of the plan, of property to be distributed under the plan onaccount of each allowed");
heading3->set_Style(NumberingStyle::LettersLowercase);
heading3->set_IsAutoSequence(true);
floatBox->get_Paragraphs()->Add(heading3);
// Save concatenated output file
document->Save(_dataDir + outputFileName);
}