У меня есть принтер TSC TE 210. Я создал виртуальный принтер на порту Redmon и установил на нем драйвер TSC. Я могу сгенерировать файл printfile.prn с использованием Redmon (перенаправление вывода на Python, который будет редактировать данные и создавать файл .prn), который имеет команды TSPL, например, он, например ,::
SIZE 97.6 mm, 50 mm
GAP 3 mm, 0 mm
DIRECTION 0,0
REFERENCE 0,0
OFFSET 0 mm
SET PEEL OFF
SET CUTTER OFF
SET PARTIAL_CUTTER OFF
SET TEAR ON
CLS
BITMAP 361,170,50,32,1,˙đ˙˙˙˙˙˙˙đ˙˙ü ˙˙˙˙˙˙
TEXT 586,152,"2",180,1,1,1,"1234AA"
PRINT 1,1
< /code>
Все хорошо. Я могу редактировать команды TSPL, добавить что -то и т. Д., А затем отправить его в реальное принтер, используя копию printfile.prn /b "TSC TE210" < /code> (в Windows) < /p>
Это работает, потому что сгенерированный файл .pr Также PDF.
Я могу это сделать! Также используйте Redmon, но вместо того, чтобы отправлять его в сценарий Python, я использовал PostScript, который действительно может генерировать файл PDF. Этот виртуальный принтер использовал драйвер PostScript. < /P>
Однако, как генерировать оба файла (.prn с TSPL) и файл .pdf в одно и то же время?
Я хочу быть очень удобным для пользователя, распечатайте его один раз и генерируйте TSPL и PDF в одно и то же время. То, что я упомянул - используя первый подход, виртуальный принтер должен установить драйвер TSC, поэтому он сгенерировал команды TSPL. У второго виртуального принтера установлен драйвер PS, поэтому он сгенерировал файл PostScript, который может быть изменен в PDF. Но я не могу установить оба драйвера на одном и том же виртуальном принтере Redmon. < /P>
есть идея, как это сделать? Я знаю, что могу создать сценарий, который просто взял команды TSPL с первого подхода и каким -то образом создавать PDF шаг за шагом. Но это действительно много работы. И я хотел бы сохранить нативный формат TSPL для более простых изменений. Любой трюк, который мог бы сделать это? Благодаря ответу @K J, я понял, что я должен масштабировать ширину на 8. Однако только один из 4 растровых изображений выглядит хорошо. Также я не знаю, как сделать их видимыми вместе: < /p>
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import re
bitmap_parameters = []
bitmap_lines = []
with open("TSPL.prn", "rb") as f:
for line in f.readlines():
if line.startswith(b"BITMAP"):
match = re.match(br'BITMAP (\d{1,5}),(\d{1,5}),(\d{1,5}),(\d{1,5}),(\d{1,5}),', line)
if match:
bitmap_parameters.append(match.groups())
bitmap_lines.append(
re.sub(br'BITMAP \d{1,5},\d{1,5},\d{1,5},\d{1,5},\d{1,5},', b'', line)
)
fig, axes = plt.subplots(1, len(bitmap_lines))
if len(bitmap_lines) == 1:
axes = [axes]
for i in range(len(bitmap_lines)):
bitmap_bytes = bitmap_lines[0]
width, height = int(bitmap_parameters[i][2]), int(bitmap_parameters[i][3])
width *= 8
bitmap = np.frombuffer(bitmap_bytes, dtype=np.uint8)
bitmap = np.unpackbits(bitmap)[:width * height]
try:
bitmap = bitmap.reshape((height, width))
except:
print("error")
continue
axes[i].imshow(bitmap, cmap="gray", interpolation="nearest")
axes[i].axis("off")
plt.show()
У меня есть принтер TSC TE 210. Я создал виртуальный принтер на порту Redmon и установил на нем драйвер TSC. Я могу сгенерировать файл printfile.prn с использованием Redmon (перенаправление вывода на Python, который будет редактировать данные и создавать файл .prn), который имеет команды TSPL, например, он, например ,:: [code]SIZE 97.6 mm, 50 mm GAP 3 mm, 0 mm DIRECTION 0,0 REFERENCE 0,0 OFFSET 0 mm SET PEEL OFF SET CUTTER OFF SET PARTIAL_CUTTER OFF SET TEAR ON CLS BITMAP 361,170,50,32,1,˙đ˙˙˙˙˙˙˙đ˙˙ü ˙˙˙˙˙˙ TEXT 586,152,"2",180,1,1,1,"1234AA" PRINT 1,1 < /code> Все хорошо. Я могу редактировать команды TSPL, добавить что -то и т. Д., А затем отправить его в реальное принтер, используя копию printfile.prn /b "TSC TE210" < /code> (в Windows) < /p> Это работает, потому что сгенерированный файл .pr Также PDF. Я могу это сделать! Также используйте Redmon, но вместо того, чтобы отправлять его в сценарий Python, я использовал PostScript, который действительно может генерировать файл PDF. Этот виртуальный принтер использовал драйвер PostScript. < /P> Однако, как генерировать оба файла (.prn с TSPL) и файл .pdf в одно и то же время? Я хочу быть очень удобным для пользователя, распечатайте его один раз и генерируйте TSPL и PDF в одно и то же время. То, что я упомянул - используя первый подход, виртуальный принтер должен установить драйвер TSC, поэтому он сгенерировал команды TSPL. У второго виртуального принтера установлен драйвер PS, поэтому он сгенерировал файл PostScript, который может быть изменен в PDF. Но я не могу установить оба драйвера на одном и том же виртуальном принтере Redmon. < /P> есть идея, как это сделать? Я знаю, что могу создать сценарий, который просто взял команды TSPL с первого подхода и каким -то образом создавать PDF шаг за шагом. Но это действительно много работы. И я хотел бы сохранить нативный формат TSPL для более простых изменений. Любой трюк, который мог бы сделать это? Благодаря ответу @K J, я понял, что я должен масштабировать ширину на 8. Однако только один из 4 растровых изображений выглядит хорошо. Также я не знаю, как сделать их видимыми вместе: < /p> import numpy as np import matplotlib.pyplot as plt from PIL import Image import re
bitmap_parameters = [] bitmap_lines = []
with open("TSPL.prn", "rb") as f: for line in f.readlines(): if line.startswith(b"BITMAP"): match = re.match(br'BITMAP (\d{1,5}),(\d{1,5}),(\d{1,5}),(\d{1,5}),(\d{1,5}),', line)
if match: bitmap_parameters.append(match.groups()) bitmap_lines.append( re.sub(br'BITMAP \d{1,5},\d{1,5},\d{1,5},\d{1,5},\d{1,5},', b'', line) )
fig, axes = plt.subplots(1, len(bitmap_lines))
if len(bitmap_lines) == 1: axes = [axes]
for i in range(len(bitmap_lines)): bitmap_bytes = bitmap_lines[0]
У меня есть принтер TSC TE 210. Я создал виртуальный принтер на порту Redmon и установил на нем драйвер TSC. Я могу сгенерировать файл printfile.prn с использованием Redmon (перенаправление вывода на Python, который будет редактировать данные и...
У меня есть принтер TSC TE 210. Я создал виртуальный принтер на порту Redmon и установил на нем драйвер TSC. Я могу сгенерировать файл printfile.prn с использованием Redmon (перенаправление вывода на Python, который будет редактировать данные и...
У меня есть принтер TSC TE 210. Я создал виртуальный принтер на порту Redmon и установил на нем драйвер TSC. Я могу сгенерировать файл printfile.prn с использованием Redmon (перенаправление вывода на Python, который будет редактировать данные и...
У меня есть принтер TSC TE 210. Я создал виртуальный принтер на порту Redmon и установил на нем драйвер TSC. Я могу сгенерировать файл printfile.prn с использованием Redmon (перенаправление вывода на Python, который будет редактировать данные и...
У меня есть принтер TSC TE 210. Я создал виртуальный принтер на порту Redmon и установил на нем драйвер TSC. Я могу сгенерировать файл printfile.prn с использованием Redmon (перенаправление вывода на Python, который будет редактировать данные и...