我需要从现有的(X)HTML文档中自动生成PDF文件。输入文件(报告)使用相当简单的基于表格的布局,因此可能不需要对真正花哨的JavaScript/CSS内容的支持。
由于我习惯于在Java中工作,所以在java项目中容易使用的解决方案更可取。不过,它只需要在windows系统上运行即可。
一种可行但不能产生高质量输出(至少开箱即用)的方法是使用CSS2XSLFO和Apache FOP来创建PDF文件。我遇到的问题是,虽然CSS属性转换得很好,但表格布局却相当混乱,文本流出表格单元格。
我还快速了解了Jrex,这是一种使用Gecko呈现引擎的Java-API。
有没有办法从internet explorer渲染引擎中抓取渲染过的页面,并自动将其发送到PDF-Printer工具?我没有windows中的OLE编程经验,所以我不知道什么是可能的,什么是不可能的。
你有什么想法吗?
发布于 2009-03-11 09:22:44
PDF XHTML渲染器项目支持将Flying Saucer输出为PDF。看一看示例here。
发布于 2009-03-11 09:32:24
查看iText;它是一个纯Java PDF工具包,支持从HTML读取数据。我最近在一个项目中使用了它,当我需要从我们的CMS中提取内容并导出为PDF文件时,这一切都相当简单。对CSS和style标签的支持非常有限,但它可以毫无问题地呈现表格(尽管我从未设法设置列宽)。
从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();
发布于 2009-03-11 09:17:10
如果你有足够的资金,没有什么比this video shows更好的了
https://stackoverflow.com/questions/633780
复制相似问题