我目前正在使用Node和MySQL运行Angular 4。我有一个表单,在提交时,应该打开另存为..提示,以便输入的表单内容将保存为PDF或Word文档。
我已经尝试过使用htmlDox和saveAs但是我在错误后不断收到错误。有更简单的方法吗?
感谢。
答案 0 :(得分:0)
Jspdf是一个在javascript应用程序中使用的流行库。试试吧。
答案 1 :(得分:0)
这就是我制作自己的PDF所做的事情。
<强> component.ts 强>
import * as pdfMake from 'pdfmake/build/pdfmake';
import * as pdfFonts from 'pdfmake/build/vfs_fonts';
...
...
constructor() {
pdfMake.vfs = pdfFonts.pdfMake.vfs;
}
...
...
this.makePdf().then(function(results) {
pdf = results;
///
//You can now send your doc to the api and save it do a database.
///
}).catch(e => {
console.log(e);
});
makePdf():Promise<any> {
this.docDefinition = {
content: [ ... ]
}
return new Promise(resolve => {
pdfMake.createPdf(this.docDefinition).getBase64(function(buffer) {
resolve(buffer);
});
});
}
我不得不使用一个承诺因为生成文件花了太长时间。这样您就可以等待文档生成完毕并继续使用您的代码。