使用Google Script插入tiff到Google Slides报错如何解决?
报错根因
Google Slides 原生insertImage()接口仅支持JPEG、PNG、GIF三类标准编码格式的图片,TIFF、非标准编码BMP等格式无法直接识别,因此会抛出格式无效的报错。
可行解决方案
先通过Google Drive内置的转码能力将不兼容格式转换为支持的JPEG/PNG格式,再插入幻灯片,修改后的可运行代码如下:
// 替换为你的目标图片ID和幻灯片ID const imageID = ''; const slideID = ''; function insertConvertedImageToSlides() { // 获取原始图片文件 const originalFile = DriveApp.getFileById(imageID); // 调用Drive转码接口获取JPEG格式的图片blob,=s0参数表示保留原分辨率 const imageBlob = UrlFetchApp.fetch(`https://drive.google.com/thumbnail?id=${imageID}&sz=s0`, { headers: { Authorization: `Bearer ${ScriptApp.getOAuthToken()}` } }).getBlob(); // 插入到第一页幻灯片 const presentation = SlidesApp.openById(slideID); presentation.getSlides()[0].insertImage(imageBlob); }
注意事项
- 运行前需要确认脚本账号对目标图片有至少查看权限、对目标幻灯片有编辑权限
- 如果需要保留透明通道,可调整转码参数输出PNG格式
- 如果转换后分辨率不符合预期,可以调整
sz参数的数值适配需求
内容的提问来源于stack exchange,提问作者sp2
相关产品推荐
相关产品推荐

