Недавно реанимировал свой старый добрый струйник, Epson Stylus 300, он как раз ESC/P2 умеет, почитал коды, попытался сделать руками в шестнадцатиричном редакторе заполнение квитанции с почты — даже что-то получилось, хоть и не довёл до конца (оказалось сложным отпозиционировать бланк).
Мне надо уместить логотип в несколько user-defined символов. Печать графики неудобна, т к занимает много месте на бумаге плюс в символах печать быстрее, т.к. печатаю напрямую в порт принтера без графики, соответственно без windows драйверов.
В 1996 г. я писал дипломный проект на турбо-паскале 7.0 с отправкой ESC-команд в параллельный порт Epson-совместимых матричных принтеров.
В рамках проекта требовалось печатать текст ГОСТовским шрифтом Б с наклоном.
Там я каждый символ рисовал в матрице высотой 24 точки.
На струйнике Epson Ctylus Color 460 такая фигня просто не прокатила (не было аппаратной поддержки пользовательских матричных шрифтов).
Поскольку под винду не хотелось переделывать прогу, пришлось написать простенькую функцию, которая конвертировала текстовую строку в ESC-последовательности для растровой печати графики в матрице высотой в 8 точек.
Таким образом, одна строчка «текста» с матрицей в 24 точки печаталась тремя строчками «графики» матрицей в 8 точек.
LPT-трафик такого решения возрос более чем в 60 раз, а скорость печати снизилась в 4 раза (по сравнению с печатью встроенным шрифтом).
Но, опять-таки, сама-по-себе скорость струйной печати изначально была гораздо ниже скорости печати на шустреньком матричном (Epson LQ 24-pin) принтере.
В вашем же случае, можно посоветовать один раз сгенерировать логотип, и сохранить его в виде ESC-команд в текстовом файлике, который потом нужно будет просто скопировать в LPT-порт.