PDF2图像 - convert_from_path返回带有彩色的 pdf 的空图像



我有一组pdf,每个pdf都包含一张A4纸的扫描件,大小不同。我想将它们转换为图像并修复传出图像的分辨率。

我的代码转换为jpg(不调整大小(:

from pdf2image import convert_from_path
filename_in = 'myfile.pdf'
filename_out = 'myfile.jpg'
jpeg = convert_from_path( filename_in )
jpeg[0].save( filename_out , 'JPEG' )

如果我尝试转换的pdf有任何颜色,则上述内容不起作用,并且传出的图像完全是白色的(非零尺寸(。这是一个已知问题,是否存在解决方案?

我正在使用Python 3.7.3。

我无法共享pdf文件,因为它们包含私人信息。

您可以尝试提取图像并校正分辨率,而不是转换PDF。

尝试pdfreader,这是一个从文档中提取所有图像(内联和XObject(的示例代码。

from pdfreader import SimplePDFViewer, PageDoesNotExist
fd = open(you_pdf_file_name, "rb")
viewer = SimplePDFViewer(fd)
images = []
try:
while True:
viewer.render()
images.extend(viewer.canvas.inline_images)
images.extend(viewer.canvas.images.values())
viewer.next()
except PageDoesNotExist:
pass

然后,您可以将图像转换为PIL/枕头对象并保存(或执行任何您需要的操作(

for i, img in enumerate(images):
img.to_Pillow().save("{}.png".format(i))

最新更新