【发布时间】:2016-02-07 23:21:47
【问题描述】:
我是 Apache PDFbox 的新手。我想使用 Java 中的 PDFBox 库提取 PDF 文件中的所有书签。知道如何提取它们吗?
【问题讨论】:
我是 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();
}
}
【讨论】:
PDPage currentPage = current.findDestinationPage(document) Integer pageNumber = document.documentCatalog.pages.indexOf(currentPage) + 1