1

我正在尝试使用 Flying Saucer (9.0.7) 库从 XHTML 生成 PDF 文件。文本和表格按预期呈现,但最终 PDF 中未显示图像 (PNG)。图像由绝对文件路径(例如<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());
     }
}

任何帮助,将不胜感激。

4

1 回答 1

1

正如 Paulo Soares 所提到的,使用 file:/// 就可以了。除此之外,有必要避免文件路径中的反斜杠。

于 2016-10-04T06:56:39.927 回答