首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript中的HTML和CSS到PDF格式

JavaScript中的HTML和CSS到PDF格式
EN

Stack Overflow用户
提问于 2012-07-27 19:25:31
回答 2查看 2.6K关注 0票数 6

我知道外面有很多库,但似乎没有一个与我的场景完全匹配。所以我希望在这里得到一些建议..。

技术:我在后端使用Node.js on Express.js,前端使用html/css/js。浏览器支持IE8和up、chrome、FF和其他现代浏览器。

我需要做的是:让用户点击一个"to pdf“按钮,然后将DOM的一部分转换成pdf。当后端对另一个应用程序进行API调用时,会动态生成DOM的这一部分html。CSS是静态的。

除此之外,我有很大的自由去做我想做的任何事情,只要我不需要向第三方发送明文数据等等。

有什么推荐的方法吗?

更新:查看wkhtmltopdf

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-01 00:21:51

基本上,这就是我最后要做的

代码语言:javascript
复制
console.log("before");
fs.writeFile(html_filename, html, function (err) {
  if (err) {res.writeHead(400); res.end("" + err); return;}

  console.log("wrote html fine; now converting");
  exec('wkhtmltopdf ' + html_filename + ' ' + pdf_filename, function (err, stdout, stderr) {
    if (err) {res.writeHead(400); res.end("" + err); return;}

    console.log("converted; now reading");
    fs.readFile(pdf_filename, function (err, data) {
      if (err) {res.writeHead(400); res.end("" + err); return;}

      console.log("read fine; now serving");
      res.writeHead(200, {"content-type" : "application/pdf"});
      res.end(data);
    });
  });
});

它有点难看,因为它需要创建一个文件,然后转换它,然后服务它,最后删除这两个文件。我怀疑这里存在可伸缩性问题。同样,wkhtmltopdf似乎对osx不友好。不过,linux上没有这样的问题。

票数 5
EN

Stack Overflow用户

发布于 2012-07-31 01:10:56

试试wkhtmltopdf。您可以轻松地查看Rails驱动程序的当前实现,并将其应用于节点和表达式。您基本上调用一个命令行应用程序,它将被转换为PDF使用您的打印CSS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11694408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档