通过使用PDFBox,通过使用PDPageDestination
可以轻松创建通往特定页面或页面视图的链接。例如,下面的代码将使该进入9页的链接:如何使用PDFBox创建一个链接到*前一个视图*?
PDAnnotationLink link = new PDAnnotationLink();
PDPageDestination destination = new PDPageFitWidthDestination();
PDActionGoTo action = new PDActionGoTo();
destination.setPageNumber(9);
action.setDestination(destination);
link.setAction(action);
问题:
将特定页面,而不是,我想转到以前视图。
例如,假设在一个PDF文件中,P.1和P.2中的每一个都有一个连接到P9。现在我想在第9页上提供一个链接,该链接返回到用户开始了。
如果用户在P.1开始并点击链接到P.9,他到达P.9。当他点击第9页的链接时,他会回到P.1,他来自哪里。但是如果他从第2页开始,那么第9页的链接将返回到第2页。
问:如何使用PDFBox实现此目的?
仅供参考,使用Adobe Acrobat中,这可以通过添加“执行菜单项”动作的链接,然后选择“上一视图”菜单项目,如本屏幕截图实现:
我在PDF规范中发现了一个实现注释“Acrobat查看器扩展了表8.61中的命名操作列表,以包含查看器中可用的大多数菜单项名称。”所以需要获得这样的PDF文件,找到名称,并将该名称用作目标。 – 2015-01-21 07:21:07
非常感谢蒂尔曼。对不起,我是PDFBox的新手。对于如何查找名称并将该名称用作目的地,我可以提供一些指导吗? – Brian 2015-01-21 10:08:03
打开您在编辑器(如NOTEPAD ++)中创建的PDF文件,如果找到像“prev”,“menu”,“view”这样的内容,希望这会是。或者使用PDFDebugger(PDFBox的命令行应用程序)查看它。或者在公共场所上传带有该功能的非机密文件,我会查看它以找到该名称。 – 2015-01-21 10:14:09