bounty将在2天后过期。回答此问题可获得+50的声誉奖励。Deji James正在寻找来自声誉良好来源的答案。
我现在正在运行一个云函数来生成一个.docx文档,然后使用nodemailer将其交付给用户,下面是使用docxtemplater生成.docx文件的代码:
const file_name = 'template.docx';// this is the file saved in my firebase storage
const templateRef = await admin.storage().bucket()
.file(file_name);
const template_content = (await templateRef.download())[0];
const zip = new PizZip(template_content);
let doc;
try {
doc = new Docxtemplater(zip, { linebreaks: true });
} catch (error) {
// Catch compilation errors (errors caused by the compilation of the template : misplaced tags)
errorHandler(error);
}
doc.setData({
name: data.name
});
try {
doc.render();
} catch (error) {
errorHandler(error);
}
const contentBuffer = doc.getZip().generate({ type: "nodebuffer" });
我现在要做的是将contentBuffer转换为PDF文件,然后将其附加到电子邮件中。我尝试使用PDF make,但它生成了一个空白的PDF。有没有办法可以使用任何PDF生成器来完成此操作?
1条答案
按热度按时间vyswwuz21#
通过快速搜索,我在Docxtemplater的文档中找到了以下信息:
转换为PDF
不能用docxtemplater将docx转换为PDF,...有很多工具可以完成这种转换。
第一种是使用
libreoffice headless
,它允许您从docx文档生成PDF:你只需要跑:
这会将input.docx文件转换为input.pdf文件。
如果第一个选项的结果不能满足您的需要,还可以选择
PDFtron
和Aspose
。