HTML和CSS转换为JavaScript中的PDF
HTML and CSS to PDF in JavaScript
我知道有很多库,但似乎没有一个与我的场景完全匹配。所以我希望能在这里得到一些建议。。。
技术:我使用Express.js上的Node.js作为后端,使用html/css/js作为前端。浏览器支持IE8及以上版本、chrome、FF和其他现代浏览器。
我需要做的是:有一个"to pdf"按钮供用户点击,然后将DOM的一大块转换为pdf。当后端对另一个应用程序进行API调用时,DOM的html的这个块是动态生成的。CSS是静态的。
除此之外,只要我不必向第三方等发送明文数据,我就可以自由地做任何我想做的事情。
有什么推荐的方法吗?
更新:查看wkhtmltopdf
基本上,这就是我最终要做的
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);
});
});
});
IMO这有点难看,因为它需要制作一个文件,然后转换它,然后提供它,最后删除两者。我怀疑这里存在可扩展性问题。此外,wkhtmltopdf似乎与osx打得不好。不过在linux上没有这样的问题。
尝试wkhtmltopdf。您可以很容易地查看RubyonRails驱动程序的当前实现,并将其应用于node和express。你基本上调用一个命令行应用程序,它将使用你的打印CSS转换为PDF。
相关文章:
- javascript中的数组出错
- JavaScript中的函数和对象之间没有区别吗?
- Javascript中的空白是什么
- 为什么要使用0>javascript中的0
- 如何制作简单的php'在Javascript中的foreach等价物
- javascript中的布尔条件
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 验证Javascript中的Textarea
- 可以't使用Appcelerator将JSON文件解析为JavaScript中的TableView
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 仅在IE中,javascript中的时区名称不正确
- JavaScript 中的嵌套函数和 “this” 关键字
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- JavaScript 中的高阶函数
- Javascript中的备选注释方法
- 如何使用JavaScript中的用户输入创建序列/序列
- 无法理解JavaScript中的静态方法
- 如何附加'#'到Javascript中的值
- javascript 中的全局函数
- 用javascript中的param执行动态函数