如何在Java中从CSS 3生成PDF文档
我目前正在从事一个项目,该项目涉及转换复杂的结构化图像和文本,并使用Java将其转换为PDF格式。我的第一反应是创建HTML/CSS,它表示数据输出的方式,然后使用Java库将HTML/CSS转换为PDF。在做研究的过程中,我还没有找到任何考虑CSS 3属性的好解决方案,比如边界半径、框阴影和变换:旋转。我已经调查了iText和飞碟,以及PD4ML 有谁知道一个好的免费或商业产品是最新的,并支持这种新的CSS技术如何在Java中从CSS 3生成PDF文档,java,pdf,css,pdf-generation,Java,Pdf,Css,Pdf Generation,我目前正在从事一个项目,该项目涉及转换复杂的结构化图像和文本,并使用Java将其转换为PDF格式。我的第一反应是创建HTML/CSS,它表示数据输出的方式,然后使用Java库将HTML/CSS转换为PDF。在做研究的过程中,我还没有找到任何考虑CSS 3属性的好解决方案,比如边界半径、框阴影和变换:旋转。我已经调查了iText和飞碟,以及PD4ML 有谁知道一个好的免费或商业产品是最新的,并支持这种新的CSS技术 或者,我可能只是在尝试使用CSS/HTML时走错了路 我认为html/css不是一
或者,我可能只是在尝试使用CSS/HTML时走错了路 我认为html/css不是一个好主意。让图像和格式与html/css一起工作是一件痛苦的事,然后将其转换为PDF是另一件痛苦的事
PDF支持嵌入图像和格式化文本,所以为什么不直接使用它呢?使用任何Java工具/lib生成图像并使用iText或iReport打印PDF都比只对html/css执行此操作困难。您可以使用headless OpenOffice和JODConverter()打开一个临时html文件,然后保存以从headless OpenOffice导出为PDF。只要你有一个相对简单的HTML/CSS文件,你就可以了。我已经用过很多次了,它看起来很可靠
我不知道我推荐的CSS3的具体内容。我听说有传言说会使用无头Firefox来做类似的事情,但你可能会跳出Java。因为我个人没有这样做过,所以不能提供太多的评论。HTML/CSS听起来像是不必要的开销。由于您的数据是“结构化”的图像和文本,如果它很容易转换为XML,您可能会在ApacheFop中遇到一些运气忘了提到敏感性方面。就我个人而言,我会尽量避免仅仅为了转换成CSS而创建HTML文档。它可以工作,但不理想,而且有很多开销。您研究过XML-FOP吗?这正是我想要的,但仍然没有找到解决方案。我的一位朋友最近说:将非XML问题转化为XML问题是我最不想做的事。:-)