前言
有时在工作上,我们需要将大批量的pdf文件转换成word文档,有没有什么方法可以直接快速完成呢?不着急,关注小编,小编带你轻松解决。
项目需求
假设现在有个需求,一个文件夹下面有几百个pdf文件,如下:
现在需要快速的将它们全部转换成word文档。
项目实现
import os
from pdf2docx import Converter
import time
import PyPDF2
'''
脚本实现:将PDF文件转Word
'''
def pdf_word():
file_path = r'E:\pdf\bain'
# 创建一个对应新文件夹,用于后期存放word文件
new_file = os.makedirs(file_path + '\\docx')
new_file_path = r'E:\pdf\bain\docx'
# 拿到目标文件夹下面的所有pdf
for root, dirs, files in os.walk(file_path):
'''
root:路径
dirs:目录
files:文件
'''
for f in files:
suff_name = os.path.splitext(f)[1] # 判断文件名后缀是否为pdf
if suff_name != '.pdf':
pass
else:
file_name = os.path.splitext(f)[0] # 获取文件名
target_pdf_name = file_path + '\\' + f # 目标pdf 文件路径
word_name = new_file_path + '\\' + file_name + '.docx' # 转换的word文件
print(word_name)
try:
PyPDF2.PdfFileReader(open(target_pdf_name, "rb")) # 检验pdf文件是否可以正常打开
cv = Converter(target_pdf_name)
cv.convert(word_name)
cv.close()
except PyPDF2.utils.PdfReadError:
print(target_pdf_name, "Invalid PDF file")
except OSError:
print("Not PDF file")
else:
pass
if __name__ == '__main__':
start = time.time()
pdf_word()
end = time.time()
print('task is over: %.2f' % (end-start))
代码成功运行,显示如下说明word文档就自动的保存在对应的文件夹中了
之后,我们再看需要对应文件里面会生成一个新的文件夹如下:
可能你会有疑问,371个pdf文件批量转成word花了多长时间呢,看下面的运行结果就知道,Python有多方便了。
如果喜欢本文或者本文对你有帮助的话,记得关注小编并点个赞哟,有问题和需求欢迎留言私信。
版权声明:本文为Leexin_love_Ling原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。