使用 JxBrowser 导出 PDF

该项目演示了如何使用 JxBrowser 来执行 HTML/CSS/JS 内容的程序化 PDF 导出。

PDF 导出

问题 

当一个组织希望收集和分享一些信息时,迄今为止,这些报告的最常见格式通常是 PDF。生成的文件可能包含各种数据,包括表格、图表和其他可视化内容。

然而,尽管 PDF 格式非常流行,但设置一个自动的 PDF 生成系统通常会面临一些挑战。根据所选的解决方案,组织可能需要依赖特定的报告工具,或者开发人员可能需要使用具有陡峭学习曲线、需要熟练掌握才能有效使用的程序库。此外,生成内容的准确度可能也不如预期高。

在很多情况下,使用另一种方法更为可取:将内容渲染为 HTML,并通过 Web Browser 的内置打印机制将其打印为 PDF。

解决方案 

在此示例中,我们在 JVM Web 服务器上使用 JxBrowser,以便在请求时将表格数据导出为 PDF。由于 JxBrowser 是基于 Chromium 构建的,因此我们使用 HTML 功能来创建表格界面,并使用 CSS 和 JS 库来建立适当的外观和感觉。在运行时,页面将填充实际数据,并通过 JxBrowser 的 API 渲染为 PDF。生成的 PDF 与通过桌面版 Chromium Browser 打印的 PDF 相同。

另外,一旦应用程序启动,PDF 导出过程无需人为干预或与 UI 进行任何其他交互。这有助于根据需要每晚运行计划报告。

该应用程序可以托管在专用服务器或 Cloud VM 上,根据请求(例如 cron 作业或来自另一个程序的 REST API 请求)生成 PDF。

综上所述,该解决方案具备以下几点优势:

  1. 完全自动化的 PDF 生成。
  2. 不依赖第三方报告格式和特定的报告工具,生成内容质量高。
  3. 如果需要,可以在 PDF 生成和 Web 客户端上重复使用相同的 HTML/CSS/JS 代码,例如生成预览。结果是相同的。

许可与重用

本项目的代码MIT 许可证下提供。我们鼓励客户将其用作灵感来源,或直接在其应用中采纳使用。