问题

问题

问题

我有很多旧书想要扫描和数字化。为此,我使用了一些平板扫描仪,xsane并且GImageReader效果很好。

几年前,当我还在使用 Windows 做这样的事情时,我使用了ABBY Fine Reader,我也很高兴,但它在 Linux 上不可用。

现在,比较我现在创建的 PDF 和以前创建的 PDF,我发现今天的文件要大得多。

通过 ABBY,我曾经获得 50-60 页的 PDF,文件大小在 10-50 MB 之间,我认为这是可以接受的。如今,我的 PDF 文件有 50-60 页,文件大小为 150+ MB,这在智能手机上阅读时不太有用。

我使用相同的扫描设置,即:

  • A4页
  • jpg压缩
  • 300 dpi
  • 封面的彩色扫描
  • 所有内页的灰度扫描

我认为尺寸差异与 ABBY 使用一些商业魔法来智能地进行图像压缩有关,而 GImageReader 没有。也许他们识别非空区域(插图和文本块)并以更高的质量保存它们,同时积极压缩“背景图像”或类似的东西 - 或者也许他们只是能够识别某些页面是灰度的,而其他页面是灰度的彩色的,这种区别可能会在 上丢失GImageReader。我真的不知道,但我很想了解它。

我尝试过的

从那时起,我开始尝试各种 PDF 压缩方法。大多数在线指南建议使用gspdftk,我都尝试过。就我的具体情况而言,我观察到以下几点:

  • 选项 1:gs对于pdf->pdf.和/printer设置/prepress根本不会减小文件大小,/screen并且/ebook设置会导致图像质量显着下降。
  • 选项 2:gsforpdf->ps然后ps->pdf。这会导致文件大小显着减少(我不明白为什么这与选项 1 有什么不同,但无论如何),我对这个选项很满意,直到我注意到显然文本的字形在翻译中丢失了。当我从 PDF 中复制和粘贴文本片段时,结果是一些类似 wingdings 类型的乱码,而我可以从原始 PDF 中复制和粘贴文本,所以这是一个禁忌。
  • 选项 3:pdftk对于pdf->pdf.这似乎根本没有减少文件大小。

现在做什么

我有点不明白 PDF 压缩技术怎么可能产生如此截然不同的结果。我正在寻找一种在 Linux 下运行的工具(最好是 FOSS,但我也愿意选择价格实惠的商业产品),并提供扫描和 OCRd PDF 的显着 PDF 压缩,而与 300dpi A4 JPG 相比,质量不会出现明显损失。

答案1

我认为尺寸差异与 ABBY 使用一些商业魔法来智能地进行图像压缩有关

不要假设,要调查。 PDF 格式为有据可查,阅读详细信息。在编辑器中打开 PDF 文件(或仅使用less),查看页面的实际编码方式,并找出差异。或者安装一个类似于命令行工具的包mutools,可以提取 PDF 文件的部分内容。

PDF 中的图像将占用不同的空间量,具体取决于其存储的分辨率(可能与扫描时使用的分辨率相同或不同)和压缩算法。

标准压缩按照标准是方法是

  • ASCII 十六进制解码
  • ASCII85解码
  • LZWDecode (Lempel-Ziv-Welch) 。
  • FlateDecode (zlib/deflate)
  • 游程解码

以及一些可能不适用的内容。

因此,找出 ABBY 使用的分辨率和压缩方法,然后尝试找到工具来重现该方法(如果现有工具不能立即执行此操作,您可能需要修改现有工具)。


据我了解,这意味着 ABBY 使用带有 Mask 功能的 JPXDecode 过滤器来对图像进行编码,这意味着我正在寻找可以进行 JPXDecode (JPG2000?) 压缩的 linux/FOSS 替代方案。

确切地。请注意,JPG 可能不是是文本的最佳压缩方法,因为它面向照片,这意味着它无法很好地呈现文本典型的尖锐过渡。另一方面,由于这些是扫描,因此扫描时过渡可能已经本质上模糊了。

另请注意,JPG 有相当多的参数会影响压缩比与质量。

因此,在这种情况下,请使用mutools提取一些图像,使用其他工具(例如mediainfoidentify -verbose来自 ImageMagick/GraphicsMagick)来找出 JPG 图像的参数。

还有一个非常在高倍率下仔细观察解压缩的 JPG 图像,并确定质量是否足够好。

应该有很多开源工具可以根据所需的分辨率和质量从扫描图像创建 JPG 文件,但我不知道有什么工具可以将它们打包成 PDF。

相关内容