Flying Saucer不会以PDF格式呈现PNG文件

时间:2015-05-04 16:20:48

标签: java pdf-generation flying-saucer xhtmlrenderer

我正在尝试使用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());
     }
}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

正如Paulo Soares所说,使用file:///可以解决问题。除此之外,还必须避免文件路径中的反斜杠。