我想从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
这里发生了什么?
答案 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
我把上面的流添加到了粗略数据的头部,并且解码得很好。