使用iText进行pdf生成的锚点方法的相对路径

我正在使用iText生成PDF,我使用以下代码创建锚:

String newPath = "file:///"; newPath = newPath + completePath; trial.setAnchor(newPath); 

trial对象的类型为ChunkcompletePath是我想要链接的文件的路径。

当我尝试使用相对路径时,链接不起作用。 例如"C:\Doc\folder1\trial.xml"工作正常,但当我尝试相对路径,如"..\trial1.xml" ,没有形成链接,虽然我的PDF文档和XML文件都在名为"folder1"同一文件夹。

如果你有这种情况:

 C:\Doc\folder1\trial.xml C:\Doc\folder1\my.pdf 

如果你在my.pdf创建一个路径"..\trial1.xml"作为参考,那么你告诉PDF可以在这里找到xml文件:

 C:\Doc\trial1.xml 

我看到两个错误:

  1. trial.xmltrial1.xml之间有区别
  2. 你指着错误的目录。

如果将相对路径与“file:///”连接,甚至可能会出现第三个错误。 我们应该看PDF以确保会发生什么。

我写了一个名为RelativeLink的示例,它创建了一个带有Chunk的PDF,上面写着“Click me”。 如果单击该Chunk ,将打开与relative_link.pdf位于同一方向的XML文件data.xml

 Chunk chunk = new Chunk("Click me"); chunk.setAnchor("./" + new File(XML).getName()); document.add(chunk); 

这在web插件的上下文中不起作用(出于显而易见的原因)。 要查看此操作,您需要下载PDF文件并在独立查看器中打开它。