python实现 发送图片到打印机 进行打印
前言
环境
操作系统:win10
python:3.8.16
依赖
pip install openpyxl qrcode pillow pypiwin32 reportlab
功能
python printer.py
运行后,会检索本机已经连接的打印机设备,然后通过需要选择打印机,然后传入图片路径即可下发打印任务到打印机(期间会对图片转矢量图)。
可以对图片输入部分做个批量自动化,就可以批量打印了。
效果图
源码
直接打印版本
import win32print
import win32ui
from PIL import Image, ImageWin# 列出所有打印机
printers = [printer[2] for printer in win32print.EnumPrinters(2)]
for i, printer in enumerate(printers):print(f"{i+1}: {printer}")# 选择打印机
choice = int(input("选择要使用的打印机 (输入对应的序号): ")) - 1
printer_name = printers[choice]# 加载图片
image_path = input("输入要打印的图片的路径: ")
image = Image.open(image_path)# 创建设备描述表
hDC = win32ui.CreateDC()
hDC.CreatePrinterDC(printer_name)# 开始文档
hDC.StartDoc(image_path)# 开始页面
hDC.StartPage()# 绘制位图
dib = ImageWin.Dib(image)
dib.draw(hDC.GetHandleOutput(), (0, 0, image.width, image.height))# 结束页面
hDC.EndPage()# 结束文档
hDC.EndDoc()# 删除设备描述表对象
del hDCprint("打印成功!")
打开edge进行打印的版本
会运行edge让你手动打印0.0
import subprocess
import win32print
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter, landscape
from PIL import Image# 列出所有打印机
printers = [printer[2] for printer in win32print.EnumPrinters(2)]
for i, printer in enumerate(printers):print(f"{i+1}: {printer}")# 选择打印机
choice = int(input("选择要使用的打印机 (输入对应的序号): ")) - 1
printer_name = printers[choice]# 加载图片
image_path = input("输入要打印的图片的路径: ")
image = Image.open(image_path)# 转换图片为PDF
pdf_path = image_path.rsplit('.', 1)[0] + '.pdf'
c = canvas.Canvas(pdf_path, pagesize=landscape(letter))
width, height = landscape(letter)
c.drawImage(image_path, 0, 0, width, height)
c.showPage()
c.save()# 打印PDF
edge_path = r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe' # 默认的Edge路径
cmd = [edge_path, '--kiosk-printing', pdf_path]
subprocess.run(cmd)print("打印成功!")
python实现 发送图片到打印机 进行打印相关推荐
- 发送文件到打印机,打印机收不到(无线打印机)
发送文件到打印机,打印机收不到(无线打印机) 文章目录: 一.打印机收不文件 二.打印的时候说页数受限 一.打印机收不文件 在打印的时候,明明已经发送文件了,但是打印机那边还是查收不到.但是打印机旁边 ...
- 用Python定时发送图片到群消息,并艾特了所有人!
大家好,我是小一 昨天关于excel自动化的那篇文章发出之后,感觉大家对这个还挺感兴趣,并且在才哥那边有好几位读者在追问如何实现图片自动发送 说实话,有点惊讶大家对图片定时发送感兴趣,我原以为会有读者 ...
- python 微信发送图片给好友_Python给指定微信好友自动发送信息和图片
importosimport win32gui #pywin32-221.win-amd64-py3.7.exeimportwin32con from ctypesimport * importwin ...
- python 微信发送图片_使用python向企业微信发送文字和图片消息
使用python向企业微信发送文字和图片消息 吐槽一下企业微信的api文档真的不好读······ 企业微信本来是有功能,可以直接把图片显示到正文的,但是那个api我调用一直出错,各种折腾也没解决.后来 ...
- python 微信发送图片失败什么原因_[已解决] Appium-Python 测试聊天时同时发送 9 张图片的问题...
测试的功能 模拟微信聊天,测试一次发送 9 张图片,图片是否全部发送成功的功能,未成功的图片左侧出现小感叹号的图标. 我的思路 同时选择 9 张图片发送后,获取聊天列表 textview,通过 tex ...
- python socket 发送图片
服务端 # -*- coding=utf-8 -*- import socket import threading import sys import os import structdef deal ...
- RH358管理打印机和打印文件--配置和管理打印机
RH358管理打印机和打印文件–配置和管理打印机 来到最鸡肋的章节.打印机上的使用肯定是windows上秒杀了,所以这功能应该毫不犹豫地在WIN上玩耍. RH358专栏地址:https://blog. ...
- python打印机打印图片_python连接打印机实现打印文档、图片、pdf文件等功能
引言 python连接打印机进行打印,可能根据需求的不同,使用不同的函数模块. 如果你只是简单的想打印文档,比如office文档,你可以使用ShellExecute方法,对于微软office的文档.p ...
- 使用python和pywin32模块实现连接打印机批量打印文件
使用python实现连接打印机批量打印文件 python打印文件 python连接打印机 python打印文档文件 python打印图片文件 python批量打印文文件 python打印文件 pyth ...
最新文章
- 【iOS_Development】文件操作
- 《Python从小白到大牛》第4章 Python语法基础
- 超20亿!2018年国家自然科学基金(重点项目)出炉!
- Ciruy英雄谭 Chapter 2 Web浏览器如何将数据委托出去(一)
- DBA查询命令积累——不断更新
- java弱_Java 强、弱、软、虚,你属于哪一种?
- 如何使用FlashgameMaster修改游戏
- Servlet 身份验证体系结构
- Gdevops广州站:主流数据库的选型、架构设计与迁移实战,一网打尽!
- [暑假]简单认识一下常用的字体 <<微软雅黑 黑体 和 宋体>>
- 写网页设计与制作的博雅互动的作业
- 黑莓蓝牙摇杆-Zeemote
- UVA 10115 Automatic Editing (字符串的替换和查找)
- MySQL多表查询优化
- 计算机的医学应用,计算机技术在医学中的应用
- 怎样将PDF设置成阅后即焚的文件
- C语言第13课——文件读写
- OpenSSL生成PKCS#8私钥和公钥
- 梦幻维护测试服务器怎么看平转,梦幻2.9维护没有测试服 百服平转要开放了
- hdu 1078 FatMouse Chees