Важная информация

User Tag List

Показано с 1 по 4 из 4

Тема: Эмулятор матричного принтера

  1. #1
    Activist Аватар для GARNIZON
    Регистрация
    12.02.2008
    Адрес
    S-Posad
    Сообщений
    471
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    33 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Эмулятор матричного принтера

    Подскажите, какие эмуляторы имеют модуль принтера?

    Скажем эмулятора Агата умеет печтатать на совремемнный принтер или в PDF с сохранением форматирования документа.
    Шрифты уже современные - высокого разрешения. Это конечно красиво но не тру...

    Есть идея сделать некий черный ящик для различных эмуляторов, которому на вход подаётся ESC/P последовательность байт, а на выходе получается картинка распечатки. Эмулировать принтерные иголки... Но это довольно большая задача, такого качества эмуляцию сделать.

    Это надо принтерную фирмварю и процессор эмулировать -- тогда всё идеально будет.
    Но может быть это все уже где-то есть? подскажите.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,223
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GARNIZON Посмотреть сообщение
    Есть идея сделать некий черный ящик для различных эмуляторов, которому на вход подаётся ESC/P последовательность байт, а на выходе получается картинка распечатки. Эмулировать принтерные иголки... Но это довольно большая задача, такого качества эмуляцию сделать.
    А вот это не устроит?
    https://github.com/nzeemin/ukncbtl-u...ster/ESCParser
    Эмуляция команд ESC/P, ближе всего к Robotron CM 6329.01M.
    Умеет выдавать PS, SVG (только одна страница) и PDF.
    Переносимый код, компилируется под Windows/Linux/Mac.

    - - - Updated - - -

    Ещё похожие инструменты:
    https://github.com/christopherkobaya...stener/epsonps
    https://github.com/zub2/dotprint

  4. Этот пользователь поблагодарил nzeemin за это полезное сообщение:

    GARNIZON (30.07.2021)

  5. #3
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,165
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    428
    Поблагодарили
    175 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nzeemin Посмотреть сообщение
    https://github.com/nzeemin/ukncbtl-u...ster/ESCParser
    nzeemin, можно пару замечаний, выявленных в процессе использования парсера?

    1. Команда ESC S0/S1 - включение режима верхнего или нижнго индекса. Сейчас В качестве параметра, следующего за 'S' воспринимается только 0x00 либо 0x01, в то же время как стандарт esc/p от Epson говорит, что допустимы также 0x30 и 0x31 ('0' и '1'):
    Код:
    n = 1 or 49 Lower part of the character space
        0 or 48 Upper part of the character space
    В руководстве к СМ6329 этот нюанс не описан.
    Проблема обнаружилась при анализе печати из графического редактора chiworker для Корвета.

    2. Команда ESC K - включение графического режима одинарной плотности.
    Поскольку упоминается Robotron CM 6329, то речь скорее всего идет об эмуляции 9-игольчатых принтеров, которые имеют шаг иголок 72 dpi.
    В руководстве к Роботрону также упоминается. что его шаг между точками по вертикали - 1/72 дюйма.
    И в руководстве от epson видим, что горизонтальная плотность для команды ESC K для 9-игольчатых принтеров должна составлять 60 dpi, а вертикальная - 72:
    Prints bit-image graphics in 8-dot columns, at a density of 60 horizontal by 72 vertical dpi
    ESCParser же эмулирует вертикальное разрешение в 60 dpi, а не 72. Проблема проявилась при анализе печати скриншотов экрана "Львова". Команда ESC '1', которая должна задавать межстрочное расстояние в 7/72, то есть 7 точек с dpi 72, фактически задает примерно 5,8 точек с dpi 60.
    Не анализировал реализацию других команд графики и текста в ESCParser, возможно, есть подобная проблема и с другими командами.

  6. Этот пользователь поблагодарил Pyk за это полезное сообщение:

    nzeemin (12.11.2022)

  7. #4
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Москва
    Сообщений
    1,995
    Спасибо Благодарностей отдано 
    1,059
    Спасибо Благодарностей получено 
    1,223
    Поблагодарили
    478 сообщений
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Pyk, по пункту 1 - спасибо, исправлю.

    По п. 2 - у меня есть комментарий в коде:
    Код:
                    /* 12 соответствует 1/60 inch... На самом деле расстояние между иглами у
                    9-pin dot matrix printers = 1/72 inch, но при эмуляции на 24-pin принимается 1/60 */
    Подумаю над этим попозже.

    По п.1 поправил, приложил тут обновлённую версию.
    Вложения Вложения
    Последний раз редактировалось nzeemin; 13.11.2022 в 00:13.

  8. Эти 2 пользователя(ей) поблагодарили nzeemin за это полезное сообщение:

    Pyk (13.11.2022), Rus (14.11.2022)

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 22
    Последнее: 23.11.2020, 00:26
  2. подключение принтера к zx-spectrum
    от zorel в разделе Для начинающих
    Ответов: 13
    Последнее: 05.01.2012, 01:30
  3. Подключение принтера D-100 к PC
    от Def191 в разделе Зарубежные компьютеры
    Ответов: 10
    Последнее: 11.04.2011, 11:17
  4. порт принтера?
    от Atari в разделе Несортированное железо
    Ответов: 0
    Последнее: 03.04.2011, 17:13
  5. ПЗУ принтера
    от DATAsoft в разделе Память
    Ответов: 4
    Последнее: 16.04.2009, 23:15

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •