gpt4 book ai didi

windows - 需要一种可以驱动两台打印机的快速编程语言

转载 作者:可可西里 更新时间:2023-11-01 13:11:18 24 4
gpt4 key购买 nike

我有一个相当不寻常的应用程序,它不能按我需要的方式工作,我希望这里有人能提出一些建议或至少是一个调查方向。

我们有一个博物馆展览,入口处有一台电脑,可以驱动两台小型收据打印机。控制台上有两个按钮,连接到拆开鼠标的左右按钮。两个打印机和相关按钮分别适用于女孩和男孩,每个按钮从姓名数据库中随机选择,并在适当的打印机上打印一张带有图形图像、关于展览的几个词和随机选择的名字的小票。

从概念上讲,一切都很好,但它经常挂起。我在最后一刻拿到了这个项目,因为原设计师陷入困境无法交付,所以展览的作者在开幕前一天问我,我是否可以写一些有用的东西。

我是在 Word 中完成的,因为我是一名经验丰富的 VBA 程序员。我首先尝试的其他几种途径都导致了死胡同——一个不能做图形,另一个不能处理两台打印机,另一个不能改变字体等等。问题在于它的速度不够快——Word 一次只能驱动一台打印机,而更改事件打印机需要很长时间。不是按照办公室标准,在打印机开始处理您的文档之前一两秒的延迟不是问题,但在这里我或多或少需要即时响应。如果 children 按下一个按钮而没有任何 react ,他们会一遍又一遍地按下它直到发生某些事情,导致在打印机开始 react 之前可能会发送六个命令。有时它会完全卡住程序,因为男孩和女孩会同时按下两个按钮,Word 会锁定,即使它没有卡住,打印机也会吐出一串票,弄得一团糟。 children 开始争论哪张票是谁的,把它们从打印机里拉出来,在纸带上咆哮,把打印机卡住,通常把整个事情弄得一团糟,通常需要展览管理员重新启动计算机并清除撕碎的碎片打印出打印机。

我需要的是某种 快速可以驱动两台打印机的编程语言 *-同时-* ,而不是必须切换事件打印机的 MSOffice 废话,它可以对鼠标左键和右键单击事件使用react,可以打印小图形图像,并且可以以不同的字体大小和样式进行打印。我不需要很多,但它不是一种字体。

谁能建议我可以用什么?我什至不知道在 Windows 下是否可能,“单个事件打印机”垃圾是 Office 工件,还是 Windows 限制。 25 年前,我的小 Commodore-64 连接了两台打印机,并且可以轻松地同时驱动两台打印机——在我看来,今天这似乎不是一个不可能实现的要求。

最佳答案

作为一名 Python 程序员,我会使用类似 MSWinPrint.py 的东西。 ,并直接使用 Python 渲染文档。看起来它支持文本和图像,您可以通过名称轻松选择系统中的任何打印机。

您需要:

  • 安装 Python .
  • 安装 Python for Windows Extensions .
  • 安装 PIL .
  • 安装 MSWinPrint .

  • 然后,您需要编写一个程序来进行打印。类似于以下内容。
    #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 - 需要一种可以驱动两台打印机的快速编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4475264/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com