使用 pdfimages 提取图像:每页获取 3 个图像:.jp2、.png、.jb2e

使用 pdfimages 提取图像:每页获取 3 个图像:.jp2、.png、.jb2e

pdfimages -all在 .pdf 文件(每页都是文本)上使用时,我为 pdf 中的每页获取 3 个图像:

Foo-001-000.jp2
Foo-001-002.png
Foo-001-002.jb2e

第一个文件大部分是空白的,但包含一些幽灵般的背景以及偶尔的一段文本。第二个文件是黑白的,似乎是某种掩码,也许标识了第三个文件中的文本所在的位置(?)我无法在 Ubuntu 的图像查看器或 gimp 中查看第三个文件。

如果我使用,-png我同样会得到三个图像,但都是 .png 的。大部分(几乎全部)pdf 文本都在第三张图片中。

pdfimages -list看起来像这样:

page   num  type   width height color comp bpc  enc interp  object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
   1     0 image     829  1254  rgb     3   8  jpx    yes     3659  0   150   150 76.2K 2.5%
   1     1 image     829  1254  rgb     3   8  image  yes     3663  0   150   150 5250B 0.2%
   1     2 mask     1658  2508  -       1   1  image  yes     3663  0   300   300 5250B 1.0%
   2     3 image     934  1254  rgb     3   8  jpx    yes       11  0   150   150 85.6K 2.5%
   2     4 image     934  1254  rgb     3   8  image  yes       15  0   150   150 14.1K 0.4%
   2     5 mask     1868  2508  -       1   1  image  yes       15  0   300   300 14.1K 2.5%
   3     6 image     858  1243  rgb     3   8  jpx    yes       47  0   150   150 78.0K 2.5%
   3     7 image     858  1243  rgb     3   8  image  yes       51  0   150   150 7681B 0.2%

有人可以帮助我了解我在这里得到的内容,以及如何组合这三个图像以获得每个页面的单个图像。或者等效地,只提取每页的单个图像。对我来说,关键问题是保留这些图像中尽可能多的可用信息。我想避免质量下降。

第一个文件 第二个文件 第三个文件

答案1

我想,您认为您将单个图像作为页面,并对它实际上是合成的感到惊讶。这是一种广泛使用的杂志归档方法,因为这些杂志在图形上比带有一些图像的简单书籍更复杂。它保留了质量并最终提供了一个非常小的 pdf 文件 - 但渲染速度慢得无法使用。

现在来说说解决方案。您实际上不想从 pdf 中提取任何内容。您希望以与 pdf 阅读器相同的方式呈现它。我建议使用 Ghostscript。像这样的事情会起作用:

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r600 -dGraphicsAlphaBits=4 -sOutputFile=./img/img-%03d.png "$pdffilename"

根据需要进行调整。

相关内容