windows – 需要一种可以驱动两台打印机的快速编程语言
我有一个相当不寻常的应用程序,不能按我需要的方式工作,我希望这里有人会有一些建议或至少有一个方向来调查.
我们有一个博物馆展览,在入口处有一台计算机,驱动两个小收据打印机.控制台上有两个按钮,连接到开窗鼠标的左右按钮.这两个打印机和相关按钮适用于女孩和男孩,每个按钮从名称数据库中随机选择,并在适当的打印机上打印一张带有图形图像的小票,一些关于展览的文字和随机选择的名称. 概念上一切都很好,但它经常挂起.我在最后一分钟得到了这个项目,因为最初的设计师陷入困境并无法交付,所以展览的作者在开幕前一天问我,我是否可以写一些有用的东西. 我用Word做过,因为我是一位经验丰富的VBA程序员.我尝试的其他几个途径都导致死胡同 – 一个不能做图形,另一个不能处理两个打印机,另一个不能改变字体等等.问题是它根本不够快 – Word一次只能驱动一台打印机,而更换活动打印机需要很长时间.不是办公室标准,在打印机开始处理文档之前的第二个或两个延迟不是问题,但在这里我需要或多或少的即时响应.如果孩子按下按钮并且没有任何反应,他们会一遍又一遍地按下它直到确实发生了某些事情,导致在打印机开始反应之前可能发送了6个命令.有时它完全堵塞程序,因为男孩和女孩将同时按下两个按钮并且Word锁定,即使它没有卡住,打印机也会吐出一串票,弄得一团糟.孩子们开始争吵哪张票是哪张票,把它们从打印机中拿出来,咆哮纸带,堵塞打印机,一般搞乱了整个事件,往往需要展览管理员不得不重新启动计算机并清除撕碎的碎片.纸张打印机. 我需要的是某种快速编程语言可以驱动两台打印机* – 同时 – *,而不是必须切换活动打印机的MSOffice claptrap,它可以对鼠标左键和右键单击事件作出反应,可以打印一个小的图形图像,可以打印不同的字体大小和样式.我不需要很多,但它不是一个字体. 任何人都可以建议我可以用于此吗?我甚至不知道在Windows下是否可能,“单一活动打印机”垃圾是Office工件还是Windows限制.二十五年前,我的小Commodore-64有两台打印机连接在一起,并且没有任何困难同时驱动它们 – 在我看来它今天不应该是如此不可能的要求.
作为一名
Python程序员,我会使用类似
MSWinPrint.py的东西,并使用Python直接渲染文档.看起来它支持文本和图像,您可以通过名称轻松选择系统中的任何打印机.
你需要: >安装Python. 然后,您需要编写一个程序来进行打印.像下面这样的东西. #python import sys import Image,ImageWin import MSWinPrint # workaround for PIL namespace change MSWinPrint.ImageWin = ImageWin def print_name(name,printer_name): doc = MSWinPrint.document(printer_name) doc.begin_document('nametag for %s' % name) # print the name at position 20,20 text_pos = 20,20 doc.text(text_pos,name) # add an image for this person img_pos = 40,40 img_size = 100,100 doc.image(img_pos,get_image(),img_size) doc.end_document() def get_image(): image_filename = 'my image.jpg' return Image.open(image_filename) if __name__ == '__main__': name,printer_name = sys.argv[1:] print_name(name,printer_name) 如果将其保存为print_tag.py,则可以使用两个命令行参数,要打印的名称和图像文件名来执行它. print_tag.py Sally "EPSON Artisan 810" 我运行了这段代码,效果很好.我不知道创建自定义打印作业可能很容易. 您当然可以根据需要随意在任意数量的打印机上运行程序.当你运行打印作业的方式时,你可以做更多的事情来定制.您可以自定义代码以始终运行并解释鼠标单击(为此您可能需要wxPython),或者您可能有另一个程序只执行脚本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008 – 如何使用DISM将Windows Server 200
- Windows SVN服务器上SVN和SVN SSH的区别?
- 在Windows上正确设置OpenSSH的用户权限?
- Enable and Disable RDP NLA using PowerShell
- windows-server-2008 – 在Windows Server 2008 Core上安装
- windows-server-2008 – 用于连接到不同服务器和域上的数据
- cef3:禁止win10高dpi下cef对内部网页进行缩放
- for-loop – DOS Batch FOR循环删除不包含字符串的文件
- windows-server-2008 – 从SBS 2011迁移到2008 Standard
- windows – Inno设置:使用{pf}在32位/ 64位系统上使用“Pr
- win7使用远程桌面 连接 windows服务器
- Windows-runtime – WinRT中的MAX_PATH
- microsoft-metro – Metro UI Multibinding?
- skype-for-business – Skype for Business:用于
- 命令行 – 如何使用dos命令行查找文件是否包含给
- 寻找一个好的启用WebDAV的Windows编辑器
- 使用vagrant Windows 10没有输出
- windows – 在Microsoft Surface上检测相机旋转?
- windows下python虚拟环境virtualenv安装和使用
- windows-8 – 如何为Windows 8应用程序提供3个初