Javascript 谷歌文档到pdf格式的转换不考虑文本编辑
我正在创建一个谷歌应用程序脚本,根据电子表格中的数据生成发票。对于每个发票,脚本应该复制一个模板文档文件,添加相关数据并输出一个pdf 当我尝试将修改后的文档文件导出为pdf时,它会基于原始模板文件创建一个pdf。所有编辑均未考虑在内 然而,在我的Javascript 谷歌文档到pdf格式的转换不考虑文本编辑,javascript,pdf,google-apps-script,google-sheets,google-docs,Javascript,Pdf,Google Apps Script,Google Sheets,Google Docs,我正在创建一个谷歌应用程序脚本,根据电子表格中的数据生成发票。对于每个发票,脚本应该复制一个模板文档文件,添加相关数据并输出一个pdf 当我尝试将修改后的文档文件导出为pdf时,它会基于原始模板文件创建一个pdf。所有编辑均未考虑在内 然而,在我的convertToPDF函数中,文件ID是正确的,并且它指向的文档已被正确修改。我试图从外部GenInvoice调用convertToPDF,但收效甚微 我对气体的理解是有限的,我只是通过尝试和错误来修补我的前进道路。在这里,我一无所知 下面是一个再现
convertToPDF
函数中,文件ID是正确的,并且它指向的文档已被正确修改。我试图从外部GenInvoice
调用convertToPDF
,但收效甚微
我对气体的理解是有限的,我只是通过尝试和错误来修补我的前进道路。在这里,我一无所知
下面是一个再现我的问题的最小示例:
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);
}
转换之前,请尝试添加“doc.saveAndClose();”
就像这样:
// Final print
body.appendParagraph('Great work! Keep your flow!');
//Save and close doc
doc.saveAndClose();
// convert to PDF
convertToPDF(docId)
转换之前,请尝试添加“doc.saveAndClose();”
就像这样:
// Final print
body.appendParagraph('Great work! Keep your flow!');
//Save and close doc
doc.saveAndClose();
// convert to PDF
convertToPDF(docId)
非常感谢,它解决了问题。我怀疑该文件应该关闭,但不知道
doc.saveAndClose()代码>非常感谢,它解决了问题。我怀疑该文件应该关闭,但不知道doc.saveAndClose()代码>