【发布时间】:2022-01-06 05:04:38
【问题描述】:
@Tanaike 已经提供了以下 solution 以使用 google docs API 将页眉和页脚放入 google docs。
file_id = ###
def insert_data(file_id):
requests = []
header_footer_req = []
index = 0
header_footer_req.append(add_header(index))
header_footer_req.append(add_footer())
header_footer_res = docs.documents().batchUpdate(documentId=file_id, body={'requests': header_footer_req}).execute()
header_id = header_footer_res['replies'][0]['createHeader']['headerId']
footer_id = header_footer_res['replies'][1]['createFooter']['footerId']
# adding header and footer content
requests += [
{
"insertInlineImage": {
"location": {
"segmentId": header_id,
"index": 0
},
"uri": "https://drive.google.com/uc?export=view&id=1Nn-G6Y7jUlzYF3MPN_YlQC9Uasjdj33",
# This is a sample image.
"objectSize": {
"width": {
"magnitude": 100,
"unit": "PT"
}
}
}
},
{
"updateParagraphStyle": {
"paragraphStyle": {
"alignment": "END"
},
"range": {
"segmentId": header_id,
"startIndex": 0,
"endIndex": 1
},
"fields": "alignment"
}
}
]
# Add footer content.
text = "This is my footer\nxyz"
requests += [
{
"insertText": {
"location": {
"segmentId": footer_id,
"index": 0
},
"text": text
}
},
{
"updateParagraphStyle": {
"paragraphStyle": {
"alignment": "END"
},
"range": {
"segmentId": footer_id,
"startIndex": 0,
"endIndex": len(text)
},
"fields": "alignment"
}
}
]
docs.documents().batchUpdate(documentId=file_id, body={'requests': requests}).execute()
def add_header(index):
header = {
"createHeader": {
"sectionBreakLocation": {
"index": index
},
"type": "DEFAULT"
}
}
return header
def add_footer():
footer = {
"createFooter": {
"type": "DEFAULT"
}
}
return footer
- 上述代码在每一页上打印相同的页脚。如何在首页和其他页面上使用不同的页脚。
首页页脚:Disclaimer: This is my test footer.
其他页面页脚:@copyright reserved\nxyz.com
-
如何在页脚右侧自动增加页码。
-
当我在页眉中添加图像时,页眉大小增加了,如何使所有页面上的页眉大小保持不变?
【问题讨论】:
-
在当前阶段,当创建新的 Google 文档并使用 Docs API 将页眉和页脚分隔为不同的首页时,很遗憾,
firstPageHeaderId和firstPageFooterId没有创建。在这种情况下,文本和图像不能放在第一页的页眉和页脚。你想怎么做? -
@Tanaike,你是说使用 google docs API 不可能有不同的首页?那么,添加页码呢?
-
感谢您的回复。可以将页眉和页脚的第一页和其他页分开。但是,文本和图像不能放在第一页的页眉和页脚。因为没有创建
firstPageHeaderId和firstPageFooterId。我认为这可能是由于DEFAULT只有一种页眉和页脚类型。对于目前的情况,我深表歉意。 -
是的。我认为你的理解是正确的。另一方面,除了第一页之外的页眉和页脚都可以通过Docs API进行管理。
-
关于你的第三个问题,插入图像的宽度和高度可以改变。我认为这可能是您第三个问题的答案。
标签: python google-drive-api google-docs google-docs-api google-api-python-client