简述
以下全部代码无法完美对图片、表格等非文字形式的内容转化。要较好的效果需要使用光学字符分析等方法进行转化
我懒,不想将代码模块拆分出来写注释
除代码1中有详细注释外,剩下的代码仅在关键部分进行注释
代码1:小规模文件的转换
代码简介
不使用线程,挨个文件转换格式。
适用于小规模的PDF文件批量转换。
需要自己选择PDF文件(可以全选文件,自动筛选PDF格式)
代码内容
import os, sys # 导入操作系统接口和系统相关的参数和函数
from pdf2docx import Converter # 导入pdf2docx库中的Converter类,用于将PDF文件转换为docx格式
import tkinter as tk # 导入Tkinter库,用于创建图形用户界面
from tkinter import filedialog # 导入Tkinter库中的filedialog模块,用于打开文件对话框
# 定义一个函数,用于将PDF文件转换为docx格式
def convert_pdf_to_docx(file_path):
if os.path.splitext(file_path)[1] == '.pdf': # 检查文件的扩展名是否为.pdf
pdf_filename = os.path.basename(file_path) # 从file_path中提取出文件名(不含路径)
word_name = os.path.splitext(pdf_filename)[0] + ".docx" # 创建新的文件名,将.docx作为扩展名
cv = Converter(pdf_filename) # 创建一个Converter对象,用于转换文件
cv.convert(word_name) # 调用convert方法,将PDF文件转换为docx格式,并将转换后的文件保存为word_name
cv.close() # 关闭转换器对象
print(f"**{pdf_filename}**处理完成") # 打印转换完成的信息
# 创建一个Tkinter窗口,但不显示它
root = tk.Tk()
root.withdraw()
# 使用filedialog模块打开一个文件选择对话框,允许用户选择多个文件
file_paths = filedialog.askopenfilenames(title="选择需要处理的文件")
if len(file_paths) == 0: # 如果没有选择文件,退出程序
sys.exit()
else:
print("待处理文件:") # 打印提示信息
for file_path in file_paths: # 遍历所有选择的文件路径
print(" ", file_path