【发布时间】:2022-08-08 22:08:10
【问题描述】:
我正在尝试将 base64 字符串转换为 pdf 文件。
示例代码:
import base64
b64 = \'TXkgYmluYXJ5IHN0cmluZw==\\n\'
bytes = base64.b64decode(b64)
f = open(\'file.pdf\', \'wb\')
f.write(bytes)
f.close()
该文件已成功保存为pdf,但每当我尝试打开它时都会显示以下错误:
为了使文件可读,我需要采取任何其他步骤吗?谢谢
-
如果 base64 数据实际上是 pdf 数据,那么您的代码应该可以工作。但是我可以根据给定的示例验证这一点。
-
@AbhinavMathur 感谢您建议的代码给出以下错误:需要一个类似字节的对象,而不是 \'str\'
-
@jps 同意,没有通过声明
-
@jps 嗨,感谢您的回复。可能是因为 pdf 是扫描的而不是从 doc 文件中保存的吗?似乎我的代码适用于从 ms word 文件中保存的 pdf(如我将 pdf 转换为 base64,然后使用我的代码解码并再次保存它)。不确定它是否适用于扫描的pdf...
-
另一种解释是我拥有的base64字符串存储在MS SQL服务器中,可查看/可复制字符串的长度限制为32795。所以当我将base64字符串传递给base64.b64decode函数时,它不是完整的字符串,因此文件无法正确保存