如何在Node.JS中创建PDF文档?是否有更好的解决方案来管理不同类型的PDF创建模板。
我使用PDFKit
创建PDF文档,这将是使用Javascript的服务器端。我无法使用HTML来创建PDF。这将是blob的段落和部分,用in。替换标签。
有没有人知道Node.js有任何npm包可以处理带有段落标题的模板。
喜欢的东西
getTemplateByID()
返回一个包含部分,标题,段落的模板,然后我用它来替换模板中的相应标签。
答案 0 :(得分:1)
在我的情况下,我必须从我的数据库(PostgreSQL)中获取我的HTML模板作为流。我请求db获取我的模板,然后创建一个tmp文件。
在我的模板中,我有AngularJS标签,所以我用'ng-node-compile'模块编译了这个带有数据的模板:
var ngCompile = require('ng-node-compile');
var ngEnvironment = new ngCompile();
var templateHTML = getTemplateById(id);
templateHTML = ngEnvironment.$compile(templateHTML)(datas);
现在我有我编译的模板(你可以设置你的段落等),我将它们转换为PDF,这要归功于PhantomJS模块'phantom-html-to-pdf'
var phantomHTML2PDF = require('phantom-html-to-pdf')(options);
phantomHTML2PDF(convertOptions, function (error, pdf) {
if(error) console.log(error);
// Here you have 'pdf.stream.path' which is your tmp PDF file
callback(pdf);
});
现在你有了编译和转换的模板(pdf),你可以做任何你想做的事! :)
有用的链接:
我希望这有帮助!