【问题标题】:Call phantomjs from webpage从网页调用 phantomjs
【发布时间】:2015-09-16 05:28:01
【问题描述】:

我有一些由 Classic ASP 生成的 HTML 报告,我需要将它们转换为 PDF。 在寻找解决方案时,我发现了具有“rasterize.js”的 phantomJS,该功能可以获取 HTML 并将其输出为 PDF。

问题是我无法弄清楚如何从我的原始/当前网页调用 phantomJS。

我的想法是,我当前的网页调用 phatomjs 发送其 HTML 内容,然后 phantomjs 将调用 rasterize.js 并将 PDF 输出到服务器,然后我将获取最近创建的 PDF 的名称并将其返回给客户。

有没有办法做到这一点?

【问题讨论】:

  • 澄清一下,phantomjs 将在服务器上运行,而不是在客户端上。对吗?
  • 是的,phantomjs 在服务器上。

标签: javascript phantomjs


【解决方案1】:

据我所知,Phantomjs 并不是为在浏览器中运行而设计的。

你有不同的选择:

  1. 使用像 https://parall.ax/products/jspdf 这样的 libaray,它有一个 fromHTML 方法将 html 内容呈现为 pdf
  2. 将您的 html 内容发送到呈现 PDF 的远程服务器并将其发回给您,我的一个朋友为此贡献了 https://github.com/piobyte/flamingo。它是执行此操作的服务器。
  3. 使用某种消息传递(例如 websocket)通知远程服务器呈现您的页面并为用户提供下载链接。

【讨论】:

  • 我想我会试试 jsPDF。据说 HTML 渲染器还处于早期阶段,但我会看到的。感谢您的提示。
【解决方案2】:

您可以从服务器调用 phantomjs,方法是向它发起攻击。 在大多数语言中看起来像:

`phantomjs myscript.js`

【讨论】:

    猜你喜欢
    • 2013-05-06
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2013-05-27
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多