0

我想从 pdf 文件中取出一些 jbig2 数据并使用 libjbig2dec ( http://sourceforge.net/projects/jbig2dec )加载它

出于某种原因,pdf 文件中的 jbig2 数据以此开头:

00000000  00 00 00 00 30 01 01 00  00 00 13 00 00 0a 5e 00
00000010  00 0f c3 00 00 2e 23 00  00 2e 23 00 00 00 00 00
00000020  00 01 26 01 01 ff ff ff  ff 00 00 0a 5e 00 00 0f
00000030  c3 00 00 00 00 00 00 00  00 00 00 03 ff fd ff 02
00000040  fe fe fe ab f3 d0 fe 9e  92 d8 9f 63 ae 67 79 b8
00000050  81 ff 57 33 90 a4 ee c2  af c8 80 dc 0d 60 1e 86

但是一个有效的 jbig2 文件应该以这个魔法开始:

0x97, 0x4a, 0x42, 0x32, 0x0d, 0x0a, 0x1a, 0x0a

这里发生了什么?

4

2 回答 2

2

pdf 格式按照 PDF 版本 1.7 (ISO 32000-1:2008) 第 7.4.7 节 JBIG2Decode 过滤器中的规定去除 jbig2 文件的头部和尾部

此外,一些 pdf 文件包含最后一段未指定大小 (ff ff ff ff) 的 jbig2 流。libjbig2dec 无法处理此问题。

于 2014-12-30T22:10:19.737 回答
0

一些 PDF 缺少 JBIG2 标头,这是众所周知的 jb2 文件格式流之一。

974A42320D0A1A0A0100000001000000003E00010000006820000000536F7572636500506F776572204A4249472D3220456E636F646572202D2054686520556E6976657273697479206F66204272697469736820436F6C756D626120616E6420496D61676520506F77657220496E632E0056657273696F6E00312E302E3000000000

我将上面的流添加到粗略数据的标题中,并且解码得很好。

于 2021-01-26T09:22:34.727 回答