import os import fitz import shutil import os import fitz from tkinter import filedialog import tkinter as tk from docx import Document def covert2pic(file_path, zoom, png_path): doc = fitz.open(file_path) total = doc.page_count for pg in range(total): page = doc[pg] zoom = int(zoom) # 值越大,分辨率越高,文件越清晰 rotate = int(0) trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).prerotate(rotate) pm = page.get_pixmap(matrix=trans, alpha=False) if not os.path.exists(png_path): os.mkdir(png_path) save = os.path.join(png_path, '%s.png' %(pg+1)) pm.save(save) doc.close() def PCLPDFWJ(Pdf_file_path): desktop_path = os.path.expanduser("~\Desktop") #获取当前桌面路径 # ----读取文件夹下所有文件的名字并把他们用列表存起来------ datanames = os.listdir(Pdf_file_path) list_Pdfname = [] for i in datanames: # 获取文件名称中日期 list_Pdfname.append(i) # ----------------------------------------------- for j in list_Pdfname: s=j #获取文件夹中PDF名称 pdfPath=Pdf_file_path+"\\"+s print(pdfPath) j = j[:-4] # 去掉最后4个字符.pdf imagePath=desktop_path + "\\" + "临时文件夹"+"\\"+j # 批量创建imagePath文件夹---------------------------------------------------- if not os.path.exists(imagePath): os.makedirs(imagePath) else: # 清理历史遗留处理过的文件夹内容 shutil.rmtree(imagePath) os.makedirs(imagePath) covert2pic(pdfPath, 200, imagePath) # 创建新的Word文档对象 document = Document() # 获取指定文件夹路径 folder_path = imagePath # 遍历文件夹中的每张图片并插入到Word文档中 for filename in os.listdir(folder_path): if filename.endswith(".jpg") or filename.endswith(".png"): # 只处理JPG或PNG格式的图片 image_path = os.path.join(folder_path, filename) # 在当前光标位置插入图片 document.add_picture(image_path) document.save(desktop_path+"\\"+"wordoutput" + "\\" +j+".docx") # 保存Word文档 #print(hb) if __name__ == "__main__": root = tk.Tk() root.withdraw() # 隐藏tkinter的根窗口 folder_path = filedialog.askdirectory() # 将路径从Unix格式转换为Windows格式 windows_path = folder_path.replace("/", "\\") print("转换后的路径:", windows_path) pdfPath = windows_path desktop_path = os.path.expanduser("~\Desktop") #获取当前桌面路径 print("当前桌面路径:", desktop_path) # 在当前操作系统桌面上创建wordoutput文件夹---------------------------------------------------- if not os.path.exists(desktop_path + "\\" + "wordoutput"): os.makedirs(desktop_path + "\\" + "wordoutput") else: # 清理历史遗留处理过的文件夹内容 shutil.rmtree(desktop_path + "\\" + "wordoutput") os.makedirs(desktop_path + "\\" + "wordoutput") # ---------把图片插入word文件中--------------------------- # 在当前操作系统桌面上创建wordoutput文件夹---------------------------------------------------- if not os.path.exists(desktop_path + "\\" + "临时文件夹"): os.makedirs(desktop_path + "\\" + "临时文件夹") else: # 清理历史遗留处理过的文件夹内容 shutil.rmtree(desktop_path + "\\" + "临时文件夹") os.makedirs(desktop_path + "\\" + "临时文件夹") # ---------把图片插入word文件中--------------------------- PCLPDFWJ(pdfPath)