如何通过Python或Google Doc技巧将多个图片URL转为JPEG插入Google文档?
实现方法
一、Google Docs原生技巧(无需代码)
这是最便捷的实现方式,利用Docs的正则替换和内置IMAGE函数自动渲染图片:
- 将文本文件中的所有图片URL复制,粘贴到Google Docs中,确保每个URL单独占一行。
- 全选所有URL,按下
Ctrl+H(Windows)或Cmd+H(Mac)打开替换面板。 - 在「查找内容」框中填入正则表达式:
(https?://\S+),勾选面板底部的「使用正则表达式」选项。 - 在「替换为」框中填入:
=IMAGE("$1"),点击「全部替换」。 - 完成后,所有URL会自动转换为
=IMAGE("URL")公式,Google Docs将立即渲染出对应图片。
注意:若图片无法显示,检查URL是否为公开可访问状态,部分网站会禁止外部引用图片。
二、Python脚本方法(适合批量自动化)
如果需要频繁处理这类批量导入任务,可通过Google Docs API编写脚本实现:
前置准备
- 安装依赖包:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
- 前往Google Cloud控制台,创建新项目并启用Google Docs API,生成服务账号密钥(JSON格式)并下载到本地。
示例脚本
from googleapiclient.discovery import build from google.oauth2.service_account import Credentials # 配置认证信息 SERVICE_ACCOUNT_KEY = 'your-service-account-key.json' # 替换为你的密钥文件路径 SCOPES = ['https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/drive'] # 初始化API客户端 creds = Credentials.from_service_account_file(SERVICE_ACCOUNT_KEY, scopes=SCOPES) docs_service = build('docs', 'v1', credentials=creds) # 读取文本文件中的图片URL列表 with open('image_urls.txt', 'r', encoding='utf-8') as f: image_urls = [line.strip() for line in f if line.strip()] # 创建新的Google文档 new_doc = docs_service.documents().create(body={'title': '批量导入图片'}).execute() doc_id = new_doc['documentId'] # 构建批量插入图片的请求 batch_requests = [] for index, url in enumerate(image_urls): # 每次插入图片后递增索引,避免内容重叠 insert_position = 1 + index * 2 batch_requests.append({ 'insertInlineImage': { 'location': {'index': insert_position}, 'uri': url, 'objectSize': { 'height': {'magnitude': 250, 'unit': 'PT'}, 'width': {'magnitude': 350, 'unit': 'PT'} } } }) # 执行批量更新 docs_service.documents().batchUpdate(documentId=doc_id, body={'requests': batch_requests}).execute() print(f"图片导入完成,文档ID:{doc_id}")
注意事项
- 服务账号需拥有文档编辑权限:新建文档默认具备权限,已有文档需将服务账号邮箱添加为协作者。
- 确保图片URL为公开可访问状态,私有存储的图片需额外配置权限验证。
内容的提问来源于stack exchange,提问作者Scott
相关产品推荐
相关产品推荐

