【发布时间】:2020-03-27 20:01:50
【问题描述】:
我正在创建一个 google 应用脚本,该脚本会根据电子表格中的数据生成发票。对于每张发票,脚本应该复制一个模板文档文件,添加相关数据并输出一个 pdf。
当我尝试将修改后的 doc 文件导出为 pdf 时,它会根据原始模板文件创建一个 pdf。没有考虑任何修改。
然而,在我的convertToPDF 函数中,文件 ID 是正确的,并且它指向的文档已被正确修改。我尝试从外部GenInvoice 拨打convertToPDF,但收效甚微。
我对 GAS 的理解是有限的,我只是通过反复试验来修补前进的道路。在这里,我一无所知。
这是一个重现我的问题的最小示例:
function GenInvoice(folder, month, restaurant, adresse, forfait, invoiceNr){
// copy template
var templateid = "1kDDBHiwUikKHRtywJ_Tfig4Nf_wNbdy814_5SvLerkw"
var template = DriveApp.getFileById(templateid);
var newfile = template.makeCopy(template.getName() + "_edited" );
// Open invoice in docs
var docId = newfile.getId()
var doc = DocumentApp.openById(docId);
var body = doc.getBody();
// Remplacing place-holders
body.replaceText("%TemplateText%", "%ModifiedText%");
// Final print
body.appendParagraph('Great work! Keep your flow!');
// convert to PDF
convertToPDF(docId)
}
function convertToPDF(theId){
console.log(theId)
var doc = DriveApp.getFileById(theId);
/* Add the PDF extension */
docblob = doc.getAs('application/pdf');
docblob.setName("Modified_template.pdf"); // doc.getName() + ".pdf")
var file = DriveApp.createFile(docblob);
}
【问题讨论】:
标签: javascript pdf google-apps-script google-sheets google-docs