PDF:使用 FlateDecode 的对象流

Iva*_*kir 2 pdf

在我的PDF中,有一个对象

<</Filter/FlateDecode/First 721/Length 3424/N 79/Type/ObjStm>>stream
Run Code Online (Sandbox Code Playgroud)

下一行的原始数据以字节开头

eKoq...  precisely [101, 75, 111, 113, 22, 229, 156, 253, 116, ...
Run Code Online (Sandbox Code Playgroud)

我的 Flate 解码器在此输入上失败。那应该如何处理呢?

http://s000.tinyupload.com/?file_id=25511328881895019912

dwa*_*ing 8

此 PDF 已加密。PDF 文件预告片为:

\n
endobj\nstartxref\n116\n%%EOF\n
Run Code Online (Sandbox Code Playgroud)\n

交叉引用流@byte偏移116(带有一些格式)是:

\n
<</DecodeParms<</Columns 5/Predictor 12>>\n   /Encrypt 389 0 R\n   % ... etc\n   /Type/XRef /W[1 3 1]\n >> stream\n
Run Code Online (Sandbox Code Playgroud)\n

加密字典389 0 R(格式化)为:

\n
389 0 obj <<\n  /CF <<\n    /StdCF <<\n      /AuthEvent /DocOpen\n      /CFM /AESV2\n      /Length 16\n    >>\n  >>\n  /EncryptMetadata false\n  /Filter /Standard\n  /O (...)  % binary owner key\n  /P -1084\n  /R 4\n  /StmF /StdCF\n  /StrF /StdCF\n  /U (...)  % binary user key\n  /V 4\n  /Length 128\n>>\nendobj\n
Run Code Online (Sandbox Code Playgroud)\n

PDF 32000 ISO 规定:

\n
\n

7.6.1\n常规\n可以对 PDF 文档进行加密 (PDF 1.1) 以保护其内容免遭未经授权的访问。加密\n适用于文档 PDF 文件中的所有字符串和流,但以下情况除外:
\n\xe2\x80\xa2 预告片中 ID 条目的值
\n\xe2\x80\xa2 加密字典中的任何字符串
\n\xe2\x80\xa2 流(例如内容流和压缩对象流)内部的任何字符串,它们本身已加密

\n
\n

引用的对象是加密 PDF 中的内容流。为了处理此流,您需要在应用其他过滤器之前实施加密(在本例中为 AESV2)并解密流。

\n

注意:此 PDF 使用空白用户密码加密,因此无需输入用户密码即可在大多数查看器中打开。

\n