无法解压缩 PDF 规范的内容流

Cannot decompress content stream of PDF specifications

PDF Specification 第一页的内容流包含单词 stream,后跟一个 CR LF,然后是字节:9A FC 2C 16 E1 DB 83 80 92 08 82 AD 7A A1 ...。过滤器是 FlateDecode。流对象位于 0x4312.

位置

我无法解码。我得到了几个字节的废话,然后它抛出了一个异常。我试过:

PDF 在 Acrobat 中打开。 Acrobat Preflight 显示内容流以 'BT'.

开头

该文档已加密,如果您在文本编辑器中打开,您会看到它在最后 5 行包含 /Encrypt 126988 0 R,这可能就是您得到这些废话的原因。你必须先解密它,然后才能解压。您可以在第 7.6

节中发布的同一文档中阅读有关 pdf 加密的更多信息

规范中的流对象说明如下: 在某些上下文中,字符串或流对象的内容(数据)被解释为 PDFDocEncoding 或 UTF-16 字符集中的字符代码。

我使用以下方法获取值:

            string pattern = "begin=\"(?'begin'[^\"]+)";
            string stream = "stream<?xpacket begin=\"\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>";

            Match match = Regex.Match(stream, pattern);
            string begin = match.Groups["begin"].Value;
            byte[] beginBytes = Encoding.Unicode.GetBytes(begin);