如何使用 C++ 读取 PDF 文件中的书签

在本教程中,我们将学习如何使用 C++ 读取 PDF 文件中的书签。您可以通过使用 C++ 中的简单 API 调用一个接一个地遍历所有书签来提取标题和不同的其他属性。该功能不需要在 Windows 或 Linux 平台上安装 Adobe Acrobat 或任何应用程序。

使用 C++ 读取 PDF 文件中的书签的步骤

  1. 从 NuGet 包管理器安装 Aspose.Pdf for C++
  2. 添加对 Aspose::Pdf 命名空间的引用
  3. 初始化 PdfBookmarkEditor 类的对象以获取书签
  4. 加载用于提取书签的输入 PDF 文档
  5. 从 PDF 文件中检索书签
  6. 遍历所有 Bookmarks 并读取属性

您可以使用 C++* 读取 pdf 文件中的书签,只需几行简单的代码。它可以使用 C++ 检索 pdf 文件中的书签以及每个书签的不同属性。

使用 C++ 读取 PDF 文件中书签的代码

#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 文件中的书签。

 简体中文