Dấu trang trong tệp PDF rất hữu ích để đánh dấu các điểm quan tâm trong tài liệu. Những điều này cho phép bạn nhanh chóng chuyển đến một điểm cụ thể trong tài liệu. Bạn có thể rơi vào tình huống cần thêm, đọc, sửa đổi hoặc xóa dấu trang trong tệp PDF theo chương trình. Vì vậy, bài viết này sẽ hướng dẫn bạn cách làm việc với dấu trang trong tệp PDF bằng C ++.
- API C ++ để làm việc với dấu trang trong tệp PDF
- Thêm Dấu trang trong Tệp PDF bằng C ++
- Thêm dấu trang lồng nhau trong tệp PDF
- Đọc Dấu trang từ Tệp PDF bằng C ++
- Sửa đổi Tiêu đề Dấu trang bằng C ++
- Xóa một Dấu trang Cụ thể bằng C ++
- Xóa tất cả Dấu trang trong Tệp PDF bằng C ++
- Nhận giấy phép miễn phí
API C ++ để làm việc với dấu trang trong tệp PDF
Aspose.PDF for C ++ là thư viện C ++ cho phép bạn tạo, đọc và cập nhật tài liệu PDF. Hơn nữa, API hỗ trợ thêm, đọc, sửa đổi và xóa dấu trang khỏi tệp PDF. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần tải xuống.
PM> Install-Package Aspose.PDF.Cpp
Thêm Dấu trang trong Tệp PDF bằng C ++
Sau đây là các bước để thêm dấu trang trong tệp PDF.
- Đầu tiên, tạo một phiên bản của lớp PdfBookmarkEditor.
- Tải tài liệu PDF bằng PdfBookmarkEditor-> BindPdf (System :: SharedPtrAspose::Pdf::Document srcDoc) phương thức.
- Tạo dấu trang bằng phương pháp PdfBookmarkEditor-> CreateBookmarkOfPage (System :: String bookmarkName, int32t pageNumber).
- Lưu tài liệu PDF bằng phương pháp PdfBookmarkEditor-> Save (System :: String destFile).
Mã mẫu sau đây trình bày cách thêm dấu trang trong tệp PDF bằng C ++.
// Tạo một phiên bản của lớp PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Tải tài liệu PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Tạo Dấu trang
editor->CreateBookmarkOfPage(u"Bookmark for page 1", 1);
// Lưu tài liệu PDF
editor->Save(u"OutputDirectory\\AddBookmark_out.pdf");
Thêm dấu trang lồng nhau trong tệp PDF
Bạn cũng có thể thêm dấu trang lồng nhau bằng cách sử dụng API Aspose.PDF cho C ++. Sau đây là các bước để thêm dấu trang lồng nhau.
- Tạo một phiên bản của lớp PdfBookmarkEditor.
- Tải tài liệu PDF bằng PdfBookmarkEditor-> BindPdf (System :: SharedPtrAspose::Pdf::Document srcDoc) phương thức.
- Tạo dấu trang bằng cách sử dụng lớp Dấu trang.
- Thêm dấu trang con vào bản sao của lớp Dấu trang và đặt nó làm dấu trang con của dấu trang mẹ bằng cách sử dụng bookmark-> setChildItems (System :: SharedPtr giá trị) phương pháp.
- Thêm dấu trang vào tài liệu PDF bằng PdfBookmarkEditor-> CreateBookmarks (System :: SharedPtr đánh dấu) phương pháp.
- Cuối cùng, lưu tài liệu PDF bằng phương pháp PdfBookmarkEditor-> Save (System :: String destFile).
Mã mẫu sau đây cho biết cách thêm dấu trang lồng nhau trong tệp PDF bằng C ++.
// Tạo một phiên bản của lớp PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Tải tài liệu PDF
editor->BindPdf(u"SourceDirectory\\Sample 1.pdf");
// Tạo Dấu trang con đầu tiên
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm1 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm1->set_PageNumber(1);
bm1->set_Title(u"First child");
// Tạo Dấu trang con thứ hai
System::SharedPtr<Aspose::Pdf::Facades::Bookmark> bm2 = System::MakeObject<Aspose::Pdf::Facades::Bookmark>();
bm2->set_PageNumber(2);
bm2->set_Title(u"Second child");
// Tạo Dấu trang gốc
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");
// Đặt Dấu trang con
System::SharedPtr<Aspose::Pdf::Facades::Bookmarks> bms = System::MakeObject<Aspose::Pdf::Facades::Bookmarks>();
bms->Add(bm1);
bms->Add(bm2);
bm->set_ChildItem(bms);
// Thêm Dấu trang vào tệp PDF
editor->CreateBookmarks(bm);
// Lưu tài liệu PDF
editor->Save(u"OutputDirectory\\AddChildBookmark_out.pdf");
Đọc Dấu trang từ Tệp PDF bằng C ++
Để đọc dấu trang, hãy sử dụng phương pháp PdfBookmarkEditor-> ExtractBookmarks(). Sau đây là các bước để đọc dấu trang từ tệp PDF.
- Tạo một phiên bản của lớp PdfBookmarkEditor.
- Tải tài liệu PDF bằng PdfBookmarkEditor-> BindPdf (System :: SharedPtrAspose::Pdf::Document srcDoc) phương thức.
- Truy xuất tất cả các dấu trang bằng phương pháp PdfBookmarkEditor-> ExtractBookmarks().
- Lặp qua các dấu trang để truy xuất các dấu trang riêng lẻ.
- Đọc các thuộc tính của dấu trang.
Mã mẫu sau đây cho biết cách đọc dấu trang từ tệp PDF bằng C ++.
// Tạo một phiên bản của lớp PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Tải tài liệu PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Lấy tất cả các Dấu trang
System::SharedPtr <Bookmarks> bms = editor->ExtractBookmarks();
// Lặp qua các Dấu trang
for (System::SharedPtr<Bookmark> bm : bms) {
// Hiển thị tiêu đề của Dấu trang
Console::WriteLine(bm->get_Title());
// Hiển thị điểm đến của Dấu trang
Console::WriteLine(bm->get_Destination());
}
Sửa đổi Tiêu đề Dấu trang bằng C ++
Sau đây là các bước để sửa đổi tiêu đề của dấu trang hiện có trong tệp PDF.
- Tạo một phiên bản của lớp PdfBookmarkEditor.
- Tải tài liệu PDF bằng PdfBookmarkEditor-> BindPdf (System :: SharedPtrAspose::Pdf::Document srcDoc) phương thức.
- Sửa đổi tiêu đề của dấu trang bằng phương pháp PdfBookmarkEditor-> ModifyBookmarks (System :: String sTitle, System :: String dTitle).
- Lưu tài liệu PDF bằng phương pháp PdfBookmarkEditor-> Save (System :: String destFile).
Mã mẫu sau đây trình bày cách sửa đổi tiêu đề của dấu trang hiện có trong tệp PDF.
// Tạo một phiên bản của lớp PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Tải tài liệu PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Sửa đổi tiêu đề Dấu trang
editor->ModifyBookmarks(u"bookmark for page 1", u"Page 1 Bookmark");
// Lưu tài liệu PDF
editor->Save(u"OutputDirectory\\ModifyBookmark_out.pdf");
Xóa một Dấu trang Cụ thể bằng C ++
API cung cấp phương thức PdfBookmarkEditor-> DeleteBookmarks (System :: String title) để xóa một dấu trang cụ thể khỏi tệp PDF. Sau đây là các bước để xóa một dấu trang cụ thể.
- Tạo một phiên bản của lớp PdfBookmarkEditor.
- Tải tài liệu PDF bằng PdfBookmarkEditor-> BindPdf (System :: SharedPtrAspose::Pdf::Document srcDoc) phương thức.
- Xóa dấu trang mong muốn bằng phương pháp PdfBookmarkEditor-> DeleteBookmarks (System :: String title).
- Lưu tài liệu PDF bằng phương pháp PdfBookmarkEditor-> Save (System :: String destFile).
Mã mẫu sau đây cho thấy cách xóa một dấu trang cụ thể bằng C ++.
// Tạo một phiên bản của lớp PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Tải tài liệu PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Xóa một Dấu trang cụ thể
editor->DeleteBookmarks(u"bookmark for page 1");
// Lưu tài liệu PDF
editor->Save(u"OutputDirectory\\DeleteParticularBookmark_out.pdf");
Xóa tất cả Dấu trang trong Tệp PDF bằng C ++
Thay vì xóa từng dấu trang một, bạn có thể xóa tất cả các dấu trang cùng một lúc bằng phương pháp PdfBookmarkEditor-> DeleteBookmarks(). Sau đây là các bước để xóa tất cả các dấu trang trong tệp PDF.
- Tạo một phiên bản của lớp PdfBookmarkEditor.
- Tải tài liệu PDF bằng PdfBookmarkEditor-> BindPdf (System :: SharedPtrAspose::Pdf::Document srcDoc) phương thức.
- Xóa tất cả các dấu trang bằng phương pháp PdfBookmarkEditor-> DeleteBookmarks().
- Lưu tài liệu PDF bằng phương pháp PdfBookmarkEditor-> Save (System :: String destFile).
Sau đây là mã mẫu để xóa tất cả các dấu trang trong tệp PDF.
// Tạo một phiên bản của lớp PdfBookmarkEditor
System::SharedPtr<Aspose::Pdf::Facades::PdfBookmarkEditor> editor = System::MakeObject<Aspose::Pdf::Facades::PdfBookmarkEditor>();
// Tải tài liệu PDF
editor->BindPdf(u"SourceDirectory\\BookmarkSample.pdf");
// Xóa tất cả các Dấu trang
editor->DeleteBookmarks();
// Lưu tài liệu PDF
editor->Save(u"OutputDirectory\\DeleteAllBookmarks_out.pdf");
Nhận giấy phép miễn phí
Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.
Sự kết luận
Trong bài viết này, bạn đã học cách làm việc với dấu trang trong tệp PDF bằng C ++. Cụ thể, bạn đã học cách thêm, đọc, sửa đổi và xóa dấu trang trong tệp PDF. Hơn nữa, bạn đã thấy cách thêm dấu trang lồng nhau bằng cách sử dụng API Aspose.PDF cho C ++. API cung cấp nhiều tính năng bổ sung để làm việc với các tệp PDF mà bạn có thể khám phá chi tiết bằng cách sử dụng tài liệu chính thức. Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí.