用Python替换Google文档中的图片

0 投票
1 回答
31 浏览
提问于 2025-04-14 17:14

我有一个谷歌文档,用作创建成千上万自动报告的模板。其中一部分是要把模板中的一些图片替换成正确的图片。我在获取要替换的图片的ID时遇到了困难,这听起来应该不复杂。根据这些文档 https://developers.google.com/docs/api/reference/rest/v1/documents/request#replaceimagerequest要替换的现有图片的ID。这个ID可以从获取请求的响应中获取。

但我不知道该发什么请求。我试着这样获取文档:document = docs_service.documents().get(documentId=document_id).execute(),但是我在里面没有看到明显的图片,除了可能有一个positionedObjectIds字段。

这里是缺少字段的代码:

requests = [
        {
            "replaceImage": {
                "imageObjectId": ¿where do I get this?,
                "uri": f"https://drive.google.com/file/d/{image_id}/view?usp=drive_link",
                "imageReplaceMethod": "CENTER_CROP",
            }
        }
    ]

提前谢谢你!

1 个回答

0

最后我不得不:

  1. 手动从文档中获取所有的图片ID,使用的代码是 document.get("body").get("content", [])
  2. 找到所有格式为 kix.z9k2rz42vt4f 的图片ID
  3. 然后像这样调用命令,尝试我在第一步找到的每一个图片对象ID,直到成功为止:
{
"replaceImage": {
    "imageObjectId": "kix.z9k2rz42vt4f",
    "uri": f"https://drive.google.com/file/d/{new_image}/view?usp=drive_link",
    "imageReplaceMethod": "CENTER_CROP",
  }
}

当然可能还有更好的方法,但这个对我来说有效。我的uri值也是错的。

撰写回答