我试图将我的html内容转换为PDF。我的html文档中有一些文本和图像(PNG)。使用iTextRenderer
进行转换后,只有图像不是PDF格式的,其余的文本内容都是正确的。打印我的html内容(使用Sysout)图像标记正确,但不以PDF格式显示。
请在下面找到我的java代码。
ITextRenderer renderer = new ITextRenderer();
Document resultDoc = (Document) result.getNode();
renderer.setDocument(resultDoc, "");
renderer.layout();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
renderer.createPDF(baos);
baos.close();
return Base64.getEncoder().encodeToString(baos.toByteArray());
答案 0 :(得分:1)
我已通过更改依赖项修复了此问题。之前我使用的是以下依赖项,而不是将图像解析为PDF文件。
<!-- https://mvnrepository.com/artifact/org.xhtmlrenderer/core-renderer -->
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>core-renderer</artifactId>
<version>R8pre2</version>
</dependency>
然后我用以下依赖项替换它,它工作正常。无需更改代码。
<!-- https://mvnrepository.com/artifact/org.xhtmlrenderer/flying-saucer-pdf-itext5 -->
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
<version>9.1.13</version>
</dependency>