Python 3.x 将pdf文件页面转换为图像-魔杖
初学者在此: 当我只对一个pdf使用它时,我的代码运行良好,但只要我添加一个for循环,代码仍会运行,但它只是在多页pdf中转换pdf的第一页,而不是全部 例如,如果我的pdf是xyz.pdf,有两个页面,它会将这两个页面转换为jpg并单独输出。但只要我运行pdf xyz和abc的代码,它就会转换这两个pdf的第一页 我错过了什么Python 3.x 将pdf文件页面转换为图像-魔杖,python-3.x,ocr,Python 3.x,Ocr,初学者在此: 当我只对一个pdf使用它时,我的代码运行良好,但只要我添加一个for循环,代码仍会运行,但它只是在多页pdf中转换pdf的第一页,而不是全部 例如,如果我的pdf是xyz.pdf,有两个页面,它会将这两个页面转换为jpg并单独输出。但只要我运行pdf xyz和abc的代码,它就会转换这两个pdf的第一页 我错过了什么 from wand.image import Image as wi for pdf_file in os.listdir(pdf_dir):
from wand.image import Image as wi
for pdf_file in os.listdir(pdf_dir):
if pdf_file.endswith(".pdf"):
pdf = wi(filename= os.path.join(pdf_dir, pdf_file), resolution=300)
pdfimage = pdf.convert("jpeg")
i=1
for img in pdfimage.sequence:
page = wi(image=img)
page.save(filename=os.path.join(pdf_dir, str(pdf_file[:-4] +".jpg")))
i +=1
为我工作:
def convert_pdffilename,输出路径,分辨率=150:
所有页面=wifilename=文件名,分辨率=分辨率
对于i,枚举所有_页面中的页面。顺序:
使用wipage作为img:
image\u filename=os.path.splitextos.path.basenamefilename[0]
image_filename='{}-{}.jpg'.formatimage_filename,i
image\u filename=os.path.joinoutput\u路径,image\u文件名
img.savefilename=image\u文件名
对于os.listdirpdf\u目录中的pdf\u文件:
如果pdf_file.endswith.pdf:
转换\u pdfos.path.joinpdf\u目录、pdf\u文件、pdf\u目录
你能解释一下我的代码中遗漏了什么吗?我也不想创建一个函数。如果不创建一个函数,它就不能完成吗?我认为缺少的部分是所有页面的顺序。并确保它可以直接完成,而无需函数。jsut复制粘贴for循环中的函数内容将起作用