powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
19 сообщений из 19, страница 1 из 1
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38524743
Кантачес
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понял схему:
Документ (например, word) преобразуется в postscript -->универсальное winAPI-->дальше принтер рендерит postscript-код.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38524780
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КантачесПравильно ли я понял схему:
Документ (например, word) преобразуется в postscript -->универсальное winAPI-->дальше принтер рендерит postscript-код.Не обязательно. В винде приложение может просто накидать примитивы в device context принтера и получить страницу в очереди печати, не заботясь о внутреннем фарше. Если хочется попреобразовывать самостоятельно, то кроме PS популярны ещё как минимум PCL и DVI, но если вы задаёте этот вопрос --- не лезьте в дебри, просто пишите в device context.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38524819
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КантачесДокумент (например, word) преобразуется в postscript
перебор. Если шибко нужно - по нынешним временам - в pdf


--------------------------------------------------------------
дополнительно для гугленья - xps,emf,wmf




iv_an_ruВ винде приложение может просто накидать примитивы в device context принтера и получить страницу в очереди печати, не заботясь о внутреннем фарше
для 99.9% офисных задач - выше крыши
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38524830
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КантачесПравильно ли я понял схему:
Документ (например, word) преобразуется в postscript -->универсальное winAPI-->дальше принтер рендерит postscript-код.
PostScript только постскрипт-принтеры обрабатывают. Они дорогие и не очень распространены. В принципе, любой принтер можно превратить в постскрипт программным образом.
На самом деле, всё происходит гораздо проще.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38524855
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю в последнее время больше функционала по рендерингу
контекста перенесли в окружение ОС (драйвер) а PostScript уходит в небытие
как рудимент.

Да и "перепрошить" ОС гораздо дешевле чем принтер. Это такая правда жизни.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38524859
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonPostScript уходит в небытие
как рудимент.
в издательском деле его заменили на pdf
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38524873
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНасколько я понимаю в последнее время больше функционала по рендерингу
контекста перенесли в окружение ОС (драйвер) а PostScript уходит в небытие
как рудимент.Только если смотреть на дешёвые хост-принтеры.
Любой мало-мальски приличный "аппаратный" принтер умеет и PS разных уровней и PDF.

P.S. Сталкивался с ситуациями, когда вывод через PS-драйвер работал, а через PCL - глючил. На одном и том же HP-принтере, для которого PCL, по идее должен быть "самым родным".
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38525195
Кантачес
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно по шагам?
Между программой и принтером есть: ОС (Device Context), драйвер принтера. Можно отправить либо в DC, либо в драйвер принтера. Но если отправлять сразу в драйвер, то нужно перекодировать документ либо в pdf, либо в postscript, либо в другие форматы, которые понимает драйвер.
Так?
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38525217
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контекст есть и у монитора и у принтера. И программе, по сути, без разницы куда рисовать: используется одинаковый подход (код) в обоих случаях. Разница будет в разрешении (пикселях).
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38525231
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кантачес,

ход мысли - верный, с терминами - похуже.

драйвер принтера занимается преобразованием команд DC в команды устройства

Если приложение само формирует команды принтера, оно отправляет их уже не драйверу, а в порт принтера или спулер, а может и просто по TCP/IP послать их
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38525527
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нравилась такая линуксовая тема. На рабочей станции где есть драйвер ты печатаешь
в файл. А потом на любой станции даже где драйвера нет но подключен принтер ты делаешь
COPY A:\OUTPUT.PRN /B \\Computer_Name\Printer_Share_Name или
тоже самое линуксе в своём формате.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38525736
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

спулер позволяет обходиться без команды copy

да и массу других задач решает
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38525907
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНа рабочей станции где есть драйвер ты печатаешь в файл. А потом на любой станции даже где драйвера нет но подключен принтер ты делаешь
COPY A:\OUTPUT.PRN /B \\Computer_Name\Printer_Share_Name или
тоже самое линуксе в своём формате.Кучка извратов для того, что в системе печати OS/2 делалось простым дрыг-н-дрыгом.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38525982
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovmaytonНа рабочей станции где есть драйвер ты печатаешь в файл. А потом на любой станции даже где драйвера нет но подключен принтер ты делаешь
COPY A:\OUTPUT.PRN /B \\Computer_Name\Printer_Share_Name или
тоже самое линуксе в своём формате.Кучка извратов для того, что в системе печати OS/2 делалось простым дрыг-н-дрыгом.
Не понял. Что там в OS/2 делалось?
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38526003
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЧто там в OS/2 делалось?Кидаем файл на объект рабочего стола и получаем вопрос: "Текстовый или бинарный?"
Если выбираем текст - печатается заданными шрифтами и в нужном числе полос, если бинарь - данные просто гонятся на принтер.
Из комстроки - тоже можно было. Причём вне зависимости от наличия или отсутствия служб сервера и рабочей станции.
Работало уже в OS/2 Warp образца 1994 года.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38526136
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovmaytonЧто там в OS/2 делалось?Кидаем файл на объект рабочего стола и получаем вопрос: "Текстовый или бинарный?"
Если выбираем текст - печатается заданными шрифтами и в нужном числе полос, если бинарь - данные просто гонятся на принтер.
Из комстроки - тоже можно было. Причём вне зависимости от наличия или отсутствия служб сервера и рабочей станции.
Работало уже в OS/2 Warp образца 1994 года.
Брат. Это страшное колдунство!
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38541471
Кантачес
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилЕсли приложение само формирует команды принтера, оно отправляет их уже не драйверу, а в порт принтера или спулер
То есть, если я не хочу сам возиться с преобразованием документа, то я отправляю его в Device Context, а если хочу - преобразую в PS, PCL, DVI или pdf и отправляю в порт принтера?

А в порту что находится, кому такой код передаётся? Внутри принтера так же есть драйвера, для работы с такими "низкоуровневыми" кодами? Я думал вся логика - в драйвере принтера в ОС.
Basil A. SidorovP.S. Сталкивался с ситуациями, когда вывод через PS-драйвер работал, а через PCL - глючил. На одном и том же HP-принтере, для которого PCL, по идее должен быть "самым родным".
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38542806
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КантачесА в порту что находится, кому такой код передаётся? Внутри принтера так же есть драйвера, для работы с такими "низкоуровневыми" кодами?Внутри тупого "винпринтера" нет ничего, он получает команды "покрути ту шестерёнку на столько-то зубчиков" и "плюй чернилами из вот этих дюз в этом порядке". При попытке отправить в такой порт PS или PCL будет фигня. Внутри нормального принтера есть мелкопроцессор, который крутит программу под названием RIP --- Raster Image Processor. Если принтер очень большой (типографский фотовыводитель) то RIP крутится не на микропроцессоре, а на вполне толстом интеле в большом отдельном ящике.
...
Рейтинг: 0 / 0
Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
    #38549023
Кантачес
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ru, понял. Теперь вопрос решён.
Всем спасибо за разъяснения.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как использовать любой принтер для вывода информации из своей программы (теор.,без кода)?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]