我正在读取文件而我正在尝试将其发送到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