将相对路径用于使用iText进行pdf生成的锚点方法
我将iText用于PDF生成,并使用以下代码创建锚点:
String newPath = "file:///";newPath = newPath + completePath;
trial.setAnchor(newPath);
该trial
对象类型的Chunk
并且completePath
是通往我想要的链接文件。
当我尝试使用相对路径时,链接不起作用。例如,虽然"C:\Doc\folder1\trial.xml"
工作正常,但是当我尝试相对路径(例如"..\trial1.xml"
未形成链接)时,尽管我的PDF文档和XML文件都位于名为的同一文件夹中"folder1"
。
回答:
如果您遇到这种情况:
C:\Doc\folder1\trial.xmlC:\Doc\folder1\my.pdf
而且,如果您在中创建了一个路径"..\trial1.xml"
作为参考my.pdf
,那么您将告诉PDF可以在以下位置找到xml文件:
C:\Doc\trial1.xml
我看到两个错误:
trial.xml
和之间有区别trial1.xml
,并且- 您指向错误的目录。
如果将相对路径与“ file:///”串联,甚至可能会出现第三个错误。我们应该查看PDF以确保会发生什么。
我已经编写了一个名为RelativeLink的示例,该示例创建了一个带有Chunk
“单击我”
的PDF
。如果单击,将打开与relative_link.pdf相同方向Chunk
的XML文件。data.xml
Chunk chunk = new Chunk("Click me");chunk.setAnchor("./" + new File(XML).getName());
document.add(chunk);
这在Web插件的上下文中不起作用(出于明显的原因)。要查看实际效果,您需要下载PDF文件并在独立查看器中将其打开。
以上是 将相对路径用于使用iText进行pdf生成的锚点方法 的全部内容, 来源链接: utcz.com/qa/406347.html