【发布时间】:2019-03-26 12:25:46
【问题描述】:
我的工作场所扫描仪通过对手写笔记的低分辨率灰度扫描创建非常大的 PDF。我目前使用 Acrobat Pro 从 PDF 中提取 PNG 图像,然后使用 Matlab 降低位深度,然后使用 Acrobat Pro 将它们组合回 PDF。我可以将 PDF 文件大小减少一到两个数量级。
但它曾经很痛苦吗?
我正在尝试编写脚本来执行此操作,由 cygwin 命令行工具组成。这是使用我的拜占庭方案缩小的 PDF:
$ pdfimages -list bothPNGs.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 550 558 gray 1 2 image no 25 0 72 72 6455B 8.4%
2 1 image 523 519 gray 1 2 image no 3 0 72 72 5968B 8.8%
我使用 Matlab 将位深度降低到 2。为了测试 unix 工具的使用,我使用 pdfimages 重新提取 PNG,然后使用 convert 将它们重新组合为 PDF,指定位深度这样做:
$ convert -depth 2 sparseDataCube.png asnFEsInTstep.png bothPNGs_convert.pdf
# Results are the same regardless of the presence/absence of `-depth 2`
$ pdfimages -list bothPNGs_convert.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 550 558 gray 1 8 image no 8 0 72 72 6633B 2.2%
2 1 image 523 519 gray 1 8 image no 22 0 72 72 6433B 2.4%
不幸的是,位深度现在是 8。我的位深度参数实际上似乎没有任何效果。
减少 PNG 的位深度并重新组合成 PDF 的推荐方法是什么? 无论使用什么工具,我都想避免抗锯齿过滤。在非摄影图像中,这只会导致文本和线条边缘出现斑点。
无论提出什么解决方案,我是否拥有正确的 Cygwin 软件包都是成问题的。我在一个非常受控的环境中工作,升级并不容易。
这看起来像another similar sounding question,但我真的不关心任何 alpha 层。
这是我为测试生成的两个位深为 2 的图像文件:
以下是基于我最初(有限)知识以及受访者 Mark 的建议的测试:
$ convert -depth 2 test1.png test2.png test_convert.pdf
$ pdfimages -list test_convert.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 100 100 gray 1 8 image no 8 0 72 72 3204B 32%
2 1 image 100 100 gray 1 8 image no 22 0 72 72 3221B 32%
$ convert -depth 2 test1.png test2.png -define png:color-type=0 -define png:bit-depth=2 test_convert.pdf
$ pdfimages -list test_convert.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 100 100 gray 1 8 image no 8 0 72 72 3204B 32%
2 1 image 100 100 gray 1 8 image no 22 0 72 72 3221B 32%
创建的 PDF 文件中图像的位深度为 8(而不是 2,根据需要和指定)。
【问题讨论】:
-
什么是“Adobe Pro”?我过去一直是 Adobe 开发人员,从未听说过这样的产品。有链接吗?
-
实际上是Adobe Acrobat Pro。我会修改原帖。
-
不禁注意到反对票。一点解释会有所帮助(无论是谁做的)。谢谢。
-
不知道我明白你为什么关心... a) 存储很便宜而且越来越便宜 b) 你的示例中的文件都在 6,000 字节左右,那么为什么要关心它们是 2bpc 还是 8bpc?
-
这些是微不足道的文件。个人而言,我不在乎。累积起来,它们会产生很大的不同,特别是如果对大大小小的文件进行常规扫描(现在的目标是无纸化办公室)。此外,通过常规将文档附加到电子邮件中,对电子邮件客户端文件的影响会更加严重。对于我用来寻找解决方案的小例子,最初创建的 PDF 是数百 KB,而我重新创建的 PDF 是几个 KB。
标签: image-processing