Google应用脚本:将活动幻灯片(Google幻灯片)导出为PDF

时间:2020-06-25 21:43:43

标签: google-apps-script

我想知道如何将演示文稿上的活动幻灯片导出为PDF。对于Google表格,我可以弄清楚,但对于Google幻灯片,却找不到。

谢谢!

1 个答案:

答案 0 :(得分:1)

我相信您的目标如下。

  • 您要使用Google Apps脚本将Google幻灯片上的当前活动幻灯片作为PDF文件导出到Google云端硬盘中的特定文件夹。

为此,这个答案如何?在此答案中,我使用以下流程。

  1. 检索活动幻灯片。
  2. 创建临时的Google幻灯片。
  3. 将活动幻灯片复制到临时Google幻灯片。
  4. 删除临时Google幻灯片中的初始幻灯片。
  5. 将临时Google幻灯片导出为PDF文件。
  6. 删除临时的Google幻灯片。

示例脚本:

请复制以下脚本并将其粘贴到Google幻灯片的容器绑定脚本中。并且,请在Google幻灯片中打开一张幻灯片并运行此脚本。这样,将在destinationFolderId的文件夹中创建活动幻灯片的PDF文件。

function myFunction() {
  const destinationFolderId = "###";  // Please set the destination folder ID.

  // 1. Retrieve the active slide.
  const s = SlidesApp.getActivePresentation();
  const activeSlide = s.getSelection().getCurrentPage().asSlide();

  // 2. Create a temporal Google Slides.
  const temporalSlides = SlidesApp.create("temporalSlides");

  // 3. Copy the active slide to the temporal Google Slides.
  temporalSlides.insertSlide(0, activeSlide);

  // 4. Delete the initial slide in the temporal Google Slides.
  temporalSlides.getSlides()[1].remove();
  temporalSlides.saveAndClose();

  // 5. Export the temporal Google Slides as a PDF file.
  const file = DriveApp.getFileById(temporalSlides.getId());
  DriveApp.getFolderById(destinationFolderId).createFile(file.getBlob().setName(`${s.getName()}.pdf`));

  // 6. Delete the temporal Google Slides.
  file.setTrashed(true);
}

参考文献: