gpt4 book ai didi

python - 使用Python将文本文件打印到特定打印机

转载 作者:行者123 更新时间:2023-12-03 11:13:32 24 4
gpt4 key购买 nike

我想使用python将文本文件打印到本地打印机(名称:“XP-58”,类型:热式POS打印机,操作系统:Windows 8.1)。
最好的方法是什么?
我找到了this,但找不到解决方法。
最佳解决方案是这样的:

  • currentprinter = X
  • tempprinter =“XP-58”
  • 打开文件“test.txt”
  • 打印到tempprinter
  • 将打印机设置为当前打印机

  • 补充:您认为可以打印条形码吗? (不同的字体?)

    我尝试使用上面链接中的原始打印,将其更改为功能,但我的打印机上没有任何东西。这是我的代码
    import os, sys
    import win32print

    printer_name = win32print.GetDefaultPrinter ()
    hPrinter = win32print.OpenPrinter (printer_name)

    def prn_txt(text):
    if sys.version_info >= (3,):
    raw_data = bytes (text, "utf-8")
    else:
    raw_data = text
    try:
    hJob = win32print.StartDocPrinter (hPrinter, 1, ("test of raw data", None, "RAW"))
    try:
    win32print.StartPagePrinter (hPrinter)
    win32print.WritePrinter (hPrinter, raw_data)
    win32print.EndPagePrinter (hPrinter)
    finally:
    win32print.EndDocPrinter (hPrinter)
    finally:
    win32print.ClosePrinter (hPrinter)

    txt = "blabla"
    print prn_txt(txt)

    但什么都没发生?我究竟做错了什么?

    最佳答案

    要通过后台打印程序API向打印机发送文本,您需要使用TEXT模式而不是RAW:

    hJob = win32print.StartDocPrinter (hPrinter, 1, ("Test text document", None, "TEXT"))
    RAW模式用于当您拥有打印机可以直接处理的数据(例如PCL或Postscript)时。 TEXT模式将使后台打印程序使用打印机能够理解的语言来生成后台打印文件,然后再将其发送到打印机。

    关于python - 使用Python将文本文件打印到特定打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28941932/

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