书签处理器
大约 1 分钟pdfbox模块高级功能处理器
提示
操作完书签后,务必调用 flush 方法刷新书签,否则不生效
说明
用于处理书签
- 支持获取书签
- 支持插入书签
- 支持追加书签
- 支持替换书签
- 支持移除书签
示例
获取书签
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
BookmarkProcessor processor = PdfHandler.getDocumentProcessor(document).getBookmarkProcessor();
// 获取书签
List<PDOutlineItem> items = processor.getItems();
// 输出书签信息
fields.forEach(System.out::println);
}
插入书签
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
BookmarkProcessor processor = PdfHandler.getDocumentProcessor(document).getBookmarkProcessor();
// 创建书签
PDOutlineItem outlineItem = new PDOutlineItem();
// 设置标题
outlineItem.setTitle("hello world");
// 设置目标页
outlineItem.setDestination(document.getPage(0).getTarget());
// 插入书签
processor.insert(0, outlineItem);
// 刷新
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\bookmark\\insertTest.pdf");
}
替换书签
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
BookmarkProcessor processor = PdfHandler.getDocumentProcessor(document).getBookmarkProcessor();
// 创建书签
PDOutlineItem outlineItem = new PDOutlineItem();
// 设置标题
outlineItem.setTitle("hello world");
// 设置目标页
outlineItem.setDestination(document.getPage(0).getTarget());
// 替换书签
processor.set(0, outlineItem);
// 刷新
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\bookmark\\setTest.pdf");
}
移除书签
try (
// 加载文档
Document document = PdfHandler.getDocumentHandler().load("E:\\PDF\\pdfbox\\hello-world.pdf");
){
// 获取处理器
BookmarkProcessor processor = PdfHandler.getDocumentProcessor(document).getBookmarkProcessor();
// 移除书签
processor.remove(0);
// 刷新
processor.flush();
// 保存文档
document.save("E:\\PDF\\pdfbox\\processor\\bookmark\\removeTest.pdf");
}