将HTML文件转换为PDF

将HTML文件转换为PDF

我需要自动生成一个PDF文件从一个现有的(X)HTML-文档。输入文件(报告)使用了相当简单的基于表的布局,因此可能不需要支持真正花哨的JavaScript/CSS内容。

由于我已经习惯于在Java中工作,所以可以很容易地在java项目中使用的解决方案更可取。不过,它只需要在windows系统上工作。

要做到这一点是可行的,但不能产生高质量的输出(至少是开箱即用)。CSS2XSLFO和ApacheFOP来创建PDF文件。我遇到的问题是,虽然CSS-属性被很好地转换,但是表布局非常混乱,文本从表格单元格中流出。

我还快速地看了一下Jrex,一个使用壁虎渲染引擎的Java-API。

是否有一种方法可以从InternetExplorer呈现引擎抓取呈现的页面并将其自动发送到PDF-打印机工具?我没有在Windows上进行OLE编程的经验,所以我不知道什么是可能的,什么是不可能的。

你有什么主意吗?

编辑:FlyingSaucer/iText看起来很有前途。我会尽量同意的。

谢谢你的回答


暮色呼如
浏览 844回答 3
3回答

ibeautiful

这个飞梭XHTML呈现器项目支持将XHTML输出到PDF。看看一个例子这里.

UYOU

检查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();
打开App,查看更多内容
随时随地看视频慕课网APP