Python实现pdf文件转word文件
日常生活中,当遇到需要将某个PDF文件转换为Word格式文件时,一般是通过一些在线格式转换的网站,或者软件来完成,但我们也可以使用python来完成这个需求(当然,这种方法仅能够满足大部分的格式)。
前提:
使用pdf2docx
库,在保持原来内容格式不变的情况下将PDF转换为Word,它专门用于在不丢失格式的情况下将PDF文件转换为Word文件。此库的安装可能需要一些依赖项,例如pandas
和 tqdm
,可以使用以下命令安装:
pip install pdf2docx pandas tqdm
由于需要调用文件路径,所以需要使用OS
库。
场景一:单文件转换。
需要修改代码中的pdf_file_path
地址替换为所需要转换的pdf文件地址。(地址中的转义字符“\”替换成“\\”或者用//)
import os
from pdf2docx import Converter
def pdf_to_docx(pdf_path):
# 获取PDF文件所在的目录
pdf_directory = os.path.dirname(pdf_path)
# 生成Word文件的路径
pdf_filename = os.path.splitext(os.path.basename(pdf_path))[0]
docx_filename = pdf_filename + "_converted.docx"
docx_path = os.path.join(pdf_directory, docx_filename)
# 使用pdf2docx库将PDF转换为Word
cv = Converter(pdf_path)
cv.convert(docx_path, start=0, end=None)
cv.close()
return docx_path
if __name__ == "__main__":
# 用法示例
pdf_file_path = "C://Users//Desktop//test.pdf"
# 调用pdf_to_docx函数进行转换
generated_docx_path = pdf_to_docx(pdf_file_path)
print(f"Word文件已生成:{generated_docx_path}")
场景二:某个文件夹内所有的pdf文件转换,
需要将input_pdf_folder
替换成所要转换的pdf文件夹,其次将output_docx_folder
设置为输出的文件夹。
import os
from pdf2docx import Converter
def convert_pdfs_to_docx(input_folder, output_folder):
# 确保输出目录存在,如果不存在则创建
os.makedirs(output_folder, exist_ok=True)
# 遍历目录下所有PDF文件并转换为Word
pdf_files = [f for f in os.listdir(input_folder) if f.endswith(".pdf")]
for pdf_file in pdf_files:
pdf_path = os.path.join(input_folder, pdf_file)
docx_output_path = os.path.join(output_folder, f"{os.path.splitext(pdf_file)[0]}.docx")
# 使用pdf2docx库将PDF转换为Word
cv = Converter(pdf_path)
cv.convert(docx_output_path, start=0, end=None)
cv.close()
print(f"Converted: {pdf_path} -> {docx_output_path}")
if __name__ == "__main__":
# 用法示例
input_pdf_folder = "C:\\Users\\Desktop\\input"
output_docx_folder = "C:\\Users\\Desktop\\out"
# 批量转换目录下所有PDF文件为Word文件
convert_pdfs_to_docx(input_pdf_folder, output_docx_folder)