如何使用Java将HTML网页转换为PDF文件

时间:2011-03-22 03:55:07

标签: java pdf

我一直在互联网上搜索如何使用Java将HTML页面转换为PDF文件。我发现了很多指针,简而言之,它们不起作用或者太难实现。我还下载了一个商业产品,pdf4ml; API是我很乐意使用的,除了当我在维基百科上抓取一个简单的页面时,我得到一个内存不足错误(将Xmx设置为1024 M)。在某些方法中,他们建议转换HTML - > XHTML - > FO - > PDF。但是,我得到了很多XHTML到FO XLS文件的例外;并且阅读文档,这不是我现在有足够时间理解的东西。

这是我的问题/疑虑。 1.那里有另一个有凝聚力的API,可以轻松地将HTML转换为PDF(商业与否)? 2.有没有办法可以简单地捕获HTML页面并将其存储为单个文件。这种方法类似于使用Internet Explorer将网页保存为Web存档的方式(单个文件,MHT格式)?

任何帮助表示赞赏。 (顺便说一句,我知道这个问题已被反复询问,但除了问题的原始精神之外,我还向其他方式开放)。感谢。

5 个答案:

答案 0 :(得分:5)

尝试使用WebKit的wkhtmltopdf。另一个选项(我目前正在使用它)是使用OpenOffice(通过宏远程控制)。

答案 1 :(得分:1)

您可以使用iText开源Java lib,并阅读this

或使用YaHPConverter开源Java lib。

或者在icepdf流行的开源库

的帮助下这样做

或使用pd4ml,但它不是免费的,只是试用。

或使用thisthis就是男人。

答案 2 :(得分:0)

使用开源工具我的2美分:

您可以使用Capture screenshots with SeleniumWebDriver将html页面的屏幕截图保存在Java代码的图像文件中。一旦你有图像文件,你可以convert it to pdf again from your Java code

修改 看来你可以使用itext Html to Pdf

一步完成所有这些操作

答案 3 :(得分:0)

我不确定但你可以尝试

1)cobra html渲染引擎http://lobobrowser.org/cobra.jsp

2)htmleditorkit - jdk的一部分

3)JWebPane

使用渲染工具包来解析和渲染html。渲染出来的是摆动组件。迭代文件可以使用Swing组件生成pdf文件输出

答案 4 :(得分:0)

您可以尝试Pdfcrowd。它是一个易于使用的商业在线API,有许多选项并支持Java。

它可以从网页或原始HTML代码创建PDF。