【问题标题】:Flying Saucer does not render PNG files in PDF飞碟不会在 PDF 中呈现 PNG 文件
【发布时间】:2015-07-14 02:54:34
【问题描述】:

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

任何帮助将不胜感激。

【问题讨论】:

  • 使用 file:/// 会有帮助吗?
  • 是的,你是对的。谢谢!但是,也需要避免文件路径中的反斜杠。
  • @rOb 我发现这个问题和 cmets 非常有用。也许您可以为您的问题写一个答案并接受它?

标签: java pdf-generation flying-saucer xhtmlrenderer


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 2014-10-15
    • 2018-06-23
    相关资源
    最近更新 更多