【问题标题】:create PDF file in JS [closed]在JS中创建PDF文件[关闭]
【发布时间】:2014-10-07 08:21:02
【问题描述】:

我正在使用客户端 MVC 开发 Web 应用程序。技术栈是 Server 端的 Backbone JS、HTML5 和 Spring。

我有一个需求,我需要在客户端使用 Javascript 进行一些数据操作,方法是使用 JSON 文件作为直接保存在 Web 服务器上的数据负载。这是应用程序的高流量部分,我不想访问我的应用程序服务器进行这种简单的数据操作。

现在在同一个模块上 - 我有一个要求,我需要生成一个有效包含静态模板的 PDF 文件,然后我需要使用我在客户端已经拥有的有效数据来填充模板。我需要生成 PDF 并让用户下载。

知道我怎样才能在客户端以一种干净而健壮的方式完全实现它。

【问题讨论】:

  • 我认为您还应该考虑浏览器对旧浏览器的支持,这样后端解决方案可能会更好
  • 我认为有必要提一下这个网站也应该在移动设备上使用。
  • 如果是我,我会尝试进行服务器端 PDF 生成,我可以使用 wkhtmltopdf 或 Princexml 之类的工具来生成结果一致的 PDF,而不管客户端浏览器如何。但是,如果您必须在客户端执行此操作,您可以考虑使用 DocRaptor (docraptor.com),它提供 HTML-to-PDF 作为 Web 服务。假设客户端可以将 HTML 和 CSS 发布到 DocRaptor,然后检索 PDF。我没有用过 DocRaptor,但我知道它是基于 PrinceXML 的。
  • 我不同意这个问题过于宽泛。

标签: javascript html pdf backbone.js pdf-generation


【解决方案1】:

据我了解,您有一个 html 模板,您想用某些数据填充然后将其呈现为 pdf?

对于客户端,是否尝试过查看类似 jsPdf (http://parall.ax/products/jspdf) 的内容? html 渲染器仍处于早期阶段,但它似乎工作得很好。

正如 Bogdan 所指出的,后端解决方案也是可能的。您可以查看 pd4ml (http://pd4ml.com/) 甚至调用 pandoc (http://johnmacfarlane.net/pandoc/) 甚至 phantomjs (http://phantomjs.org/) 来执行转换,然后将生成的 pdf 传递回客户端。

如果它不是一个 html 模板,我相信上面的一些解决方案应该可以工作。

【讨论】:

    猜你喜欢
    • 2018-05-01
    • 2012-09-10
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2017-10-20
    相关资源
    最近更新 更多