Open Html to pdf 在本机构建时弄乱了 pdf 显示

Openhtml to pdf messes up pdf display when build natively

我正在使用这个 - https://github.com/danfickle/openhtmltopdf 将 html 转换为 pdf。 (它在内部使用 Apache PDFBox,我猜这就是问题所在)。

在开发模式下一切正常 - 我正在使用 quarkus。 当我 运行 - mvn clean quarkus:dev 并生成 pdf 时,它按预期正确显示(html table 和所有)。

然而,当我本地构建(mvn package -Pnative)而不是生成 pdf 时,它会弄乱所有显示。一切都只是一个字符串,它也无法理解css。

困难的部分是,我没有看到任何错误,所以无法弄清楚出了什么问题。

Htmlto pdf代码,非常基础-

PdfRendererBuilder builder = new PdfRendererBuilder();
builder.useFastMode();
builder.withHtmlContent(htmlContent, null);
builder.toStream(os);
builder.run();

传递任何字符串(格式良好html),您将看到两种不同执行方式之间的区别。

为什么会这样?

不查看库代码很难判断。

Quarkus 尽最大努力集成库并通过添加原生模式所需的部分使它们在原生模式下工作。对于本机模式限制,请检查此 link:https://www.graalvm.org/reference-manual/native-image/Limitations/.

有些库无需额外配置即可开箱即用。其他需要额外配置以符合原生镜像规则。

我怀疑该库可能使用了某种未在本机映像中注册的反射。也许先看看它并注册其他资源:https://quarkus.io/guides/writing-native-applications-tips