我想将 google 驱动器的文档导出为 pdf | Google 开车 Api Python
I want to export a document of google drive as pdf | Google Drive Api Python
你好很高兴认识你:),
我正在编写一个应用程序,其中一部分使用一种方法从 google 文档下载文档 Docx 以将其导出为 pdf,但我不知道在 python 中可以在哪里看到下载的文件。
我正在使用此 URL 中的 google 文档 API 文档示例进行编码:https://developers.google.com/drive/api/v3/manage-downloads#python
这是我的代码:
#Block 3 : Convertir el Documento en PDF
print("Se inicia la conversion a PDF")
time.sleep(4)
service = build('drive', 'v3', credentials=creds)
request = service.files().export_media(fileId=documentId,mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
print("Se ha completado la descarga")
终端显示下载已完成,但我在任何地方都看不到文件
PD:我是 python.
的初学者
终端是这样说的:
Se inicia la conversion a PDF
Download 100%.
Se ha completado la descarga
如果有人知道更好的方法或指南,我将不胜感激:D!
这是我软件工程实习的项目
此致
with open(output_filename, "wb") as output:
while True:
data = downloader.read()
if data == "":
break
output.write(data)
尝试这种方式,您可以使用下载器变量获取数据
我已经找到了解决方案 :D
更改前:
#Block 3 : Convertir el Documento en PDF
print("Se inicia la conversion a PDF")
time.sleep(4)
service = build('drive', 'v3', credentials=creds)
request = service.files().export_media(fileId=documentId,mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
print("Se ha completado la descarga")
修改后(解决):
#Block 3 : Convertir el Documento en PDF
print("Se inicia la conversion a PDF")
time.sleep(4)
service = build('drive', 'v3', credentials=creds)
request = service.files().export_media(fileId=documentId,mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
fh.seek(0)
with open('newpdfboleta.pdf', 'wb') as f:
shutil.copyfileobj(fh, f, length=131072)
print("Se ha completado la descarga")
print(fh)
编辑: 我忘记了一个很重要的事情,你还需要在代码中导入shutil。
import shutil
非常感谢那些试图帮助我的人!
如果您对此有疑问,可以随时问我!
不客气。
此致
你好很高兴认识你:), 我正在编写一个应用程序,其中一部分使用一种方法从 google 文档下载文档 Docx 以将其导出为 pdf,但我不知道在 python 中可以在哪里看到下载的文件。 我正在使用此 URL 中的 google 文档 API 文档示例进行编码:https://developers.google.com/drive/api/v3/manage-downloads#python
这是我的代码:
#Block 3 : Convertir el Documento en PDF
print("Se inicia la conversion a PDF")
time.sleep(4)
service = build('drive', 'v3', credentials=creds)
request = service.files().export_media(fileId=documentId,mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
print("Se ha completado la descarga")
终端显示下载已完成,但我在任何地方都看不到文件 PD:我是 python.
的初学者终端是这样说的:
Se inicia la conversion a PDF
Download 100%.
Se ha completado la descarga
如果有人知道更好的方法或指南,我将不胜感激:D!
这是我软件工程实习的项目
此致
with open(output_filename, "wb") as output:
while True:
data = downloader.read()
if data == "":
break
output.write(data)
尝试这种方式,您可以使用下载器变量获取数据
我已经找到了解决方案 :D
更改前:
#Block 3 : Convertir el Documento en PDF
print("Se inicia la conversion a PDF")
time.sleep(4)
service = build('drive', 'v3', credentials=creds)
request = service.files().export_media(fileId=documentId,mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
print("Se ha completado la descarga")
修改后(解决):
#Block 3 : Convertir el Documento en PDF
print("Se inicia la conversion a PDF")
time.sleep(4)
service = build('drive', 'v3', credentials=creds)
request = service.files().export_media(fileId=documentId,mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
fh.seek(0)
with open('newpdfboleta.pdf', 'wb') as f:
shutil.copyfileobj(fh, f, length=131072)
print("Se ha completado la descarga")
print(fh)
编辑: 我忘记了一个很重要的事情,你还需要在代码中导入shutil。
import shutil
非常感谢那些试图帮助我的人! 如果您对此有疑问,可以随时问我! 不客气。
此致