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

Google Apps Script文档转PDF后体积过大问题求助

Google文档转PDF体积过大的解决方案

问题分析

原文档仅4.9Mb但转PDF后达28.5Mb,核心原因通常是Google Docs默认导出PDF时保留了图片的原始高分辨率,或包含冗余元数据/格式信息。以下是针对性解决方法:


方法一:通过Drive API自定义导出参数压缩PDF

替换原函数为以下代码,利用Drive API的导出参数对图片进行压缩:

function ConvertDocToPdfSameFolder(docId, doc_name) {
  // 获取原文档所在文件夹ID
  const id_folder = DriveApp.getFileById(docId).getParents().next().getId();
  
  // 配置PDF导出压缩参数
  const exportOptions = {
    mimeType: 'application/pdf',
    jpegQuality: 50, // 图片质量(0-100,数值越低压缩率越高)
    imageResolution: 'screen', // 分辨率选项:screen(屏幕级)/print(打印级)/photo(照片级)
    useContentAsIndexableText: false // 关闭索引文本,减少冗余
  };
  
  // 调用Drive API导出PDF
  const url = `https://www.googleapis.com/drive/v3/files/${docId}/export?${new URLSearchParams(exportOptions)}`;
  const response = UrlFetchApp.fetch(url, {
    headers: {
      'Authorization': `Bearer ${ScriptApp.getOAuthToken()}`
    }
  });
  
  const docblob = response.getBlob();
  docblob.setName(doc_name + ".pdf");
  
  // 保存到目标文件夹
  const desti_folder = DriveApp.getFolderById(id_folder);
  const pdf = desti_folder.createFile(docblob);
  
  return pdf.getId();
}

注意事项:

  • 需要在脚本编辑器中启用Drive API:点击「资源」→「高级Google服务」,找到「Drive API」并开启;
  • 可根据需求调整jpegQuality和imageResolution参数,平衡文件大小与画质。

方法二:提前压缩文档内的图片

如果文档包含大量高分辨率图片,先在Google Docs内优化:

  • 选中图片→右键→「图片选项」→「压缩图片」;
  • 选择「用于网页/屏幕」或「用于打印」模式,压缩后再执行转换函数。

方法三:清理文档冗余内容

检查并移除文档中可能存在的:

  • 隐藏的文本、表格或元素;
  • 多余的格式样式、未使用的模板资源;
  • 重复嵌入的媒体文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 09:42:24