项目介绍
代码实现了将 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()