You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Apps Script下载Google Slides中的当前幻灯片为PDF文件?

好问题!Google Slides的Apps Script确实没有直接导出单个Page实例为PDF的API,但我们可以用一个变通方法:创建临时演示文稿,把目标幻灯片复制过去,再导出这个临时文件为PDF,最后清理掉临时文稿。下面是具体实现步骤和代码:

解决方案:通过临时演示文稿导出单页PDF

核心思路

由于SlidesApp没有直接导出单页的方法,我们可以绕个弯实现需求:

  1. 获取当前选中的目标幻灯片
  2. 创建一个空白的临时演示文稿
  3. 将目标幻灯片复制到临时文稿中(先删掉默认的空白页)
  4. 导出临时文稿为PDF文件
  5. 自动清理临时文稿(避免占用空间)
  6. 触发浏览器下载生成的PDF

完整代码实现

// 你已有的获取当前页面函数
export const getCurrentPage = () => {
  return SlidesApp.getActivePresentation()
    .getSelection()
    .getCurrentPage();
};

// 新增的单页导出为PDF并下载的函数
export const exportCurrentPageAsPdf = () => {
  const currentPage = getCurrentPage();
  if (!currentPage) {
    SlidesApp.getUi().alert("请先选中一张幻灯片再操作!");
    return;
  }

  // 1. 创建临时演示文稿
  const tempPresentation = SlidesApp.create("临时单页导出文稿");
  const defaultSlide = tempPresentation.getSlides()[0];
  // 删除默认的空白幻灯片,确保临时文稿只有我们要的页面
  tempPresentation.deleteSlide(defaultSlide);

  // 2. 把当前选中的幻灯片复制到临时文稿
  currentPage.copyTo(tempPresentation);

  // 3. 构造PDF导出链接
  const tempFileId = tempPresentation.getId();
  // 利用Google Docs的导出接口生成PDF链接
  const pdfDownloadUrl = `https://docs.google.com/presentation/d/${tempFileId}/export/pdf?format=pdf`;

  // 4. 触发浏览器下载(通过弹窗脚本实现)
  const downloadHtml = HtmlService.createHtmlOutput(`
    <script>
      // 打开PDF链接触发下载
      window.open("${pdfDownloadUrl}", "_blank");
      // 1秒后自动关闭弹窗
      setTimeout(() => google.script.host.close(), 1000);
    </script>
  `).setWidth(120).setHeight(80);
  
  SlidesApp.getUi().showModalDialog(downloadHtml, "正在生成PDF...");

  // 5. 延迟清理临时文件(给下载留足够时间)
  Utilities.sleep(5000); // 等待5秒
  DriveApp.getFileById(tempFileId).setTrashed(true); // 移到回收站,也可以用deleteFile直接删除
};

关键细节说明

  • 临时文稿处理:必须先删除默认空白页,否则导出的PDF会多一张空页
  • PDF导出链接:这是Google官方的文档导出接口,安全且稳定,不需要额外授权
  • 下载触发:Apps Script无法直接调用浏览器下载,所以用一个极小的弹窗来执行JavaScript下载逻辑
  • 临时文件清理:设置5秒延迟是为了确保下载请求已经发出,避免文件提前被删除导致下载失败

使用方法

  1. 打开Google Slides的脚本编辑器(工具 > 脚本编辑器)
  2. 粘贴上述代码
  3. 第一次运行时需要授权脚本访问你的Google Drive和Slides
  4. 选中要导出的幻灯片,运行exportCurrentPageAsPdf函数即可自动下载PDF

内容的提问来源于stack exchange,提问作者Cagri Uysal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 10:52:34