我正在尝试使用Flying Saucer(9.0.7)库从XHTML生成PDF文件。文本和表格按预期呈现,但图像(PNG)未显示在最终PDF中。图像由绝对文件路径引用(例如<img alt="img" src="C:\pic.png" width="300px"></img>
)。如果我改为使用URL,那么图像可以正确放置在PDF中,但是如何使用绝对文件路径完成工作呢?
我的java代码如下:
private void createPDF(String filePath) {
try {
File pdfFile = new File(filePath);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(pdfFile);
OutputStream pdfFOS = new FileOutputStream(new File(filePath.replace(".html", ".pdf")));
renderer.layout();
renderer.createPDF(pdfFOS);
pdfFOS.close();
} catch (Exception e) {
System.err.println("Error creating pdf file: " + e.getMessage());
}
}
任何帮助都将不胜感激。
答案 0 :(得分:1)
正如Paulo Soares所说,使用file:///可以解决问题。除此之外,还必须避免文件路径中的反斜杠。