自动将PDF转换为图像

f4n*_*4nt 31 python pdf image

因此,我所处的状态是以PDF格式发布的一堆数据,但更糟糕的是,大多数(全部?)的PDF似乎是在办公室打印的字母,打印/传真,然后扫描(我们的政府在其最好的呃?)起初我以为我疯了,但后来我开始看到许多"倾斜"的pdf,就像有人没有正确地将它们放在扫描仪上一样.因此,我认为从中获取实际文本的下一个最好的方法是将每个页面转换为图像.

显然这需要自动化,如果可能的话我宁愿坚持使用Python.如果Ruby或Perl有某种形式的实现,它太棒了,我可以走那条路.我已经尝试了pyPDF进行文本提取,这显然对我没什么好处.我已经尝试过swftools,但是我从中得到的图像只是完全无法使用.看起来字体在转换中被破坏了.我也没有真正关心图像格式,只要它们相对轻巧,可读.

Ned*_*der 12

如果PDF是真正扫描的图像,则不应将PDF转换为图像,应从PDF中提取图像.最有可能的是,PDF中的所有数据基本上都是一个巨大的图像,包含在PDF格式中,使其在Acrobat中可读.

您应该尝试简单地在PDF中查找图像并将字节复制出来的简单方法:从PDF中提取JPG.那里的代码很简单,可能有很多原因导致你的PDF文件不起作用.但如果确实如此,您将有一种快速,轻松的方式从PDF文件中获取图像数据.

  • 我花了 2 个小时来真正扫描 PDF(通过柯尼卡 Bizhub 复印机),并尝试了 /sf/ask/188567431/ 的几乎“所有解决方案” python,但它们都不起作用:复印机将每个扫描的页面裁剪成许多小图像(也许是 TIFF,但我不知道为什么,也许是为了 OCR 目的?)。因此,“如果 PDF 是真正的扫描图像,那么您不应该将 PDF 转换为图像,您应该从 PDF 中提取图像”并不适用于我的情况。 (2认同)

Ant*_* P. 8

您可以pdftoppm从命令行调用eg (或使用Python的subprocess模块),然后使用例如ImageMagick将生成的PPM文件转换为所需的格式(subprocess如果存在则使用或使用某些绑定).


Sco*_*eke 5

Ghostscript非常适合将PDF文件转换为图像.它可靠且具有许多可配置选项.它也可以通过GPL许可或商业许可获得.您可以从命令行调用它或使用其本机API.欲获得更多信息: