如何将文件夹中的所有 Google 文档转换为 PDF?

How to convert all Google Docs in a folder into PDFs?

我创建了一个简单的 Google Apps 脚本来将我的云端硬盘中一个文件夹中的所有 Google 文档转换为 PDF 并将它们保存到同一个文件夹中,效果很好:

function convertDocsToPDF() {
 
  var folderId = "asdf";
  var folder = DriveApp.getFolderById("folderId");
  var invoices = folder.getFiles();
  
  while (invoices.hasNext()) {
    var invoice = invoices.next();
    var id = invoice.getId();
    var file = DriveApp.getFileById(id);
    var PDFblob = file.getAs(MimeType.PDF);
    var PDF = DriveApp.createFile(PDFblob);
    PDF.moveTo(file.getParents().next());
  }
}

我写这个是为了测试转换,但想将它集成到一个更长的脚本中。较长的脚本通过用我从电子表格中提取的数据替换 ##TextToReplace## 样式字段来从模板创建发票。

当我尝试集成 convertDocsToPDF() 功能时,PDF 看起来都像模板,而不是发票。当我在脚本完成后查看发票文档时,它看起来是正确的,所有字段都替换为正确的数据,但 PDF 看起来就像模板的副本。

我的脚本编辑发票和将其保存在我的云端硬盘中之间是否存在延迟,以至于 PDF 转换在替换文本之前看到发票?

将编辑推送到服务器需要一些时间。

这个延迟可能很小,但是脚本会更快。

您可以尝试的事情: