当前位置:首页 > 科技  > 软件

Python也能干大事,调取打印机并打印

来源: 责编: 时间:2023-12-11 09:28:05 358观看
导读今天我们来介绍如何获取打印机并进行打印文本。1.获取打印机列表要获取Python中的打印机列表,可以使用`win32print`模块(适用于Windows系统)或`cups`模块(适用于Linux和macOS系统)。以下是使用这两个模块分别获取打印机列

今天我们来介绍如何获取打印机并进行打印文本。w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

1.获取打印机列表

w4d28资讯网——每日最新资讯28at.com

要获取Python中的打印机列表,可以使用`win32print`模块(适用于Windows系统)或`cups`模块(适用于Linux和macOS系统)。w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

以下是使用这两个模块分别获取打印机列表的示例代码:w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

在Windows系统中获取打印机列表:w4d28资讯网——每日最新资讯28at.com

import win32printdef get_printer_list():    printers = win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL | win32print.PRINTER_ENUM_CONNECTIONS)    printer_list = []    for printer in printers:        printer_name = printer[2]        printer_list.append(printer_name)    return printer_list# 调用函数获取打印机列表printer_list = get_printer_list()for printer in printer_list:    print(printer)

w4d28资讯网——每日最新资讯28at.com

在Linux和macOS系统中获取打印机列表:w4d28资讯网——每日最新资讯28at.com

import cupsdef get_printer_list():    conn = cups.Connection()    printers = conn.getPrinters()    printer_list = []    for printer in printers:        printer_name = printers[printer]["printer-info"]        printer_list.append(printer_name)    return printer_list# 调用函数获取打印机列表printer_list = get_printer_list()for printer in printer_list:    print(printer)

w4d28资讯网——每日最新资讯28at.com

这些示例代码分别使用了`win32print.EnumPrinters`和`cups.Connection.getPrinters`方法来获取打印机列表。然后,它们遍历列表并将打印机名称添加到一个列表中。最后,打印机列表会被打印出来。w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

请注意,对于Windows系统,你需要安装`pywin32`模块来使用`win32print`模块。对于Linux和macOS系统,你需要安装`cups`模块。w4d28资讯网——每日最新资讯28at.com

打印

在Python中,你可以使用`win32api`和`win32print`模块(适用于Windows系统)或`cups`模块(适用于Linux和macOS系统)来调用打印机进行打印操作。w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

以下是使用这两个模块分别调用打印机进行打印的示例代码:w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

在Windows系统中调用打印机打印:w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

import win32apiimport win32printdef print_file(filename, printer_name=None):    # 打开文件    file = open(filename, "rb")    data = file.read()    file.close()    # 获取默认打印机    if not printer_name:        printer_name = win32print.GetDefaultPrinter()    # 打印文件    hPrinter = win32print.OpenPrinter(printer_name)    try:        hJob = win32print.StartDocPrinter(hPrinter, 1, ("print job", None, "RAW"))        try:            win32print.StartPagePrinter(hPrinter)            win32print.WritePrinter(hPrinter, data)            win32print.EndPagePrinter(hPrinter)        finally:            win32print.EndDocPrinter(hPrinter)    finally:        win32print.ClosePrinter(hPrinter)# 调用函数进行打印print_file("test.pdf", "Your Printer Name")

w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

这些示例代码分别使用了`win32print`和`cups`模块来调用打印机进行打印。它们都包含一个`print_file`函数,该函数接受要打印的文件名和打印机名称作为参数。w4d28资讯网——每日最新资讯28at.com

w4d28资讯网——每日最新资讯28at.com

在Windows系统中,`print_file`函数使用`win32api`和`win32print`模块打开文件并将其写入打印机。在Linux和macOS系统中,`print_file`函数使用`cups`模块打印文件并返回打印作业的ID。w4d28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-41708-0.htmlPython也能干大事,调取打印机并打印

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 丢掉截图软件,让 Python 帮你搞定

下一篇: 使用Maven和Tomcat创建并部署Java应用

标签:
  • 热门焦点
  • 一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 分享六款相见恨晚的PPT模版网站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS网站旨在为全球Office用户提供丰富的高品质原创PPT模板、实用文档、数据图表及个性化定制服务。优点:OfficePLUS是微软官方网站,囊括PPT模板、Word模
  • 为什么你不应该使用Div作为可点击元素

    按钮是为任何网络应用程序提供交互性的最常见方式。但我们经常倾向于使用其他HTML元素,如 div span 等作为 clickable 元素。但通过这样做,我们错过了许多内置浏览器的功能。
  • 2天涨粉255万,又一赛道在抖音爆火

    来源:运营研究社作者 | 张知白编辑 | 杨佩汶设计 | 晏谈梦洁这个暑期,旅游赛道彻底火了:有的「地方」火了——贵州村超旅游收入 1 个月超过 12 亿;有的「博主」火了&m
  • 本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页“充值中心”入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 国行版三星Galaxy Z Fold5/Z Flip5发布 售价7499元起

    2023年8月3日,三星电子举行Galaxy新品中国发布会,正式在国内推出了新一代折叠屏智能手机三星Galaxy Z Fold5与Galaxy Z Flip5,以及三星Galaxy Tab S9
  • 上海举办人工智能大会活动,建设人工智能新高地

    人工智能大会在上海浦江两岸隆重拉开帷幕,人工智能新技术、新产品、新应用、新理念集中亮相。8月30日晚,作为大会的特色活动之一的上海人工智能发展盛典人工
Top