如何使用iText PDF Java库打开远程目录?
我正在Java应用程序中使用iText PDF库生成测试场景报告。在报告中,我为每个场景填充了一行表。我试图将每行的第一个单元格链接到场景的相应目录:如何使用iText PDF Java库打开远程目录?,java,itext,Java,Itext,我正在Java应用程序中使用iText PDF库生成测试场景报告。在报告中,我为每个场景填充了一行表。我试图将每行的第一个单元格链接到场景的相应目录: PdfPCell scenarioCell=新PdfPCell(新短语(新区块(ri.getScenarioFile()+“(“+ri.getId()+”),this.defaultFont).setRemoteGoto(“实例/”+ri.getId(),“实例目录”)); 上面的代码可以链接到正确的位置,但是,它似乎强制我的计算机将文件打开
PdfPCell scenarioCell=新PdfPCell(新短语(新区块(ri.getScenarioFile()+“(“+ri.getId()+”),this.defaultFont).setRemoteGoto(“实例/”+ri.getId(),“实例目录”));
上面的代码可以链接到正确的位置,但是,它似乎强制我的计算机将文件打开到我的默认文本编辑器中(从而导致一条消息,大意是“Cannot open.file‘instances/Scenario_1234’is a directory.”
是否有任何方法可以强制此链接使用机器的默认文件浏览器打开目录,而不会丢失跨平台的一致性?iText PDF:(摘自评论)
爪哇:
尝试使用桌面这是从Java应用程序将目录打开到本机文件浏览器的方法,而不是像我问的那样从Java应用程序生成的PDF文档。对不起,我误解了你的问题。可能是在路径末尾添加斜杠或使用
setAction(new pdpartion(dirpath))
。很抱歉误导您。不用担心,是的,我刚开始尝试使用pdp,将目录作为URL传递,但现在我在URL解析绝对路径时遇到了问题,就像解析相对路径一样。因此,如果我制作一个指向“file:///home/user/scenarios/instances/instance1234“它解析为”file:///home/user/scenarios/file:///home/user/scenarios/instances/instance1234“出于某种原因,基本上解析为PDF的当前工作目录..好的,现在我想我可以使用它:pdprotion.createLaunch(“实例”)+File.separator+ri.getId(),null,null,null)
感谢您的帮助!
PdfAction.createLaunch( "instances" + File.separator + ri.getId(), null, null, null );
Desktop d = Desktop.getDesktop();
d.open(new File("dirpath"));