【问题标题】:jbig2 data in pdf is not valid jbig2 data. Wrong magicpdf 中的 jbig2 数据不是有效的 jbig2 数据。错误的魔法
【发布时间】:2014-12-30 17:35:09
【问题描述】:

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

这是怎么回事?

【问题讨论】:

    标签: pdf jbig2


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您分享您的想法。在这种情况下如何处理PDF中的粗略数据?
    • 忽略最后一段
    【解决方案2】:

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

    974A42320D0A1A0A0100000001000000003E00010000006820000000536F7572636500506F776572204A4249472D3220456E636F646572202D2054686520556E6976657273697479206F66204272697469736820436F6C756D626120616E6420496D61676520506F77657220496E632E0056657273696F6E00312E302E3000000000
    

    我把上面的流加到了粗略数据的header中,解码的很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      相关资源
      最近更新 更多