java HTML到PDF转换,Base64图像标记未在PDF中显示图像
正在尝试使用依赖项核心呈现程序在java中将html内容转换为pdf。jar,itext-2.0.8。jar和itextpdf-5.5.13.1。罐子我没有得到图像内容,但HTML的其他内容可以在PDF中查看
html文件包含base64编码的图像标记
<img style=“宽度=10px;高度=10px;”src=“data:image/png;base64,IVBORW0KGGOAAAANSUHEUGAAARMAAC3CAMAAAGJURGAAAK1BMV…g=”/>
使用java函数创建pdf,该函数接受字符串缓冲区中的html内容作为输入,并创建pdf文件
public void createReport(StringBuffer sb) {
try {
String tempfile = outputPath + File.separator + "outputPdf.pdf";
PrintWriter writer = new PrintWriter(inputPath, StandardCharsets.UTF_8);
writer.println(sb.toString());
writer.close();
String url = new File(inputPath).toURI().toURL().toString();
OutputStream os = new FileOutputStream(new File(tempfile));
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver resolver = renderer.getFontResolver();
resolver.addFont("C:\\Users\\DELL\\AppData\\Local\\Microsoft\\Windows\\Fonts\\ANGSA.ttf",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
# 1 楼答案
使用的依赖项:
并参考链接 https://knpcode.com/java-programs/convert-html-to-pdf-in-java-using-flying-saucer-openpdf/
# 2 楼答案
这对我来说适用于飞碟9.1.20和iText 2.1.7。 您应该更新依赖项和/或检查base64字符串
这个罐子是通过maven添加的:
Maven依赖关系
HTML部分