动态HTML页面到pdf

时间:2012-05-22 16:51:11

标签: html pdf converter

我知道有一个类似问题的列表但是所有处理页面都没有用户交互(静态,即使有些j可能在那里)。

假设我们有一个用户可以互动的页面(例如svg而不是更改,或带有明细的html表 - 内容更改)。这些互动将改变页面。输入问题时,stackoverflow中也会发生相同的情况......

这个想法是添加一个按钮,“转换为pdf”获取html的状态并向用户发送一个pdf版本(我们是一个Java服务器)。

使用浏览器的打印不是我正在寻找的答案: - )。

这是月球上的一根棍子吗?

3 个答案:

答案 0 :(得分:1)

您必须存储生成HTML视图的参数(即用户点击的内容,他们所做的选择等)。如果你有一个生成HTML视图的参数列表,你可以有一个接受参数列表的方法(JSON post?),生成HTML视图并将其传递给你的PDF生成例程。我不太熟悉Java库用于此目的,但PHP有TCPDF可以采取html输出基本上为您生成PDF。当然,有一些Java库可以让你做同样的事情,或者你可以使用这些参数获得行/数组的列表,这些行/数组可以迭代并使用你选择的PDF库输出。

答案 1 :(得分:1)

iTextPDF Aspose.PDF 都允许您这样做(我已经看到它们用于两个不同的项目中),但是 没有魔力,你必须做一些工作

步骤大致如下:

  1. 获取(作为字符串)要使用jQuery或innerHTML打印的文档部分
  2. 在服务器端调用服务以将其转换为PDF
  3. [Serverside]使用基于whitlist的工具清理hmtl(除非你想被黑客攻击)。 JSoup 非常适合。
  4. [Serverside]使用IText或Aspose API从HTML创建PDF(这不是一件容易的事,您必须阅读文档)
  5. 下载文件

答案 2 :(得分:0)

我还推荐DocRaptor,一个由我公司建立的HTML to PDF API,预期行为。

DocRaptor使用Prince XML生成PDF,因此比同类产品产生更高质量的结果。

使用我们的服务将PDF生成添加到您自己的Web应用程序就像向我们的服务器发出HTTP POST请求一样简单。

这是DocRaptor主页的链接:

DocRaptor

我们的API文档链接:

DocRaptor API documentation