【发布时间】:2010-10-12 15:18:06
【问题描述】:
我需要从现有的 (X)HTML 文档中自动生成 PDF 文件。输入文件(报告)使用相当简单的基于表格的布局,因此可能不需要支持真正花哨的 JavaScript/CSS 内容。
由于我习惯于使用 Java,因此可以在 java 项目中轻松使用的解决方案更可取。不过,它只需要在 Windows 系统上运行即可。
一种可行的方法是使用CSS2XSLFO 和Apache FOP 来创建PDF 文件,但不会产生高质量的输出(至少开箱即用)。我遇到的问题是,虽然 CSS 属性转换得很好,但表格布局非常混乱,文本从表格单元格中流出。
我还快速浏览了 Jrex,这是一个用于使用 Gecko 渲染引擎的 Java-API。
有没有办法从 Internet Explorer 渲染引擎中获取渲染页面并将其自动发送到 PDF-Printer 工具?我没有在 Windows 中进行 OLE 编程的经验,所以我不知道什么是可能的,什么是不可能的。
你有什么想法吗?
【问题讨论】:
-
我最近创建了一个 Java 库docbag,可以将 xhtml 转换为 pdf 文档。当前版本并不先进,但如果您的 xhtml 模板很简单,这个库可能会派上用场。
-
我认为要走的路是使用浏览器功能进行翻译。见stackoverflow.com/q/25574082/39998
-
我一直坚持从包含西里尔字母的 html 生成 pdf。一切都很好,除了省略的西里尔字母。有人遇到过这种问题吗?
-
@krisiliev:我也有类似的问题,据我所知,使用的字体非常重要。大多数字体不支持完整的 UTF8 字符,但以下应该:' font-family: Arial Unicode MS;' (CSS)。还要确保使用正确的编码(我建议始终使用 UTF-8)
标签: java html pdf pdf-generation