Какие символы вы отправляете на принтер «Общий / только текстовый» для печати выделенных жирным шрифтом и подчеркнутых символов?

#printing

#печать

Вопрос:

Мне нужно распечатать отчет для проекта, над которым я работаю. Я уже печатаю это, но отсутствует некоторое форматирование (жирный шрифт, подчеркивание), которое используется для выделения и дифференциации определенных областей.

Принтер установлен как «Общий / только текст» (требуется клиентом). Я уже некоторое время гуглю и не нашел способа отправить нужные символы, чтобы текст был выделен жирным шрифтом и подчеркнут из кода.

Как я могу напечатать жирный шрифт и символы подчеркивания на обычном текстовом принтере с помощью кода?

Ответ №1:

Часто обычный текстовый принтер реагирует на символ BS (пробел) chr(8) перемещением каретки влево и надпечаткой символов. Итак, чтобы выделить слово жирным шрифтом, вы могли бы отправить символы:

 t h i s SP i s SP b BS b o BS o l BS l d BS d
  

и для подчеркивания:

 t h i s SP i s SP u BS _ n BS _ d BS _ e BS _ r BS _ l BS _ i BS _ n BS _ e BS _ d BS _
  

Иногда принтер может лучше реагировать на CR (возврат каретки, chr(13) ) better, который перемещает каретку полностью влево, чтобы вы могли заполнять пробелы и печатать символы поверх:

 t h i s SP i s SP b o l d CR SP SP SP SP SP SP SP SP b o l d
  

Ответ №2:

Что ж, если он принимает коды, подобные Epson, тогда распечатайте байты:

 27, 45, 49  for underline on
27, 45, 48  for underline off
27, 69      for bold on
27, 70      for bold off
  

Ответ №3:

Вы пробовали ESC E начать выделять жирным шрифтом и ESC F закончить?