美文网首页
Python脚本打印文件夹里指定类型文件

Python脚本打印文件夹里指定类型文件

作者: 东东隆东抢 | 来源:发表于2023-04-22 10:29 被阅读0次

背景:
某销售人员经常出差,每个月月底需要进程c报销,每个月都有很多报销文件需要打印。他的习惯是在本地新建一个文件夹报销,然后再在文件夹里对各类型发票进行归类。即文件夹存在子文件夹,有些文件在根目录文件夹里,有些文件在子文件夹里。每个月月底都需要对每个文件进行打印,繁琐的重复性操作。于是乎想写个简单的脚本,输入文件夹目录进行一键打印所有文件。
废话不多说,直接上代码:

import os
import glob
import win32api
import win32print

default_printer = win32print.GetDefaultPrinter() #获取默认打印机名称

def print_pdfs(root_folder):
    for filename in glob.iglob(root_folder + '/**/*.pdf', recursive=True):
        win32api.ShellExecute(0, "print", filename, default_printer, ".", 0)

root_folder = r"C:\Users\dongdong lin\Desktop\报销\5月" 
print_pdfs(root_folder)
  • import osimport globimport win32printimport win32api 引入了需要用到的模块。
  • def print_pdfs(root_folder) 定义了一个函数,接受一个参数 root_folder,表示要打印PDF文件的根目录。
  • for filename in glob.iglob(root_folder + '/**/*.pdf', recursive=True): 使用glob模块的 iglob 函数匹配所有以 .pdf 结尾的文件(可以换成其他类型,如.doc文件),包括子文件夹中的文件。 recursive=True 参数使得 iglob 在递归遍历文件夹时查找文件。
  • win32api.ShellExecute(0, "print", filename, default_printer, ".", 0) 调用了 win32api 模块的 ShellExecute 函数,实现打印PDF文件。其中,filename 参数表示要打印的PDF文件路径,default_printer 参数表示要使用的打印机名称,"." 参数表示打印工作目录(这里使用当前目录),0 参数表示打印选项(这里使用默认选项)。

要使用这个脚本,只需要将 /path/to/folder 替换成你要打印PDF文件的文件夹路径即可。请注意,这个脚本仅在 Windows 系统上运行,因为它使用了 win32api 模块。

相关文章

网友评论

      本文标题:Python脚本打印文件夹里指定类型文件

      本文链接:https://www.haomeiwen.com/subject/lrdsjdtx.html