如何使用Google Docs API v1和Python将内嵌图像居中

时间:2019-07-05 07:41:14

标签: python google-docs-api

我正在尝试使用Google Docs API和Python将图片居中,我遵循了建议定义嵌入式图片的文档。图像显示在生成的文档中,但不在文档的中心。 有什么方法可以使图像居中吗? 这是我的代码:

        requests = [
    {
        'replaceAllText': {
            'containsText': {
                'text': '{{ customer.name }}',
                'matchCase': 'true'
            },
            'replaceText': context['customer'],
        }},
    {
        'insertInlineImage': {
            'location': {
                'index': 55
            },
            'uri':
                'https://www.gstatic.com/images/branding/product/1x/docs_64dp.png',
            'objectSize': {
                'height': {
                    'magnitude': 50,
                    'unit': 'PT'
                },
                'width': {
                    'magnitude': 50,
                    'unit': 'PT'
                }
            }
        }
    }
]
risk_assessment_customer = drive_service.files().copy(fileId=DOCUMENT_ID, body={}).execute()
result = service.documents().batchUpdate(
    documentId=risk_assessment_customer['id'], body={'requests': requests}).execute()
request = drive_service.files().export_media(fileId=result['documentId'],
                                             mimeType='application/pdf')

谢谢

1 个答案:

答案 0 :(得分:0)

  • 您要使用Google Docs API在文档的中心插入一个内嵌图像。
  • 您已经将Google Docs API与适用于Python的Google客户端库一起使用了。

如果我的理解是正确的,那么该修改如何?在此修改中,我修改了您的请求正文。

修改点:

  • 为了使图像与中心对齐,使用了updateParagraphStyle

修改后的请求正文:

请按如下所示替换请求正文。

requests = [
    {
        'replaceAllText': {
            'containsText': {
                'text': '{{ customer.name }}',
                'matchCase': 'true'
            },
            'replaceText': context['customer'],
        }
    },
    {
        "insertInlineImage": {
            "location": {
                "index": 55
            },
            "uri": "https://www.gstatic.com/images/branding/product/1x/docs_64dp.png",
            "objectSize": {
                "height": {
                    "magnitude": 50,
                    "unit": "PT"
                },
                "width": {
                    "magnitude": 50,
                    "unit": "PT"
                }
            }
        }
    },
    {
        "updateParagraphStyle": {
            "range": {
                "startIndex": 55,
                "endIndex": 56
            },
            "paragraphStyle": {
                "alignment": "CENTER"
            },
            "fields": "alignment"
        }
    }
]

参考:

如果这不是您想要的结果,我表示歉意。