如何在Google幻灯片API中将幻灯片导出为HTML / PDF / DOC

时间:2017-02-14 09:31:14

标签: google-slides google-slides-api

我正在使用google slide API创建powerpoint演示文稿。 其他所需功能如下: 导出为PDF 导出为HTML 导出为Doc / Image格式。

Slides API有没有办法?

2 个答案:

答案 0 :(得分:1)

Slides API不直接支持导出,但可以从Drive API获得该功能:

https://developers.google.com/drive/v3/reference/files/export

只需使用幻灯片presentationId作为云端硬盘fileId

答案 1 :(得分:0)

@Sangram

假设您已经创建了幻灯片,则将Google幻灯片转换为PDF的过程如下:

import apiclient.http as client_methods

# exporting the slide deck and specifying the desired final file type
data = drive_client.files().export(fileId=slide_id, mimeType='application/pdf').execute()

# request body to be send together the upload method
 body = {'name':file_name, 'mimeType':'application/pdf'}

# wrapping the binary (data) file with BytesIO class 
fh = client_methods.BytesIO(data)

# creating the Media Io upload class for the file (note that our original slide data is of binary type)
media_body = client_methods.MediaIoBaseUpload(fh, 
                                 mimetype='application/pdf')

# drive API v3 - .create | drive API v2 - .insert
pdf_file_id = drive_client.files().create(body=body, media_body=media_body).execute()['id']

# extra step: moving to desirable folder destination with the function method

def move_files(drive_client, id_, folder_id):
    file_ = drive_client.files().get(fileId=id_, fields='parents').execute()
    drive_client.files().update(fileId=id_, addParents=folder_id,
                           removeParents=file_['parents'][0],
                           fields='id,parents').execute()

# calling the move_files function.
# drive_client is authorized client, folder_id = desired destination directory (from url).

move_files(drive_client, pdf_file_id, folder_id)

希望这会有所帮助。

资源:

Drive API v3 export method

Drive API v3 create method

Drive API v3 move files between folders