如何使用Python对PDF中的二进制流进行解码?
我有一个包含二进制流的pdf文件如何使用Python对PDF中的二进制流进行解码?,python,pdf,encryption,binaryfiles,binary-data,Python,Pdf,Encryption,Binaryfiles,Binary Data,我有一个包含二进制流的pdf文件 5 0 obj << /Length 4760 /Filter [ /ASCII85Decode /FlateDecode ] >> stream <<LOTS OF BINARY DATA IS HERE!!>> endstream 我解码pdf的一次尝试如下所示: 进口稀土 进口zlib 输入io def sani_路径丑陋_路径: 清理丑陋的文件路径 将windows样式的文件路径转换为Unix样式的路径
5 0 obj
<< /Length 4760 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
<<LOTS OF BINARY DATA IS HERE!!>>
endstream
我解码pdf的一次尝试如下所示:
进口稀土
进口zlib
输入io
def sani_路径丑陋_路径:
清理丑陋的文件路径
将windows样式的文件路径转换为Unix样式的路径,反之亦然。
将斜杠更改为反斜杠或将反斜杠更改为斜杠
实施说明:
变量名:
`在制品“`正在进行的工作`
其他说明:
“RePR”将路径中的新行字符转换为
反斜杠字符和字母n
导入路径库
wip=strugly_路径
在制品=在制品带
在制品=reprwip[1:-1]
wip=pathlib.Pathwip
路径=在制品
返回路径
def从路径XPath解压缩pdf文件:
ipath=sani_路径XPath
del xpath
pdf=openstripath,“rb”。读取
stream=re.compileb'stream.*?endstream',re.S
结果=re.findallstream,pdf
对于结果中的s:
s=s.stripb'\r\n'
iout=无
尝试:
iout=zlib。解压缩。解码“UTF-8”
除作为exc的BaseException外:
输出流=io.StringIO
打印
输入字符串:,
s
typeexc,
strexc,
sep=\n,
文件=输出流
iout=out\u stream.getvalue
最后:
xout=横线
返回xout
read_file_path_str='C:/Users/username/Desktop/test.pdf'
解压缩的\u pdf=从\u路径读取\u文件\u路径\u str解压缩\u pdf\u
打印解压pdf
打印“长度”,lendecompressed\u pdf
Error -3 while decompressing data: incorrect header check