1

我正在试验一个系统来扫描字母并将扫描的位图转换为 PDF,目标是获得高分辨率和较小的 PDF 文件大小。

我正在使用扫描仪、用于位图操作的 GIMP 和用于位图到 PDF 转换的 ImageMagick 进行原型设计。

我的过程如下所示:

  • 以 3x8 位颜色、600 DPI、LZW 压缩的真彩色 TIFF 文件大小进行扫描,大小约为 8 Mb。

  • 使用 GIMP 将位图转换为具有 4 到 8 种颜色的典型颜色表的索引图像。这使得图像可更好地压缩。

  • 使用 ImageMagick 转换 LZW 压缩的索引 TIFF 文件 PDF,每页大约 500K。

现在为了使图像更好地压缩,我可以使位图对压缩更友好。在这里进行实验之前,我想知道 PS/PDF 是如何存储位图的。

PS/PDF 中的位图是运行长度编码的吗?然后我会通过从位图行中删除单个像素来获得压缩。

您有进一步优化的想法吗?

您知道 PS/PDF 中对位图存储格式的引用吗?

4

5 回答 5

1

PDF 支持多种类型的图像压缩,请参阅:http ://en.wikipedia.org/wiki/Pdf#Raster_images

我认为您可以指定与 imagemagick -compress 选项一起使用的选项:http ://www.imagemagick.org/script/command-line-options.php#compress

于 2009-04-03T08:48:00.650 回答
1

一些公司(Luratech 和 CamiNova 是我所知道的唯一一家)在 PDF 中制作“混合光栅内容”模型。这些文件可以在标准的 Adob​​e Reader 中查看,但非常非常小——与 DjVu 相当。

“混合光栅内容”意味着他们将图像分割成高分辨率黑白蒙版(硬边缘、线条、字母)和低分辨率平滑色调图像(背景图片)。使用双色调压缩算法(可能是 JBIG2)存储蒙版,使用 JP2K(可能)压缩平滑色调图像。

于 2009-12-11T05:13:57.963 回答
0

对于位图,IIRC,PDF 使用 deflate。但PDF也可以用更具体的图像压缩算法存储图像,如JPEG(有损)、CCITT(无损)、JBIG2(有损和无损)和JPX(JPEG2000的有损和无损)。

于 2009-04-03T08:48:22.707 回答
0

Adobe 的 PDF 参考可能是一个不错的起点。从非常粗略的看,看起来图像是未压缩存储的,但感觉根本不对。它还可以链接到外部图像,例如 JPEG。

于 2009-04-03T09:01:46.013 回答
0

压缩方法通常由创建 PDF 的工具选择,您可能对其控制有限。

如果您有 Acrobat 9.0,则有一个非常好的“隐藏”功能,它允许您查看 PDF 中的对象树(您对资源下的 XObjects 感兴趣)。在http://pdf.jpedal.org/java-pdf-blog/bid/10479/Viewing-PDF-objects上有一个关于使用它的简短博客

于 2009-04-09T11:01:52.820 回答