You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Drive API创建PDF时遇预览及下载异常问题求助

问题根源与解决方案

问题核心

你上传的"Hello World 20"是纯文本字符串,不是符合PDF规范的合法文件内容。PDF是一种有固定结构的二进制格式,必须包含PDF头、对象、交叉引用表等核心结构,直接传纯文本会生成损坏的PDF文件——这就是下载后无法打开、Google Docs打开报错的原因,Drive预览只是做了容错性文本提取才显示内容。

正确的处理方式

1. 上传现成的合法PDF文件

确保第二个请求部分的body是PDF文件的二进制内容,而不是纯文本。修正后的请求结构示例:

--foo_bar_baz
Content-Type: application/json; charset=UTF-8

{
"name": "file20.pdf",
"description": "Description 20"
}

--foo_bar_baz
Content-Type: application/pdf
Content-Transfer-Encoding: binary

[这里是合法PDF文件的二进制字节流]
--foo_bar_baz--

2. 从HTML生成PDF后上传

你后续需要生成带HTML标记的PDF,必须先将HTML转换为符合规范的PDF文件,再上传其二进制内容。常用的工具包括:

  • Puppeteer:通过Headless Chrome渲染HTML并生成PDF
  • wkhtmltopdf:开源的HTML转PDF工具
  • ReportLab/WeasyPrint:Python生态的PDF生成库(支持HTML/CSS)

生成合法PDF文件后,再按照上面的正确请求结构上传二进制内容即可。

验证方法

上传后下载文件,用标准PDF阅读器(如Adobe Acrobat、Foxit)打开,如果能正常显示,说明文件是合法的,Google Docs也能正常打开预览。

内容的提问来源于stack exchange,提问作者Gandalf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:27:46