Печать через IPP (зачем там загрузка драйверов на клиенте?)
Модератор: Модераторы разделов
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Печать через IPP
Здравствуйте, такой несколько бестолковый вопросик. В интернетах читаю мануалы про настройку печати через IPP и там говорят про необходимость установки принтерного драйвера на компьютере, который соединяется по данному протоколу с удаленным принтером. Мне не ясно - зачем. IPP ж абстрагирован от протоколов уровня драйвера?
-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
Абстрагирован в том смысле, что ничего о нём не знает. Знать должна сторона, отправляющая запрос на печать.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Хм. Может просто я не точно выразилась. Имеем ситуацию - капс сервер на компьютере, к которому подключен скажем hp1020 по usb, а также капс-клиент на другом компьютере этой же лвс. Разве капс с компьютера-клиента не может просто передать post/ghost-script файл (или что там еще) на капс-сервер, который уже владеет всей информацией (о драйвере в т.ч.) касательно конкретного принтера, к нему подключенного. Клиенту конечно нужно знать о характеристиках принтера для правильного формирования данных на печать, но зачем ему иметь драйвер этого удаленного принтера?? Или под "установкой драйвера" имеется ввиду именно выбор того или иного профиля принтера, а не установка исполняемого кода?
-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
Тут, видимо, проблема в терминологической путанице. Под "драйвером" в данном случае понимается не программа, взаимодействующая с устройством, а фильтр - программа, преобразовывающая документ postscript в понятную для данного конкретного принтера форму. Этот фильтр может работать или на серверной, или и на клиентской стороне. Если он настроен на стороне CUPS, то клиент может использовать удалённый принтер как обычный postscript-принтер без установки дополнительного "драйвера", в противном случае нужно ставить "драйвер" на клиенте. А самому протоколу IPP без разницы, что передавать.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Bizdelnick писал(а): ↑13.07.2014 11:47Тут, видимо, проблема в терминологической путанице. Под "драйвером" в данном случае понимается не программа, взаимодействующая с устройством, а фильтр - программа, преобразовывающая документ postscript в понятную для данного конкретного принтера форму. Этот фильтр может работать или на серверной, или и на клиентской стороне. Если он настроен на стороне CUPS, то клиент может использовать удалённый принтер как обычный postscript-принтер без установки дополнительного "драйвера", в противном случае нужно ставить "драйвер" на клиенте. А самому протоколу IPP без разницы, что передавать.
Я правильно понимаю, что если даже язык принтера (на котором он понимает документ на печать) будет одинаков для неких двух моделей, то драйвера (именно те, которые взаимодействуют с устройством) могут быть разными? Может быть такая ситуация, что есть postscript принтер (интерпретирующий его непосредственно сам), но пользователь все-равно будет зависить от драйвера и в случае отсутствия оного для Linux-ов, на последних такой принтер не будет работать?
-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
QWERTYASDF писал(а): ↑17.07.2014 01:53Я правильно понимаю, что если даже язык принтера (на котором он понимает документ на печать) будет одинаков для неких двух моделей, то драйвера (именно те, которые взаимодействуют с устройством) могут быть разными?
Могут и для одного принтера быть несколько альтернативных драйверов. Или я неправильно понял вопрос?
QWERTYASDF писал(а): ↑17.07.2014 01:53Может быть такая ситуация, что есть postscript принтер (интерпретирующий его непосредственно сам), но пользователь все-равно будет зависить от драйвера и в случае отсутствия оного для Linux-ов, на последних такой принтер не будет работать?
Для работы PostScript-принтера не нужен фильтр. Если говорят о "драйвере" для него, то имеют в виду PPD-файл (wikipedia://PostScript Printer Description), который является простым текстовым файлом с описанием возможностей принтера; тут употребление термина "драйвер" уж совсем некорректно. Такой файл всегда поставляется производителем (или его можно получить путём конвертации из файла, предназначенного для Windows), так что ситуация "отсутствия драйвера для Linux" в принципе невозможна.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Bizdelnick
Спасибо, мне стало понятно : )
Спасибо, мне стало понятно : )
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
А что такое "back-end"?


-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Подскажите, пожалуйста, правильно ли я понимаю следующий момент. PS, PCL, EPS и т.п. принтеры имеют в себе интерпретатор соответствующих языков и память, в которую загружается PS, PCL, EPS etc - документ, после чего начинается его обработка (интерпретация)? Соответственно, противоположно им, есть "GDI" принтеры - для них нужен уникальный "back-end" - драйвер, посылающий примитивные (низкоуровневые) программы для принтерного железа?
-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
Не бэкенд, а фильтр.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Но такой фильтр выдает на принтер именно низкоуровневые (относительно PS и т.п.) команды? Просто я пытаюсь понять в чем отличие GDI принтеров от не GDI. Как понимаю, там все делает драйвер (драйвер-фильтр) и подсовывает на принтер уже атомарные железные команды, когда в случае PS или PCL на принтер передается документ (или его части) с абстрактным кодом?
-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
Фильтр непосредственно на принтер ничего не выдаёт, этим как раз занимается бэкенд. Фильтр подготавливает то, что бэкенд должен послать принтеру. Насколько там низкоуровневые команды - зависит уже от конкретной модели принтера.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Ну ок, в любом случае есть фильтр, есть бакэнд-драйвер в случае например PCL и GDI принтеров. А чем принципиально одно отличается от другого?
-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
На самом деле всё сложнее. Может быть и не один фильтр, а несколько последовательно применяемых. И бэкенд, по сути, тоже можно считать фильтром, только он всегда последний в цепочке.
Принципиальное отличие в том, насколько хитрым и специализированным должен быть фильтр (фильтры).
Принципиальное отличие в том, насколько хитрым и специализированным должен быть фильтр (фильтры).
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Мне все-равно не понятно : (
Как я вижу ситуацию. GDI - это язык описания печати, разработанный MS. Только в отличие от PCL или PS он состоит из примитивных команд вывода на печать точек. GDI-инструкции идут от цепочки драйверов/фильтров на компьютере к устройству-принтеру, и он их выполняет. Правда, насколько это "атомарные" инструкции, я не понимаю, но в любом случае на принтер передаются команды вывода уже растрового формата (точек). Т.е. первый, и самый основной момент отличия - в том, что преобразование в растр происходит на стороне компьютера. В остальном, как понимаю, язык GDI является открытым (в плане того, что известны его команды управления) а посему теоретически любой GDI принтер должен на любой системе, как в Windows, так и в UNIX-ах печатать по крайней мере простой текст без какого-то специфического для данной модели принтера ПО?...
Как я вижу ситуацию. GDI - это язык описания печати, разработанный MS. Только в отличие от PCL или PS он состоит из примитивных команд вывода на печать точек. GDI-инструкции идут от цепочки драйверов/фильтров на компьютере к устройству-принтеру, и он их выполняет. Правда, насколько это "атомарные" инструкции, я не понимаю, но в любом случае на принтер передаются команды вывода уже растрового формата (точек). Т.е. первый, и самый основной момент отличия - в том, что преобразование в растр происходит на стороне компьютера. В остальном, как понимаю, язык GDI является открытым (в плане того, что известны его команды управления) а посему теоретически любой GDI принтер должен на любой системе, как в Windows, так и в UNIX-ах печатать по крайней мере простой текст без какого-то специфического для данной модели принтера ПО?...
-
- Модератор
- Сообщения: 21250
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Печать через IPP
GDI - это не то, что идёт к принтеру. Это то, что идёт к виндовому драйверу принтера, который уже преобразует это хозяйство в команды, понятные принтеру. В итоге очень сложно сделать путём реверс-инженеринга фильтр для CUPS: на входе - вызовы GDI (это не язык, а API), на выходе - двоичные данные.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 989
- Статус: Чайник со свистком
- ОС: GNU/Linux
Re: Печать через IPP
Ага, теперь, кажется, поняла : ) Для каждого такого GDI-принтера нужен свой (коммерческий и закрытый) драйвер-фильтр от производителя, который и дергается GDI-API, которое в свою очередь дергается в Windows-ах приложением, хотящим печатать.
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: Печать через IPP
GDI-принтер не имеет собственного процессора. Эта забота возложена на ОС и драйвер.QWERTYASDF писал(а): ↑23.07.2014 22:03Ну ок, в любом случае есть фильтр, есть бакэнд-драйвер в случае например PCL и GDI принтеров. А чем принципиально одно отличается от другого?
PostScript-принтеры оснащены процессорами и поэтому могут самостоятельно обрабатывать PS-файлы (напрямую).
То есть по сути, для PS-принтера можно сделать нечто в таком роде
Код: Выделить всё
cat file.ps >/dev/printer
С GDI-принтером такое не сработает в принципе.
Спасибо сказали: