飞碟不以 PDF 格式呈现 PNG 文件
Flying Saucer does not render PNG files in PDF
我正在尝试使用 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());
}
}
如有任何帮助,我们将不胜感激。
正如 Paulo Soares 所提到的,使用 file:/// 就可以了。除此之外,有必要避免文件路径中的反斜杠。
我正在尝试使用 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());
}
}
如有任何帮助,我们将不胜感激。
正如 Paulo Soares 所提到的,使用 file:/// 就可以了。除此之外,有必要避免文件路径中的反斜杠。