บุ๊กมาร์กในไฟล์ PDF ช่วยในการทำเครื่องหมายจุดสนใจในเอกสาร สิ่งเหล่านี้ทำให้คุณสามารถข้ามไปยังจุดที่ต้องการในเอกสารได้อย่างรวดเร็ว คุณอาจพบว่าตัวเองอยู่ในสถานการณ์ที่ต้องเพิ่ม อ่าน แก้ไข หรือลบบุ๊กมาร์กในไฟล์ PDF โดยทางโปรแกรม ด้วยเหตุนี้ บทความนี้จะสอนวิธีทำงานกับบุ๊กมาร์กในไฟล์ PDF โดยใช้ C++

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 for 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");

// สร้างที่คั่นหน้าลูกคนที่ 1
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");

// สร้างที่คั่นหน้าลูกคนที่ 2
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());

	// แสดงปลายทางของ Bookmark
	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 for C++ API API มีคุณสมบัติเพิ่มเติมมากมายสำหรับการทำงานกับไฟล์ PDF ที่คุณสามารถสำรวจโดยละเอียดได้โดยใช้ เอกสารอย่างเป็นทางการ หากคุณมีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย