【发布时间】:2016-11-07 00:51:52
【问题描述】:
我正在学习手写后记。我从下面的链接中获取了一张 JBIG2 图像(此处的示例中使用了 amb_1.jb2:http://jbig2dec.sourceforge.net/ubc/main.html),并将其添加到 PDF 文件内的流中。
有问题的 PDF 在这里。 https://gist.github.com/brandonprry/277cbbc581be4e8eaa403a16403a6996
在我尝试过的任何 PDF 阅读器中打开它都没有错误,但图像没有呈现。
渲染嵌入的 JBIG2 图像流 (9 0 obj) 我缺少什么?使用 MuPDF 工具“mutool info”,它识别出 PDF 包含 JBIG2 图像流,但据我所知,它仍然没有呈现它。
./mutool info /media/psf/Home/tmp/testcases/0adcc9f8-c421-47d6-93ad-9f6efc2e360b.pdf
/media/psf/Home/tmp/testcases/0adcc9f8-c421-47d6-93ad-9f6efc2e360b.pdf:
PDF-1.4
Info object (3 0 R):
<</CreationDate(D:20051122152833-05'00')/Creator(PdfCompressor 3.0.84)/Producer(CVISION Technologies)>>
Pages: 1
Retrieving info from pages 1-1...
Mediaboxes (1):
1 (7 0 R): [ 0 0 967.68 1728 ]
Fonts (3):
1 (7 0 R): Type1 'Helvetica' (4 0 R)
1 (7 0 R): Type1 'Times-Roman' (5 0 R)
1 (7 0 R): Type1 'Courier' (6 0 R)
Images (1):
1 (7 0 R): [ ASCIIHex JBIG2 ] 10x10 1bpc DevGray (9 0 R)
我注意到这个堆栈溢出帖子指出不应该包含魔术头,我目前在上面的示例中。
jbig2 data in pdf is not valid jbig2 data. Wrong magic
无论有无 JBIG2 流中的 8 字节标头,都不会打印错误,也不会渲染图像。
非常感谢任何想法。
【问题讨论】:
-
我注意到我没有包括十六进制编码数据后所需的尾随'>',但添加后,行为没有变化。没有错误,但没有渲染图像。这让我更加相信它甚至没有读取这个对象进行解码。
-
这里只是一个小问题。 PDF 不是 PostScript!例如,PostScript 根本不支持 JBIG2。显然,因为 PostScript 是一种编程语言(PDF 不是),您可以编写一个程序来读取它。但是,您似乎更像是在学习手写 PDF,而不是 PostScript .....
标签: pdf postscript jbig2