将HTML文件转换为PDF
我需要从现有的(X)HTML文档自动生成PDF文件。 输入文件(报告)使用相当简单的基于表格的布局,因此可能不需要支持真正花哨的JavaScript / CSS材料。
由于我习惯于使用Java,因此可以轻松地在Java项目中使用该解决方案。 不过,它只需要在Windows系统上工作。
一种可行的方法是,但不会产生高质量的输出(至少是开箱即用)是使用CSS2XSLFO和Apache FOP来创建PDF文件。 我遇到的问题是,虽然CSS属性转换得很好,但表格布局相当混乱,文本流出表格单元格。
我还快速浏览了使用Gecko渲染引擎的Java-API Jrex。
有没有办法从Internet Explorer渲染引擎抓取渲染页面并自动将其发送到PDF打印机工具? 我在Windows中没有OLE编程的经验,所以我不知道什么是可能的,哪些不是。
你有好主意吗?
编辑 :FlyingSaucer / iText的东西看起来很有希望。 我会尽力去解决这个问题。
感谢所有的答案
Flying Saucer XHTML渲染器项目支持将XHTML输出为PDF。 看看这里的一个例子。
你试过WKHTMLTOPDF吗?
这是一个简单的shell实用程序,是WebKit的开源实现。 两者都是免费的。
我们在这里设置了一个小教程
编辑(2017):
如果今天要建造一些东西,我就不会再走这条路了。
但会改用http://pdfkit.org/。
可能会剥离它的所有nodejs依赖关系,以在浏览器中运行。
查看iText; 它是一个纯Java PDF工具包,它支持从HTML读取数据。 我最近在一个项目中使用它,当我需要从我们的CMS中提取内容并导出为PDF文件时,它非常简单。 对CSS和样式标签的支持是相当有限的,但它确实呈现表格没有任何问题(尽管我从未设置过列宽)。
从HTML创建PDF格式如下所示:
Document doc = new Document(PageSize.A4);
PdfWriter.getInstance(doc, out);
doc.open();
HTMLWorker hw = new HTMLWorker(doc);
hw.parse(new StringReader(html));
doc.close();
链接地址: http://www.djcxy.com/p/88489.html