You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

将Google Slides导出为图片/PDF格式:寻求有效解决方案

将Google Slides转换为PDF/图片的实用方案

一、官方内置导出(最稳妥无第三方依赖)

直接在Google Slides内操作,完全无需依赖老旧工具:

  • 导出PDF:打开目标幻灯片,点击顶部菜单栏文件下载PDF文档,可自定义导出范围(全部/指定页码)、是否包含演讲备注等选项,导出文件兼容性拉满。
  • 导出单张图片:选中目标幻灯片,右键选择下载PNG图片;若需批量导出所有幻灯片,用下面的脚本方法更高效。

二、Google Apps Script批量导出(免费且持续可用)

如果需要批量导出所有幻灯片为图片,或自定义导出规则,用官方维护的Apps Script即可,代码无过期风险:

  1. 打开目标Google Slides,点击顶部扩展程序Apps Script
  2. 清空默认代码,粘贴以下脚本:
function exportSlidesAsImages() {
  const presentation = SlidesApp.getActivePresentation();
  const slides = presentation.getSlides();
  const folder = DriveApp.createFolder(presentation.getName() + " - 幻灯片图片");
  
  slides.forEach((slide, index) => {
    const blob = slide.getAs("image/png");
    blob.setName(`幻灯片${index + 1}.png`);
    folder.createFile(blob);
  });
  
  SlidesApp.getUi().alert("批量导出完成,已保存到Google Drive的对应文件夹");
}
  1. 点击运行,首次运行需完成Google账号授权(按提示操作即可),完成后所有幻灯片会以PNG格式批量保存到Drive的新建文件夹中。

若需批量导出PDF,可修改脚本中getAs的参数为application/pdf,不过内置导出PDF本来支持一次性导出全部,脚本更适合需要自动定时导出的场景。

三、命令行/API方案(适合开发者自动化场景)

使用Google官方维护的google-api-python-client工具,完全不存在过时失效问题:

  1. 先在Google Cloud Console创建项目,启用Slides API和Drive API,生成服务账号密钥(JSON格式)
  2. 安装依赖包:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
  1. 导出PDF示例代码:
from googleapiclient.discovery import build
from googleapiclient.http import MediaIoBaseDownload
from google.oauth2 import service_account
import io

# 替换为你的服务账号密钥文件路径
SERVICE_ACCOUNT_FILE = 'your-service-account-key.json'
SCOPES = ['https://www.googleapis.com/auth/drive']

creds = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES)

service = build('drive', 'v3', credentials=creds)

# 替换为你的Google Slides文件ID(从URL中提取)
file_id = 'your-slides-file-id'
request = service.files().export_media(fileId=file_id, mimeType='application/pdf')
fh = io.FileIO('output.pdf', 'wb')
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
    status, done = downloader.next_chunk()
    print(f"下载进度: {int(status.progress() * 100)}%")

该方案适合集成到自动化工作流,官方持续维护工具,稳定性有保障。

内容的提问来源于stack exchange,提问作者Pierre Marsaa

火山引擎 最新活动