From 245c56f33523d5442b7659089253f203363b30ec Mon Sep 17 00:00:00 2001 From: Dawn_Ocean <1785590531@qq.com> Date: Sun, 22 Oct 2023 22:13:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=94=9F=E6=88=90=E5=AE=8C=E6=AF=95?= =?UTF-8?q?=E6=88=96=E5=87=BA=E7=8E=B0=E9=94=99=E8=AF=AF=E5=90=8E=E4=BC=9A?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=B0=E4=BA=A7=E7=94=9F=E7=9A=84=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 39 ++++++++++++++++++++++++++++++++------- 报销程序.exe | Bin 66767214 -> 66767720 bytes 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index 2ee1611..1b07a04 100644 --- a/main.py +++ b/main.py @@ -11,18 +11,33 @@ from docx2pdf import convert import os +def done(): + print("正在移除多余生成文件...") + for gen in gened_list: + os.remove(gen) + print("移除完毕!") + input("按任意键退出...") + exit() + + +def deal_file_loss(path, dir_name): + print(f" {dir_name} 文件夹中文件个数不符,请检查!") + done() + def convert_all(path = os.path.abspath('.')): print("正在扫描并处理文件中...") items = os.listdir(path) for item in items: if os.path.isdir(item): + if len(os.listdir(path + '\\' + item)) < 3: + deal_file_loss(path, item) result = convert_img(item, path + '\\' + item) if result == 1: print("PDF 转换失败!") - return + done() elif result == 2: print("JPG/JPEG 转换失败!") - return + done() print("转换完毕!") """传入绝对路径""" @@ -39,7 +54,9 @@ def convert_img(dir_name, path = os.path.abspath('.')): elif file.endswith('.jpg') or file.endswith('.jpeg'): img = Image.open(path + '\\' + file) dot_index = file.rfind('.') - img.save(path + '\\' + file[:dot_index] + ".png", "PNG") + img_path = path + '\\' + file[:dot_index] + ".png" + img.save(img_path, "PNG") + gened_list.append(img_path) if len(pdf_list) > 1: print(f"注意到文件夹 {dir_name} 中有多个 .pdf 文件:") for i in range(len(pdf_list)): # 打印 pdf 文件和选项 @@ -55,6 +72,8 @@ def convert_img(dir_name, path = os.path.abspath('.')): invoice_path = path + '\\' + "pdf" + pdf_list[invoice_int][:-4] + ".png" invoice_renamed = path + '\\' + 'Pdf' + pdf_list[invoice_int][:-4] + ".png" os.rename(invoice_path, invoice_renamed) # 将 "pdf" 标签变为 "Pdf" + gened_list.remove(invoice_path) + gened_list.append(invoice_renamed) break else: print("请选择正确的序号!") @@ -78,8 +97,8 @@ def gen_filelist(path = os.path.abspath('.')): else: dir_file.remove(file) if png_count != 3: - print(f"在{dir}文件夹发现错误:文件个数不符") - return + print(f"在{dir}文件夹发现错误:png文件个数不符") + done() print("创建完毕!将要加入文档的文件如下:") for dir, dir_file in file_list.items(): print('- ' + dir) @@ -125,16 +144,22 @@ def pdf2img(pdf_path, pdf_name, zoom_x = 3, zoom_y = 3): return 1 for page in doc: # 遍历页面 pix = page.get_pixmap(matrix=fitz.Matrix(zoom_x, zoom_y)) # 将页面渲染为图片 - pix.save(pdf_path + '\\' + "pdf" + pdf_name[:-4] + ".png") # 将图像存储为PNG格式 + png_path = pdf_path + '\\' + "pdf" + pdf_name[:-4] + ".png" + gened_list.append(png_path) + pix.save(png_path) # 将图像存储为PNG格式 doc.close() # 关闭文档 if __name__ == "__main__": + gened_list = [] # 新创建的文件列表,在出错时或者生成完毕时进行删除 print("在使用该脚本前,请保证程序所在的文件夹中仅包含程序、发票文件夹") - print("并且确保每个发票文件夹内只有三个文件:发票为.pdf文件,其他为图片") + print("并且确保每个发票文件夹内只有三个文件") input("按回车键开始...") convert_all() gen_docx() print("生成 .pdf 文件中...") convert("output.docx", "output.pdf") print("生成完毕!") + done() + + \ No newline at end of file diff --git a/报销程序.exe b/报销程序.exe index 48821d182ec042bb8876c689669fb1fb893c4f57..f1a67eb36ea56a8644382da7ad1eee0ff80da526 100644 GIT binary patch delta 17323 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 delta 21371 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