5

У меня есть устройство/устройство, для которого вы не можете установить драйверы. Я хотел бы добавить возможность поддерживать сетевые/IPP/AirPrint принтеры, добавив пользователю IP-адреса.Печать с использованием IPP без драйверов (клиент IPP)

Поскольку я не печатаю через окна (которые будут использовать IPP), как я могу использовать IPP самостоятельно? Есть ли клиент C# (или любая библиотека Windows), позволяющая вам взаимодействовать с IPP-принтерами с протоколом IPP?

+0

Я смотрю в одно и то же. Я выяснил основы печати UPnP, но пока смотрю на IPP/AirPrint с небольшим успехом. Обновите свой пост, если вы достигнете какого-либо прогресса. – earthling

+0

сделаю. В Интернете буквально НИЧЕГО. Apple является супер-закрытым о фактическом сетевом контракте между принтером/устройством. Я ничего не могу найти в IPP. Я где-то читал, что AirPrint является расширением IPP, поэтому, если мы можем узнать о IPP, тогда мы должны быть золотыми. –

+0

Дайте мне знать, если вы найдете что-нибудь еще. –

ответ

4

Существует несколько реализаций IPP-Client и библиотек IPP, доступных для разных языков программирования (java/php/python).

практическое решение могло бы использовать имеющиеся ipptool на http://cups.org/software.php

создать ipp-command-file называется printfile.ipp:

{ 
OPERATION Print-Job 
GROUP operation-attributes-tag 
ATTR charset attributes-charset utf-8 
ATTR language attributes-natural-language en 
ATTR uri printer-uri $uri 
FILE $filename 
} 

Теперь вы должны быть в состоянии напечатать файл PDF, используя следующие параметры:

ipptool -tv -f mydoc.pdf ipp://192.168.2.207/printers/color_A4 printfile.ipp

Убедитесь, что t принтер (или сервер печати) поддерживает формат документа, который вы отправляете. Я предполагаю, что вы знакомы с тем, как выполнять внешнюю команду в своем приложении.

(Даже если ipptool обеспечивается CUPS он отлично работает с любым принтером IPP. Проверьте RFC 3510 или ваши принтеры документации для соответствующего принтера-Uri-схемы)

+1

Принтеру не нужно * «поддерживать формат документа, который вы отправляете». *! *** CUPS ***, который должен поддерживать формат документа. (В вашей командной строке вы указываете, что вы печатаете через сервер CUPS, а не напрямую на принтер IPP - почему еще вы использовали бы «' ipp: // localhost/printers/laser' »как URI?). CUPS автоматически напечатает файл, который вы отправили, и автоматически создаст подходящую цепочку фильтрации формата файла, чтобы создать тип файла заданий, который требуется принтеру. Вы можете отправить PDF с помощью 'ipptool', а целевым принтером может быть устройство PCL. CUPS позаботится о необходимых переводах .... –

+0

Оригинальный вопрос Павла не связан с CUPS. Верно, что некоторые (более качественные) принтеры или серверы печати используют 'application/octet-stream' как формат по умолчанию-документ и поэтому должны автоматически вводить полученные данные. Печать без драйверов лучше всего работает с PDF и принтерами, которые принимают PDF (например, LaserJet M175nw или imagePRESS C7010VP). Использование CUPS нельзя считать печатью без драйвера, так как сам CUPS всегда нужен «драйвер» или фильтр. Люди, задающие вопросы о IPP или «водительской печати», обычно избегают промежуточного программного обеспечения, такого как CUPS. –

+0

* «Оригинальный вопрос Павла не связан с CUPS». * Правда. - Однако ваш ответ предполагает, что работа проходит через CUPS. Используемая вами схема URI IPP не соответствует *** ЛЮБОЙ *** URI устройства печати IPP, который я знаю (и знаю более сотни). Но это соответствует тому, что использует CUPS. –

Смежные вопросы