Javascript 谷歌文档到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,但收效甚微 我对气体的理解是有限的,我只是通过尝试和错误来修补我的前进道路。在这里,我一无所知 下面是一个再现

我正在创建一个谷歌应用程序脚本,根据电子表格中的数据生成发票。对于每个发票,脚本应该复制一个模板文档文件,添加相关数据并输出一个pdf

当我尝试将修改后的文档文件导出为pdf时,它会基于原始模板文件创建一个pdf。所有编辑均未考虑在内

然而,在我的
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()