从带有打印机命令的文件读取并在Python3中打印

时间:2017-06-08 07:43:51

标签: python-3.x printing

我正在读取文件而我正在尝试将其发送到PCL打印机HP LJ2035

os.startfile("C:/tmp/tmp.txt", "print")

我读过的那个文件是在DOS的IMB-852中编码的,里面有打印机命令,如^[E^[(17U^[(s10.2H^[(s3B

我的主要问题是os.startfile在默认打印机上从Windows打印,它还会打印打印机命令而不解释它们。当我从Clarion(在DOS中)写入的程序直接发送到没有Windows打印的LPT端口时,文件打印正常。

在Linux命令file上,在IBM-852中编码的tmp.txt文件中返回:

tmp.txt: HP PCL printer data

如何在Python 3中读取和打印该文件,以便我的打印机解释打印机命令?我需要以binary模式打开该文件吗?如果我with open(my_file, 'rb') as f:我收到错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x86 in position 62: invalid start byte

0 个答案:

没有答案