以后再也不用为打印试验报告发愁啦!
以后再也不用为打印试验报告发愁啦!
以后再也不用为打印试验报告发愁啦!
(一堆试验报告)
前言
每当项目结束文件归档的时候,总有一大批试验报告需要打印出来存档。传统手工作业的方式(即打开一个PDF文件→打印出来→关闭PDF文件→打开另一个PDF文件→打印出来……)作业方式效率太低,有时候需要忙活好几天,同时不可避免的会出现漏打、多打等问题。为了避免不必要的重复工作,减少加班,这个时候可以使用python大大提高我们的工作效率。 面对上述问题,通常有两种解决方案:①把所有待打印的PDF文件合并成一个文件,然后打印这一份文件即可;②使用python遍历每一个PDF文件,并传送给打印机,依次打印每一个文件。本文主要使用方法①,即把所有的PDF文件合并成一个,然后再打印。这个过程中最难的就是批量合并PDF文件了。别担心,我已经编写好了一个小程序,在文末的链接中下载就可以使用啦!
(软件使用过程)
使用方法
1.软件界面
使用鼠标左键,双击两下,等到4~5秒程序即自动打开,打开后的界面如下图所示。
2.读入PDF文件
首先需要把所有需要打印的PDF文件存在同一个文件夹内,然后用程序读取这个文件夹内的内容。当然数据接口也可以做成直接选择PDF文件的样式,如您需要,请联系作者修改。
程序中加入了按字符串排序和忽略加密PDF文件的功能,如果您想新生成的PDF按照一定的顺序,请直接修改文件名(比如按照顺序修改成1.pdf、2.pdf、3.pdf、4.pdf……)。加密的PDF文件将自动跳过,不进行任何处理。
单击“读入PDF存放文件夹”按钮,选择一个存放待处理PDF文件的文件夹。选择好文件夹后程序会自动读入此文件夹内的所有pdf格式的文件并显示在小程序左边空白区域。程序中添加的筛选代码,非PDF格式的文件是不会读取进来的哦。文件夹的路径会显示在右上方空白文本框内。
3.保存生成的PDF文件
单击“保存合并后的PDF文件”按钮,会弹出一个问话框,让用户自动选择文件的保存位置及名称。选择完成之后程序自动执行,等待程序运行(根据PDF文件数和电脑配置不同,时间也不同,此时不要着急哈!)。程序运行结束之后会在主界面显示运行时间及生成的PDF文件的总页数。
4.显示程序运行时间。
对于一般的小文件,一般几十秒钟的时间就够了,对于一些比较大的PDF文件可能需要耗时几分钟。为此专门在主界面设置了一个文本框用于显示程序运行耗时,单位为s(秒)。
5.帮助文件。
在主界面左上角点击帮助,或者在主界面任意位置单击右键均会弹出帮助菜单,单击对应选项可以查看对应的内容。
软件的使用也就这些内容了。如果想了解程序原理的可以参考下面这个代码。
工作原理
以下代码为python原始代码,可以在python中运行。代码中不包括GUI内容。
from PyPDF2 import PdfFileMerger,PdfFileReader
import os
import glob
import time
# 统计程序执行时间
start_time = time.time()
path =r"C:\Users\Administrator\Desktop\pdfinput"
# 获取文件名及路径,并按字符串顺序进行排序
files = sorted(glob.glob(os.path.join(path,"*.pdf")))
print(files)
# 获取每个pdf文件信息,并添加到新建文件
result_pdf = PdfFileMerger()
for file in files:
with open(file, "rb") as fp:
pdf_reader = PdfFileReader(fp)
if pdf_reader.isEncrypted:
print(f"忽略加密文件:{file}")
continue
result_pdf.append(pdf_reader, import_bookmarks=True)
# 新生成PDF文件的存放路径及名称
pdf_out_path =r"C:\Users\Administrator\Desktop\combined.pdf"
pdf_out = open(pdf_out_path,"wb")
result_pdf.write(pdf_out)
result_pdf.close()
pdf_out.close()
print("新生成PDF文件的页码为%s"% (PdfFileReader(open(pdf_out_path, "rb")).numPages))
# 显示程序执行耗时
print("程序执行耗时为%.3f" %(time.time() - start_time))
小程序及原始代码下载地址: 链接:https://pan.baidu.com/s/1zGR2_2e9GdGCilC59dV4dw 提取码:yfwo陪你一起走过
春夏秋冬
无
![8580cd46fe137c03e66e570fe79808e5.png](https://i-blog.csdnimg.cn/blog_migrate/606664c7c81e60d52e13fa4ca700337c.jpeg)
![79a7c274eafc8df1cbf940d9b74b1b71.png](https://i-blog.csdnimg.cn/blog_migrate/fb56bc6abe35a97238fba5b4758a02e1.jpeg)
座椅检测知多少
乘用车|商用车|工程机械空·