java - 如何在 Java 中使用 PDFBox 获取 PDF 文件中的所有书签

标签 java pdf pdfbox

我是 Apache PDFbox 的新手。我想使用 Java 中的 PDFBox 库提取 PDF 文件中的所有书签。知道如何提取它们吗?

最佳答案

来自PrintBookmarks example在源码下载

PDDocument document = PDDocument.load(new File("..."));
PDDocumentOutline outline =  document.getDocumentCatalog().getDocumentOutline();
printBookmark(outline, "");
document.close();

(...)

public void printBookmark(PDOutlineNode bookmark, String indentation) throws IOException
{
    PDOutlineItem current = bookmark.getFirstChild();
    while (current != null)
    {
        System.out.println(indentation + current.getTitle());
        printBookmark(current, indentation + "    ");
        current = current.getNextSibling();
    }
}

关于java - 如何在 Java 中使用 PDFBox 获取 PDF 文件中的所有书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35260456/

相关文章:

Java 将字符串转换为日期

Java-选择行读取JXL中的数据

pdf - 从 pdf 文件中调用 .NET Web 服务

Oracle 包含返回误报 BLOB 的函数

Java 打印 PDF 并带有选项(装订、双面打印等)

java - 如何解决 JavaFX 项目中的 'Location is required'

java - Java 如何从 AES 的 SecretKeySpec 派生初始化 vector ?

java - java中丰富的PDF生成框架

java - 使用 PDFBox 在 PDF 上绘制 vector 图像

java - 用 PDFBox 填充横向 PDF