今天突然收到领导的任务叫我把200多份的PDF转成图片。。。原本想着网上是不是有工具可以实现我的需求,经过一个小时的摸索最终发现那些软件都不能满足我的需求。索性自己写了段代码帮我完成工作。希望能对有需要的小伙伴提供一点帮助。 Python代码
import os
from pdf2image import convert_from_path
def convert_img(pdf_path, output_folder):
images = convert_from_path(pdf_path, poppler_path=r"D:\chromeDowload\Release-23.07.0-0\poppler-23.07.0\Library\bin")
file_prefix = os.path.splitext(os.path.basename(pdf_path))[0]
# 算出相对路径
relative_path = os.path.relpath(os.path.dirname(pdf_path), pdf_folder)
output_path = os.path.join(output_folder, relative_path)
os.makedirs(output_path, exist_ok=True)
for i, image in enumerate(images):
image.save(os.path.join(output_path, f"{file_prefix}_{i+1}.jpg"), "png")
def convert_pdfs_recursive(pdf_folder, output_folder):
for root, dirs, files in os.walk(pdf_folder):
for file in files:
if file.endswith(".pdf"):
pdf_path = os.path.join(root, file)
convert_img(pdf_path, output_folder)
pdf_folder = r"H:\work\temp\pdf"
output_folder = r"H:\work\temp\pdf_img"
convert_pdfs_recursive(pdf_folder, output_folder)