如何使用bash或Python将具有多个单页PDF(蓝图)的文件夹转换为PNG?

时间:2019-05-07 11:46:49

标签: python bash pdf png

我有一个包含数百个PDF的文件夹,我想将其转换为PNG图像。每个PDF都包含一个带有一个图像的页面(地板的蓝图)。

对于这个问题,我尝试使用偶然发现的以下bash脚本:

find . -type f -name '*.pdf' -print0 |
  while IFS= read -r -d '' file
    do convert -verbose -density 500 -resize 800 "${file}" "${file%.*}.png"
  done

这将返回以下错误:

convert: no images defined `./example.png' @ error/convert.c/ConvertImageCommand/3300.

有关我要转换的PDF的示例,请参见以下链接:

  

https://1drv.ms/b/s!Aq9MassPipPcgm7k1q55pDwMxSD4

有人知道处理此问题的好方法吗?我也打开了Python解决方案。

1 个答案:

答案 0 :(得分:0)

使用以下命令安装pdf2image:

pip install pdf2image

然后尝试以下python代码:

import os
from pdf2image import convert_from_path
for filename in os.listdir('folder'):
    page = convert_from_path('folder/' + filename)
    page[0].save('new_folder/out' + filename + '.png', 'PNG')