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

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

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

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

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

1.获取打印机列表

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

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

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

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

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

在Windows系统中获取打印机列表:Mmv28资讯网——每日最新资讯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)

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

在Linux和macOS系统中获取打印机列表:Mmv28资讯网——每日最新资讯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)

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

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

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

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

打印

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

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

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

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

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

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

Mmv28资讯网——每日最新资讯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")

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

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

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • Find N3入网:最高支持16+1TB

    OPPO将于近期登场的Find N3折叠屏目前已经正式入网,型号为PHN110。本次Find N3在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • 电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    记者丨宁晓敏 见习生丨汗青出品丨鳌头财经(theSankei) 前不久,爱奇艺发布了一份亮眼的一季报,不仅营收和会员营收创造历史最佳表现,其运营利润也连续6个月实现增长。自去年年初
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • OPPO、vivo、小米等国内厂商Q2在印度智能手机市场份额依旧高达55%

    7月20日消息,据外媒报道,研究机构的报告显示,在全球智能手机出货量同比仍在下滑的大背景下,印度这一有潜力的市场也未能幸免,出货量同比也有下滑,多家厂
  • 上海举办人工智能大会活动,建设人工智能新高地

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