نشانک‌ها در یک فایل PDF برای علامت‌گذاری نقاط مورد علاقه در سند مفید هستند. اینها به شما امکان می دهند به سرعت به نقطه خاصی از سند بپرید. ممکن است در موقعیت هایی قرار بگیرید که نیاز به اضافه کردن، خواندن، تغییر یا حذف نشانک ها در یک فایل PDF به صورت برنامه ریزی شده داشته باشید. برای این کار، این مقاله به شما یاد می دهد که چگونه با استفاده از C++ با بوکمارک ها در فایل های PDF کار کنید.

C++ API برای کار با نشانک ها در فایل های PDF

Aspose.PDF for C++ یک کتابخانه C++ است که به شما امکان ایجاد، خواندن و به روز رسانی اسناد PDF را می دهد. علاوه بر این، API از افزودن، خواندن، اصلاح و حذف نشانک‌ها از فایل‌های PDF پشتیبانی می‌کند. می‌توانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش دانلودها دانلود کنید.

PM> Install-Package Aspose.PDF.Cpp

اضافه کردن نشانک در فایل های PDF با استفاده از C++

مراحل زیر برای افزودن نشانک در یک فایل PDF آمده است.

کد نمونه زیر نحوه اضافه کردن نشانک را در یک فایل PDF با استفاده از C++ نشان می دهد.

// یک نمونه از کلاس PdfBookmarkEditor ایجاد کنید
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();

// سند PDF را بارگیری کنید
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// نشانک را ایجاد کنید
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);

// سند PDF را ذخیره کنید
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
خروجی تولید شده توسط کد نمونه

خروجی تولید شده توسط کد نمونه

اضافه کردن نشانک های تو در تو در فایل های PDF

همچنین می‌توانید با استفاده از Aspose.PDF برای C++ API نشانک‌های تودرتو اضافه کنید. مراحل زیر برای افزودن نشانک های تو در تو آمده است.

کد نمونه زیر نحوه افزودن نشانک های تو در تو در یک فایل PDF را با استفاده از C++ نشان می دهد.

// یک نمونه از کلاس PdfBookmarkEditor ایجاد کنید
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();

// سند PDF را بارگیری کنید
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");

// ایجاد نشانک فرزند اول
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");

// ایجاد نشانک فرزند دوم
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");

// ایجاد نشانک والدین
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm->set_Action(u"GoTo");
bm->set_PageNumber(1);
bm->set_Title(u"Parent");

// نشانک های کودک را تنظیم کنید
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);

// نشانک ها را به فایل PDF اضافه کنید
editor->CreateBookmarks(bm);

// سند PDF را ذخیره کنید
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
خروجی تولید شده توسط کد نمونه

خروجی تولید شده توسط کد نمونه

بوک مارک ها را از یک فایل PDF با استفاده از C++ بخوانید

برای خواندن نشانک ها، از روش PdfBookmarkEditor->ExtractBookmarks() استفاده کنید. مراحل زیر برای خواندن نشانک ها از یک فایل PDF آمده است.

کد نمونه زیر نحوه خواندن نشانک ها از یک فایل PDF را با استفاده از C++ نشان می دهد.

// یک نمونه از کلاس PdfBookmarkEditor ایجاد کنید
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();

// سند PDF را بارگیری کنید
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");

// همه نشانک ها را بازیابی کنید
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();

// از طریق نشانک‌ها حلقه بزنید
for (System::SharedPtr<Bookmark> bm : bms) {
	
	// نمایش عنوان نشانک
	Console::WriteLine(bm->get_Title());

	// نمایش مقصد نشانک
	Console::WriteLine(bm->get_Destination());
}

عنوان نشانک را با استفاده از C++ تغییر دهید

مراحل زیر برای تغییر عنوان نشانک موجود در یک فایل PDF است.

کد نمونه زیر نحوه تغییر عنوان نشانک موجود در یک فایل PDF را نشان می دهد.

// یک نمونه از کلاس PdfBookmarkEditor ایجاد کنید
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();

// سند PDF را بارگیری کنید
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");

// عنوان نشانک را تغییر دهید
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");

// سند PDF را ذخیره کنید
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");

یک نشانک خاص را با استفاده از C++ حذف کنید

API روش PdfBookmarkEditor->DeleteBookmarks(System::String title) را برای حذف یک نشانک خاص از یک فایل PDF ارائه می دهد. مراحل زیر برای حذف یک نشانک خاص است.

کد نمونه زیر نحوه حذف یک نشانک خاص با استفاده از C++ را نشان می دهد.

// یک نمونه از کلاس PdfBookmarkEditor ایجاد کنید
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();

// سند PDF را بارگیری کنید
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");

// یک نشانک خاص را حذف کنید
editor->DeleteBookmarks(u"bookmark for page 1");

// سند PDF را ذخیره کنید
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");

تمام نشانک ها را در یک فایل PDF با استفاده از C++ حذف کنید

به جای حذف یکی یکی نشانک ها، می توانید با استفاده از روش PdfBookmarkEditor->DeleteBookmarks() همه نشانک ها را به طور همزمان حذف کنید. مراحل زیر برای حذف همه نشانک ها در یک فایل PDF است.

کد زیر نمونه ای برای حذف همه نشانک ها در یک فایل PDF است.

// یک نمونه از کلاس PdfBookmarkEditor ایجاد کنید
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();

// سند PDF را بارگیری کنید
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");

// حذف همه نشانک ها
editor->DeleteBookmarks();

// سند PDF را ذخیره کنید
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");

مجوز رایگان دریافت کنید

با درخواست [مجوز موقت رایگان] می‌توانید API را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله نحوه کار با بوکمارک ها در فایل های PDF با استفاده از C++ را یاد گرفتید. به طور خاص، شما یاد گرفته اید که چگونه بوکمارک ها را در یک فایل PDF اضافه کنید، بخوانید، تغییر دهید و حذف کنید. علاوه بر این، نحوه اضافه کردن نشانک های تو در تو را با استفاده از Aspose.PDF برای C++ API مشاهده کرده اید. API بسیاری از ویژگی‌های اضافی را برای کار با فایل‌های PDF فراهم می‌کند که می‌توانید با استفاده از مستندات رسمی به تفصیل آن‌ها را بررسی کنید. اگر سؤالی دارید، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

همچنین ببینید