使用win32prin将一行文本发送到Python中的ESC/POS打印机

2024-09-28 22:22:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一行文本发送到使用win32api的ESC/p热敏打印机。在

我知道pythonsecpos的存在,但我想了解原始打印是如何工作的。在

连接打印机并将其配置为默认打印机。在windows设置中打印默认页面可以工作。在

这就是我正在尝试的代码。在发送实际测试之前,是否需要使用其他escape命令?-我已经在发送ESC+@initialize命令-

import os, sys
import win32print

printer_name = win32print.GetDefaultPrinter ()
print(printer_name)
#
# raw_data could equally be raw PCL/PS read from
#  some print-to-file operation
#
if sys.version_info >= (3,):
    print(1)
    raw_data = bytes ("This is a test", "utf-8")
else:
    print(2)
    raw_data = "This is a test"

hPrinter = win32print.OpenPrinter (printer_name)
try:
    print(3)
    hJob = win32print.StartDocPrinter (hPrinter, 1, ("test of raw data", None, "RAW"))
    try:
        print(4)
        win32print.StartPagePrinter (hPrinter)
        a = win32print.WritePrinter (hPrinter, raw_data)
        print(a)
        win32print.EndPagePrinter (hPrinter)
    finally:
        print(5)
        win32print.EndDocPrinter (hPrinter)
finally:
    print(6)
    win32print.ClosePrinter (hPrinter)

Tags: nametestimport命令datarawissys