סימניות בקובץ 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 עבור 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 ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].35

סיכום

במאמר זה, למדת כיצד לעבוד עם סימניות בקבצי PDF באמצעות C++. באופן ספציפי, למדת כיצד להוסיף, לקרוא, לשנות ולמחוק סימניות בקובץ PDF. יתר על כן, ראית כיצד להוסיף סימניות מקוננות באמצעות Aspose.PDF עבור C++ API. ה-API מספק תכונות נוספות רבות לעבודה עם קובצי PDF שתוכלו לחקור בפירוט באמצעות התיעוד הרשמי. אם יש לך שאלות כלשהן, אל תהסס לפנות אלינו בפורום התמיכה החינמית.

ראה גם