我正在使用 ITextRenderer 从 html 解析 pdf,如下所示:
private void createPdf(File file, String content) throws IOException, DocumentException {
OutputStream os = new FileOutputStream(file);
content = tidyUpHTML(content);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(content);
renderer.layout();
renderer.createPDF(os);
os.close();
}
现在,如果 html 包含图像的本地路径,它不会显示在 pdf 中。但是,如果 img 标签的 src-value 是在线图像的 URL,它确实有效。
如下:不显示在pdf上:
<img src="C:\path\to\image\image.png" />
是否在 pdf 上正确显示:
<img src="http://flagpedia.net/data/currency/jpy/100jpy.jpg" />
本地文件的路径是正确的,例如,如果我将该路径复制粘贴到我的网络浏览器,它会显示图像。
如何让它显示在pdf上?
更新:这一切都在 WildFly10 应用程序服务器上的 JSF / Primefaces Web 应用程序中运行。因此,文件系统的直接路径似乎不起作用。那么,我应该使用war中的哪个目录来使用静态资源,比如这张图片。目前它在webapp/resources/images
.