【问题标题】:How To Generate PDF Documents from CSS 3 in Java如何在 Java 中从 CSS 3 生成 PDF 文档
【发布时间】:2011-10-10 14:22:00
【问题描述】:

我目前正在从事一个项目,该项目涉及将复杂的结构化图像和文本转换为使用 Java 将它们转换为 PDF。我的第一直觉是创建 HTML/CSS 来表示数据的输出方式,然后使用 Java 库将该 HTML/CSS 转换为 PDF。在进行研究时,我没有找到任何考虑 CSS 3 属性(如边框半径、框阴影和变换:旋转)的好的解决方案。我研究了带有飞碟和 PD4ML 的 iText。

有没有人知道有什么好的免费或商业产品是最新的并且支持这种新的 CSS 技术?

或者我是否可能只是在尝试使用 CSS/HTML 开始时走错了路?

【问题讨论】:

  • 您研究过 XML-FOP 吗?
  • 正是我正在寻找的,但仍未找到解决方案

标签: java pdf css pdf-generation


【解决方案1】:

HTML/CSS 听起来像是不必要的开销。由于您的数据是“结构化”图像和文本,因此如果将其轻松转换为 XML,您可能会对 Apache FOP 有一些运气

【讨论】:

  • 我的一个朋友最近说:把非 XML 问题变成 XML 问题是我最不想做的事情。 :-)
【解决方案2】:

您可以使用带有 JODConverter (http://www.artofsolving.com/opensource/jodconverter) 的无头 OpenOffice 打开临时 HTML 文件,然后从无头 OpenOffice 保存到导出为 PDF。只要你有一个比较简单的 HTML/CSS 文件,应该没问题。这个我用过不少,感觉靠谱。

我不知道我推荐的 CSS3 的细节。我听说过使用无头 Firefox 来做类似的事情的传言,但你会离开 Java。由于我没有亲自做过,所以不能提供太多评论。

【讨论】:

  • 忘了提到感性方面。就个人而言,我会尽量避免仅出于转换为 CSS 的目的而创建 HTML 文档。它可以工作,但并不理想,而且开销很大。
【解决方案3】:

我认为 html/css 不是一个好主意。使您的图像和格式与 html/css 一起工作是一种痛苦,然后将其转换为 PDF 是另一种痛苦。

PDF 支持嵌入图像和格式化文本,那为什么不直接使用呢?使用任何 Java 工具/lib 生成图像并使用 iText 或 iReport 打印 PDF 不会比单独使用 html/css 更难。

【讨论】:

    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 2013-06-05
    • 2012-03-06
    • 1970-01-01
    • 2021-05-20
    • 2012-05-12
    • 1970-01-01
    • 2018-06-13
    相关资源
    最近更新 更多