【Python】使用Python和pdf2docx把PDF转成DOCX

项目介绍

代码实现了将 PDF 文件转换为 DOCX 文件的功能。它使用了第三方库 pdf2docx,该库提供了一个 parse 函数,用于将 PDF 文件解析为 DOCX 文件。代码定义了两个函数:

  • convert_pdf_to_docx(pdf_path) 函数:用于将输入的 PDF 文件转换为 DOCX 文件,将输出文件路径保存在变量 docx_path 中,并返回该路径。

  • handle_drag_and_drop() 函数:用于处理拖放的文件路径,检查是否有 PDF 文件拖入,如果有则调用 convert_pdf_to_docx 函数将其转换为 DOCX 文件,并在控制台输出转换信息。

在代码的 main 函数中,调用 handle_drag_and_drop() 函数处理拖放的文件路径。如果有 PDF 文件被拖入,该函数会自动调用 convert_pdf_to_docx 函数,将其转换为 DOCX 文件。

需要注意的是,以上代码只能在 Windows 操作系统上运行,因为它使用了 Windows 系统的 COM 接口实现自动打开生成的 DOCX 文件的功能。

完整代码

import os
import sys
from pdf2docx import parse

"""
项目所需环境:
pip install pdf2docx
pip install pyinstaller
生成EXE:
pyinstaller --onefile --windowed pdf2docx.py
"""


def convert_pdf_to_docx(pdf_path):
    # 将 PDF 转换为 DOCX
    docx_path = os.path.splitext(pdf_path)[0] + '.docx'
    parse(pdf_path, docx_path)
    return docx_path


def handle_drag_and_drop():
    # 处理拖放的文件路径
    if len(sys.argv) > 1:
        pdf_path = sys.argv[1]
        if os.path.isfile(pdf_path) and pdf_path.endswith('.pdf'):
            # 将 PDF 文件转换为 DOCX 文件
            docx_path = convert_pdf_to_docx(pdf_path)
            print(f'{
      
      pdf_path} 已转换为 {
      
      docx_path}')


if __name__ == '__main__':
    handle_drag_and_drop()

猜你喜欢

转载自blog.csdn.net/linjiuxiansheng/article/details/130120147