[Python] 纯文本查看 复制代码 import argparse
import os
from pdf2docx import Converter
from glob import glob
def convert_pdf_to_word(pdf_path, docx_path):
"""转换单个PDF文件到Word文档"""
cv = Converter(pdf_path)
cv.convert(docx_path)
cv.close()
def batch_convert(input_dir, output_dir):
"""批量转换整个文件夹的PDF文件"""
# 创建输出目录
os.makedirs(output_dir, exist_ok=True)
# 获取所有PDF文件
pdf_files = glob(os.path.join(input_dir, "*.pdf"))
if not pdf_files:
print(f"在输入目录中未找到PDF文件:{input_dir}")
return
success = 0
failed = 0
for pdf_path in pdf_files:
try:
# 生成输出路径
filename = os.path.basename(pdf_path)
docx_filename = os.path.splitext(filename)[0] + ".docx"
docx_path = os.path.join(output_dir, docx_filename)
# 执行转换
convert_pdf_to_word(pdf_path, docx_path)
print(f"转换成功:{filename} -> {docx_filename}")
success += 1
except Exception as e:
print(f"转换失败:{filename},错误:{str(e)}")
failed += 1
print(f"\n转换完成!成功:{success} 个,失败:{failed} 个")
if __name__ == "__main__":
# 设置命令行参数
parser = argparse.ArgumentParser(description="PDF批量转Word工具")
parser.add_argument("-i", "--input", required=True, help="E:\pdf转word\pdf文档文件")
parser.add_argument("-o", "--output", required=True, help="E:\pdf转word\转换后的word文件路径)")
args = parser.parse_args()
# 验证输入路径
if not os.path.isdir(args.input):
print(f"错误:输入路径不存在或不是目录 - {args.input}")
exit(1)
# 执行批量转换
batch_convert(args.input, args.output) |