pdf中的jbig2数据无效jbig2数据。错误的魔法

时间:2014-12-30 17:35:10

标签: pdf jbig2

我想从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

这里发生了什么?

2 个答案:

答案 0 :(得分:1)

pdf格式剥离jbig2文件的标题和尾部,如PDF,版本1.7(ISO 32000-1:2008)第7.4.7节JBIG2Decode过滤器

中所述

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

答案 1 :(得分:0)

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

974A42320D0A1A0A0100000001000000003E00010000006820000000536F7572636500506F776572204A4249472D3220456E636F646572202D2054686520556E6976657273697479206F66204272697469736820436F6C756D626120616E6420496D61676520506F77657220496E632E0056657273696F6E00312E302E3000000000

我把上面的流添加到了粗略数据的头部,并且解码得很好。