在本教程中,我们将学习如何使用 C++ 读取 PDF 文件中的书签。您可以通过使用 C++ 中的简单 API 调用一个接一个地遍历所有书签来提取标题和不同的其他属性。该功能不需要在 Windows 或 Linux 平台上安装 Adobe Acrobat 或任何应用程序。
使用 C++ 读取 PDF 文件中的书签的步骤
- 从 NuGet 包管理器安装 Aspose.Pdf for C++ 库
- 添加对 Aspose::Pdf 命名空间的引用
- 初始化 PdfBookmarkEditor 类的对象以获取书签
- 加载用于提取书签的输入 PDF 文档
- 从 PDF 文件中检索书签
- 遍历所有 Bookmarks 并读取属性
您可以使用 C++* 读取 pdf 文件中的书签,只需几行简单的代码。它可以使用 C++ 检索 pdf 文件中的书签以及每个书签的不同属性。
使用 C++ 读取 PDF 文件中书签的代码
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
#include <iostream> | |
#include <system/smart_ptr.h> | |
#include <Aspose.PDF.Cpp/License.h> | |
#include <Aspose.PDF.Cpp/Document.h> | |
#include <Aspose.PDF.Cpp/Facades/PdfBookmarkEditor.h> | |
#include <Aspose.PDF.Cpp/Facades/Bookmark.h> | |
#include <Aspose.PDF.Cpp/Facades/Bookmarks.h> | |
#include <system/console.h> | |
#include <system/io/file.h> | |
using namespace System; | |
using namespace Aspose::Pdf; | |
using namespace Aspose::Pdf::Facades; | |
class ReadBookmarkEx{ | |
public: | |
void ReadPDFBookmark() | |
{ | |
// Set the license for Aspose.PDF for C++ to Read the bookmarks in PDF file | |
SharedPtr<License> ReadPdfBookmarkLicense = System::MakeObject<License>(); | |
ReadPdfBookmarkLicense->SetLicense(u"Aspose.Pdf.lic"); | |
// Initialize an object of PdfBookmarkEditor class to get bookmarks | |
SharedPtr<PdfBookmarkEditor> BookmarkEditor = System::MakeObject<PdfBookmarkEditor>(); | |
// Load the input PDF document for extracting bookmarks | |
BookmarkEditor->BindPdf(u"BookmarkSample.pdf"); | |
// Retrieve the Bookmarks from the PDF | |
SharedPtr <Bookmarks> bookmarks = BookmarkEditor->ExtractBookmarks(); | |
// Iterate through all the Bookmarks | |
for (SharedPtr<Bookmark> bookmark : bookmarks) | |
{ | |
// Read different properties of the bookmark | |
Console::WriteLine(bookmark->get_Title()); | |
Console::WriteLine(bookmark->get_ItalicFlag()); | |
Console::WriteLine(bookmark->get_BoldFlag()); | |
Console::WriteLine(bookmark->get_TitleColor().ToString()); | |
} | |
} | |
}; |
在上一主题中,我们学习了 如何在 C++ 中读取 PDF 文件。本主题介绍如何使用 C++ 提取 pdf 文件中的书签。