Я печатаю никакие строки в DOS(CMD Prompt In Windows 7), используя пакетный файл на принтере DOT MATRIX. Это бумага А5. Проблема в том, что я не могу добавить более 53 символов в строку для печати A5. Как увеличить количество символов в строке для этого размера A5.
2 ответа
Этот принтер (TVS MSP 250 Star) поддерживает ESC/P (это стандарт Epson) и эмуляцию IBM Proprinter. Это означает, что вы можете отправить небольшой файл до фактического файла, который переключает принтер в сжатый режим.
Для эмуляции ESC/P вы можете сделать следующее:
Создайте файл small.txt
:
<#27><#15>
Это не буквальный файл. Файл должен быть всего 2 символа (# 27 и # 15). Вам понадобится редактор, который может создать символы "Escape" (# 27) и "Condensed" (# 15) (например, Hex-редактор). Если у вас его нет, смотрите ниже, как создать файл.
Далее вы можете распечатать свой файл так:
copy small.txt+ACTUAL_FILE.TXT LPT1
exit
Если у вас нет Hex-редактора, вы можете сделать следующее:
Создайте текстовый файл со следующим (назовите его small.vbs
):
Wscript.Stdout.Write Chr(27)+Chr(15)
Затем выполните в командной строке следующее:
cscript /nologo small.vbs > small.txt
Это приведет к созданию файла small.txt
который вы можете использовать с командой copy.
Изменить: рекомендуется попробовать #15
только в первую очередь. Если это не сработает, попробуйте #27#15
.
Чтобы написать #15
в C #, вы можете использовать (char)15
или \x0F
.
Из руководства ESC/P: а также
Редактировать:
Подводя итог (исключая границы / поля, так что может быть меньше с полей):
- 10 cpi ≈ 58 символов = Esc P (
#27P
) - 12cpi ≈ 70 символов = Esc M (
#27M
) - 15cpi ≈ 87 символов = Esc g (
#27g
) - Сжатые 10cpi ≈ 100 символов = Esc P SI (
#27P#15
) - 12 cpi, сокращенно ≈ 116 символов = Esc M SI (
#27M#15
) - 15cpi сгущенное ≈ (нет в наличии)
Таким образом, самый маленький будет #27M#15
. (116 символов)
Если вам не нужно открывать файл в обычном редакторе, вы можете включить эти коды в свой файл. Затем вы также можете добавить лакомства, такие как жирный шрифт, курсив и т.д. Чтобы задать слово жирным шрифтом, вы можете сделать следующее:
This is a #27Ebold#27F word.
#27E
устанавливает жирный шрифт, а #27F
отменяет его снова. Вы также можете переключиться обратно на 10 cpi и объединить его с жирным шрифтом.
#27M#15This is a #18#27P#27Ebold#27F#27M#15 word.
#27M#15
чтобы установить его в сжатый 12cpi. #18
отменить сжатый. #27P
27P, чтобы установить 10cpi, и после слова #27M#15
чтобы установить его в 12cpi, снова сжато.
Вы также можете использовать «Двойной шрифт ширина / высота»:
#27M#15This is a #27W#1#27w#1big#27W#0#27w#0 word.
#27W#1
Двойная ширина шрифта и #27w#1
Двойная высота шрифта и #0
чтобы отменить их снова.
Вы видите, что вы можете объединить все эти коды, чтобы сделать что-нибудь. Существует также "Выбор мастера" (стр. 125 руководства). Если вы много переключаетесь между шрифтами, вы можете использовать это для переключения cpi, полужирного, сжатого, курсива и т.д. В одной команде. (#27!
+n, где n - это тип)
Во-первых, вам нужно найти язык принтера, который используется принтером. Затем найдите и отправьте сжатую команду печати перед началом работы. Многие устройства с матричным типом точек используют последовательность escape-кода, поэтому вы посылаете символ esc, который иногда рассматривается как гекс 027, а затем последовательность символов. Эта последовательность указывает принтеру на изменение шрифтов, межстрочного интервала, размера шрифта ... Обратите внимание, что это относится к принтеру. Не было действительно универсального языка.