如何通过Google Drive REST API设置横向导出Google Sheets为PDF?
用Google Drive REST API导出Google Sheets为PDF时指定额外参数
当然可以指定纸张方向这类额外参数!通过Drive REST API导出Google Sheets为PDF时,我们可以通过构造导出请求的查询参数,来实现和Sheets界面「文件>下载为」菜单里一致的设置。
核心可用参数(针对PDF导出)
- 纸张方向:使用
orientation参数,可选值为portrait(纵向,默认)或landscape(横向) - 纸张大小:
paperSize参数,支持letter、legal、A4、A3等常用纸张规格 - 显示网格线:
gridlines参数,设为true显示网格线,false隐藏 - 显示行号列标:
printHeaders参数,true显示表头行号列标,false不显示 - 指定导出工作表:
gid参数,填入目标工作表的唯一ID(可从Sheets URL中获取),仅导出该工作表
具体请求示例
直接构造GET请求URL
你可以直接拼接参数到导出URL中,格式如下:
GET https://www.googleapis.com/drive/v3/files/{你的表格文件ID}/export?mimeType=application/pdf&orientation=landscape&paperSize=A4&gridlines=true
记得替换{你的表格文件ID}为实际的Google Sheets文件ID,同时带上有效的身份验证令牌。
使用客户端库(以Python为例)
如果用官方客户端库,可以在导出请求中传入params参数来指定这些选项:
from googleapiclient.discovery import build from google.oauth2.credentials import Credentials # 加载身份凭证(需提前完成OAuth2授权) creds = Credentials.from_authorized_user_file('token.json') drive_service = build('drive', 'v3', credentials=creds) # 目标表格文件ID sheet_file_id = "你的Google Sheets文件ID" # 构造导出请求,指定PDF参数 export_request = drive_service.files().export_media( fileId=sheet_file_id, mimeType='application/pdf', params={ 'orientation': 'landscape', 'paperSize': 'A4', 'gridlines': 'true', 'printHeaders': 'true' } ) # 执行请求并保存PDF文件 with open("导出的表格.pdf", "wb") as output_file: output_file.write(export_request.execute())
这些参数本质上是传递给Google的文档渲染服务,和你在Sheets界面手动设置导出选项的效果完全一致,能满足大部分自定义导出的需求。
内容的提问来源于stack exchange,提问作者Clement
相关产品推荐
相关产品推荐

