(吊牌)打印机自动化经验001-----By上海组
回答
收藏

(吊牌)打印机自动化经验001-----By上海组

小可耐教你学影刀RPA【哔哩哔哩同名】
2023-07-28 10:04·浏览量:861
小可耐教你学影刀RPA【哔哩哔哩同名】
发布于 2023-07-28 10:04861浏览

作者:玬语、可耐

关键词:打印机自动化


一、需求背景

客户有一个需求吊牌打印,每一份文件都需要进行打印,一份一份手动打开文件,修改几个关键值,然后一份一份点击打印,非常费时,且很重复,那这么重复的场景就可使用影刀来解决了;

二、解决方式

1. 纯代码操作

通过查询资料,发现要操作打印机,需要用到python的两个库,分别是 win32api和win32print。通过这两个库,可实现自定义文件打印以及自定义选择要连接的打印机,接下来请看具体代码演示:

# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv

def main(args):
    pass
import win32api
import win32print

# print(win32print.EnumPrinters(3))  # 获取所有打印机列表
for i in win32print.EnumPrinters(3):
    print(i)

def print_file(file_path, printer_name):
    try:
        # 设置指定打印机为默认打印机
        win32print.SetDefaultPrinter(printer_name)
        
        # 打印文件
        win32api.ShellExecute(0, "print", file_path, None, ".", 0)
        print("文件已发送到指定打印机打印")
    except Exception as e:
        print("无法打印文件:", str(e))

# 要打印的文件路径
file_path = r"C:\Users\27803\Desktop\1.pdf"

# 要指定的打印机名称
printer_name = "NPI97EDD4 (HP LaserJet MFP M232dwc)"

# 调用打印函数打印文件
for i in range(4):
    print_file(file_path, printer_name)

注意:目前测试下来是支持打印pdf的文件

2. 模拟人工操作

  • 前提条件:电脑提前连接上打印机
  • 操作步骤:使用影刀循环打开PDF文件,并点击打印
  • 打印机的使用方法:
    1、首先检查的电脑已经连接到一个打印机上,可以打开电脑的控制面板里硬件和声音,里面设备和打印机选项,如果已经正常连接之后就能够看到第一行打印机和传真项目中有一个打勾的打印机。
    2、打开您需要打印的文档或者图片,文档打开之后点击左上角的文件选项中,选择打印就可以进入打印的选项,确保选择正确的打印机之后,选择单双份或者是打印的份数等设置,最后点击确定即可,图片打开之后之间点击上方菜单栏中的打印即可。

三、可能遇到的问题

问题一.打印中对话框弹出

1、解决方式

  • 打印机出现将打印输出另存为处理具体操作步骤如下:
    1、进入控制面板进行更改,右键电脑左下角的开始按钮。(如图1)
    2、在弹出的选项中选择文件资源管理器,点击进入。(如图2)
    3、之后会弹出一个窗口,在左边找到此电脑,右键点击此电脑,然后在出现的菜单中点击最下面的属性。(如图3)
    4、进入此窗口后,点击左侧的控制面板主页,进入控制面板。(如图4)
    5、找到查看设备和打印机,点击进入。这里能看到已经连上电脑的打印机。(如图5)
    6、这里如果连接了打印机,将会看见打印机的名字,右键你所使用的打印机,点击设为默认打印机。(如图6)
    7、之后再选择要打印的文档,右键点击打印,就不会弹出另存为窗口了。(如图7)

此处为语雀图册卡片,点击链接查看:https://www.yuque.com/pengzhiqiang999/xiaokenai/ghyxvvopupifp3uh#WCubY








收藏1
全部回答1
最新
发布回答
回答