Печать через IPP (зачем там загрузка драйверов на клиенте?)

Здесь можно поговорить о чём угодно и сколько угодно.

Модератор: Модераторы разделов

QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Печать через IPP

Сообщение QWERTYASDF »

Здравствуйте, такой несколько бестолковый вопросик. В интернетах читаю мануалы про настройку печати через IPP и там говорят про необходимость установки принтерного драйвера на компьютере, который соединяется по данному протоколу с удаленным принтером. Мне не ясно - зачем. IPP ж абстрагирован от протоколов уровня драйвера?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

Абстрагирован в том смысле, что ничего о нём не знает. Знать должна сторона, отправляющая запрос на печать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Хм. Может просто я не точно выразилась. Имеем ситуацию - капс сервер на компьютере, к которому подключен скажем hp1020 по usb, а также капс-клиент на другом компьютере этой же лвс. Разве капс с компьютера-клиента не может просто передать post/ghost-script файл (или что там еще) на капс-сервер, который уже владеет всей информацией (о драйвере в т.ч.) касательно конкретного принтера, к нему подключенного. Клиенту конечно нужно знать о характеристиках принтера для правильного формирования данных на печать, но зачем ему иметь драйвер этого удаленного принтера?? Или под "установкой драйвера" имеется ввиду именно выбор того или иного профиля принтера, а не установка исполняемого кода?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

Тут, видимо, проблема в терминологической путанице. Под "драйвером" в данном случае понимается не программа, взаимодействующая с устройством, а фильтр - программа, преобразовывающая документ postscript в понятную для данного конкретного принтера форму. Этот фильтр может работать или на серверной, или и на клиентской стороне. Если он настроен на стороне CUPS, то клиент может использовать удалённый принтер как обычный postscript-принтер без установки дополнительного "драйвера", в противном случае нужно ставить "драйвер" на клиенте. А самому протоколу IPP без разницы, что передавать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Bizdelnick писал(а):
13.07.2014 11:47
Тут, видимо, проблема в терминологической путанице. Под "драйвером" в данном случае понимается не программа, взаимодействующая с устройством, а фильтр - программа, преобразовывающая документ postscript в понятную для данного конкретного принтера форму. Этот фильтр может работать или на серверной, или и на клиентской стороне. Если он настроен на стороне CUPS, то клиент может использовать удалённый принтер как обычный postscript-принтер без установки дополнительного "драйвера", в противном случае нужно ставить "драйвер" на клиенте. А самому протоколу IPP без разницы, что передавать.


Я правильно понимаю, что если даже язык принтера (на котором он понимает документ на печать) будет одинаков для неких двух моделей, то драйвера (именно те, которые взаимодействуют с устройством) могут быть разными? Может быть такая ситуация, что есть postscript принтер (интерпретирующий его непосредственно сам), но пользователь все-равно будет зависить от драйвера и в случае отсутствия оного для Linux-ов, на последних такой принтер не будет работать?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

QWERTYASDF писал(а):
17.07.2014 01:53
Я правильно понимаю, что если даже язык принтера (на котором он понимает документ на печать) будет одинаков для неких двух моделей, то драйвера (именно те, которые взаимодействуют с устройством) могут быть разными?

Могут и для одного принтера быть несколько альтернативных драйверов. Или я неправильно понял вопрос?

QWERTYASDF писал(а):
17.07.2014 01:53
Может быть такая ситуация, что есть postscript принтер (интерпретирующий его непосредственно сам), но пользователь все-равно будет зависить от драйвера и в случае отсутствия оного для Linux-ов, на последних такой принтер не будет работать?

Для работы PostScript-принтера не нужен фильтр. Если говорят о "драйвере" для него, то имеют в виду PPD-файл (wikipedia://PostScript Printer Description), который является простым текстовым файлом с описанием возможностей принтера; тут употребление термина "драйвер" уж совсем некорректно. Такой файл всегда поставляется производителем (или его можно получить путём конвертации из файла, предназначенного для Windows), так что ситуация "отсутствия драйвера для Linux" в принципе невозможна.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Bizdelnick
Спасибо, мне стало понятно : )
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

А что такое "back-end"?
Изображение
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Печать через IPP

Сообщение Hephaestus »

QWERTYASDF писал(а):
18.07.2014 02:16
А что такое "back-end"?
Это как раз "драйвер" в смысле взаимодействия с устройством.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Подскажите, пожалуйста, правильно ли я понимаю следующий момент. PS, PCL, EPS и т.п. принтеры имеют в себе интерпретатор соответствующих языков и память, в которую загружается PS, PCL, EPS etc - документ, после чего начинается его обработка (интерпретация)? Соответственно, противоположно им, есть "GDI" принтеры - для них нужен уникальный "back-end" - драйвер, посылающий примитивные (низкоуровневые) программы для принтерного железа?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

QWERTYASDF писал(а):
23.07.2014 18:47
для них нужен уникальный "back-end"

Не бэкенд, а фильтр.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Но такой фильтр выдает на принтер именно низкоуровневые (относительно PS и т.п.) команды? Просто я пытаюсь понять в чем отличие GDI принтеров от не GDI. Как понимаю, там все делает драйвер (драйвер-фильтр) и подсовывает на принтер уже атомарные железные команды, когда в случае PS или PCL на принтер передается документ (или его части) с абстрактным кодом?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

Фильтр непосредственно на принтер ничего не выдаёт, этим как раз занимается бэкенд. Фильтр подготавливает то, что бэкенд должен послать принтеру. Насколько там низкоуровневые команды - зависит уже от конкретной модели принтера.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Ну ок, в любом случае есть фильтр, есть бакэнд-драйвер в случае например PCL и GDI принтеров. А чем принципиально одно отличается от другого?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

На самом деле всё сложнее. Может быть и не один фильтр, а несколько последовательно применяемых. И бэкенд, по сути, тоже можно считать фильтром, только он всегда последний в цепочке.
Принципиальное отличие в том, насколько хитрым и специализированным должен быть фильтр (фильтры).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Мне все-равно не понятно : (

Как я вижу ситуацию. GDI - это язык описания печати, разработанный MS. Только в отличие от PCL или PS он состоит из примитивных команд вывода на печать точек. GDI-инструкции идут от цепочки драйверов/фильтров на компьютере к устройству-принтеру, и он их выполняет. Правда, насколько это "атомарные" инструкции, я не понимаю, но в любом случае на принтер передаются команды вывода уже растрового формата (точек). Т.е. первый, и самый основной момент отличия - в том, что преобразование в растр происходит на стороне компьютера. В остальном, как понимаю, язык GDI является открытым (в плане того, что известны его команды управления) а посему теоретически любой GDI принтер должен на любой системе, как в Windows, так и в UNIX-ах печатать по крайней мере простой текст без какого-то специфического для данной модели принтера ПО?...
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21250
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Печать через IPP

Сообщение Bizdelnick »

GDI - это не то, что идёт к принтеру. Это то, что идёт к виндовому драйверу принтера, который уже преобразует это хозяйство в команды, понятные принтеру. В итоге очень сложно сделать путём реверс-инженеринга фильтр для CUPS: на входе - вызовы GDI (это не язык, а API), на выходе - двоичные данные.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Печать через IPP

Сообщение QWERTYASDF »

Ага, теперь, кажется, поняла : ) Для каждого такого GDI-принтера нужен свой (коммерческий и закрытый) драйвер-фильтр от производителя, который и дергается GDI-API, которое в свою очередь дергается в Windows-ах приложением, хотящим печатать.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Печать через IPP

Сообщение Hephaestus »

QWERTYASDF писал(а):
23.07.2014 22:03
Ну ок, в любом случае есть фильтр, есть бакэнд-драйвер в случае например PCL и GDI принтеров. А чем принципиально одно отличается от другого?
GDI-принтер не имеет собственного процессора. Эта забота возложена на ОС и драйвер.
PostScript-принтеры оснащены процессорами и поэтому могут самостоятельно обрабатывать PS-файлы (напрямую).
То есть по сути, для PS-принтера можно сделать нечто в таком роде

Код: Выделить всё

cat file.ps >/dev/printer
и оно нормально напечатается (правда в нынешних системах может не получиться из-за USB, но это отдельная тема).
С GDI-принтером такое не сработает в принципе.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали: