Raf*_*ler 6 python pdf base64 file-writing
我有一个PDF作为base64字符串,我需要使用Python将其写入文件。我尝试了这个:
import base64
base64String = "data:application/pdf;base64,JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9Qcm9kdWNlciAoU2tpYS9..."
with open('temp.pdf', 'wb') as theFile:
theFile.write(base64.b64decode(base64String))
Run Code Online (Sandbox Code Playgroud)
但是它没有创建有效的PDF文件。我想念什么?
使用codecs.decode函数编写它是否有效?同样正如马克所说,您可以尝试删除data:application/pdf;base64,字符串的一部分,因为字符串的这一部分不会被解码。:
import codecs
base64String = "JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9Qcm9kdWNlciAoU2tpYS9..."
with open("test.pdf", "wb") as f:
f.write(codecs.decode(base64string, "base64"))
Run Code Online (Sandbox Code Playgroud)
根据我的理解,base64decode仅接受base64字符串,并且看起来您的字符串上有一些未编码的标头。
我将删除“ data:application / pdf; base64”
在此处查看文档:https : //docs.python.org/2/library/base64.html
过去使用它时,我只使用了编码字符串。
使用 Base64扩展@Jebby的答案(与@SmartManoj具有相同的问题)
import base64
base64String = "JVBERi0xLjQKJeHp69MKMSAwIG9iago8PC9Qcm9kdWNlciAoU2tpYS9..."
with open("test.pdf", "wb") as f:
f.write(base64.b64decode(base64string))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5188 次 |
| 最近记录: |