CUPS Server скомпилирован для Windows? - PullRequest
10 голосов
/ 16 мая 2010

Существует ли версия сервера CUPS для Windows? Глядя на исходный код CUPS, кажется, что он готов для компиляции Visual Studio, но я не нашел никаких следов реального поддерживаемого пакета. Я хотел бы настроить сервер CUPS в Windows, чтобы я мог печатать с клиентов Linux / MacOSX / Win на принтерах, настроенных на этом сервере.

Ответы [ 3 ]

5 голосов
/ 24 ноября 2017

У меня для вас новый ответ:

  1. С некоторого времени на GitHub существует проект под названием ippsample. Он медленно приближается к зрелой версии 1.0.

  2. Вот первые два предложения данного самоописания в обязательном файле README:

    "Этот код предоставляет примеры реализаций клиентов, принтеров и прокси-серверов IPP. Он в значительной степени основан на программном обеспечении CUPS с существенными изменениями в реализациях ippproxy и ippserver, чтобы сделать их более общими -целевой и настраиваемый. " (мой акцент)

  3. Этот проект организован ISTO Printer Working Group (PWG), той же отраслевой организацией, которая разрабатывает и продвигает IPP в качестве общего стандарта.

  4. Компоненты ippserver, ipptool, ippfind, ippproxy и ipptransform примера проекта IPP вместе составляют стандарт 10 * *IPP Everywhere реализация, охватывающая как клиентскую, так и серверную часть печати. ​​

  5. Код GitHub для примера проекта IPP поддерживается тем же Майком Свитом, который также разрабатывает CUPS - так что это реальная вещь.

  6. Да, он хорошо компилируется и работает в Windows, и есть набор .vclxproj и .sln файлов , доступных для сделать процесс сборки в MS Visual Studio как можно более плавным.

  7. Да, пример кода IPP работает и может печатать на сервере CUPS (или получать от него задания на печать), работающем в macOS или любой смеси Linux.

  8. Нет, это еще не полноценный сервер CUPS для Windows, который может служить заменой для сервера печати Windows. У него нет ВСЕХ функций, которые могут потребоваться.

  9. Но если вы хотите создать такого зверя:

    • это место, где вы должны были бы сначала побродить;
    • это то место, где вы, возможно, могли бы раскошелиться и начать добавлять функциональность, чтобы получить то, что вы хотите.
  10. О, а вы знали, что Apple недавно изменила условия лицензии для CUPS и сделала ее более разрешительной, перейдя от GPL2 к лицензированию Apache 2.0?

  11. Вы никогда не слышали о "IPP Everywhere" раньше? Это будущее печати без водителя.

  12. Никогда не слышали о "печати без драйверов" ? Немного измененная (и урезанная) версия уже реализована как «Apple AirPrint» для устройств iPhone и iPad.

  13. Текущая реализация стека печати на основе CUPS включает новые фрагменты кода в проекте cups-drivers , который недавно был перемещен в GitHub. Этот новый код реализует функциональность IPP Everywhere.

  14. Этот проект cups-filters находится под управлением Отдела OpenPrinting Фонда Linux с тех пор, как Apple передала им эти части исходного кода CUPS, когда они стал более бесполезным для macOS, но все еще был важен для Linux.

  15. Каковы основные идеи печати без драйверов?

    • Устройства должны автоматически объявлять о своем присутствии и типе обслуживания в локальной сети. Используйте стандартные протоколы IETF mDNS и DNS-SD (которые реализованы в macOS под именем "Bonjour" и в Linux как "Avahi" ), чтобы принять к сведению предлагаемые услуги.

    • Сообщите клиентам печати, что они могут использовать протокол IPP для получения ответа на запрос при выполнении запроса get-printer-attributes. Этот запрос сообщит им, какой набор параметров печати поддерживают устройства. Клиенты печати могут затем показать точно настроенный диалог печати, чтобы показать пользователю печати выбор вариантов. Клиенту печати также сообщат, какие форматы отправки заданий поддерживает каждое устройство. Это ДОЛЖЕН быть PDF или простой растровый формат с именем "PWG-Raster" .

    • Итак ... где вам нужен конкретный "драйвер принтера" в такой среде? Все и каждый может создавать PDF документы в наше время. Проверьте! Нет необходимости в преобразовании конкретного устройства в любой другой язык печати. ​​

  16. Существуют ли принтеры, которые уже поддерживают IPP везде? Ах, да, посмотрите здесь - все они, как говорят, полностью соответствуют стандарту:

4 голосов
/ 06 июня 2010

Файлы .sln и .vcproj , которые вы видели в источниках CUPS, не предназначены для компиляции всего CUPS для Windows.

Они служат для компиляции только нескольких его утилит (например, ipptool.exe) ...

Создание полноценного сервера CUPS + фильтрация кода в Windows была бы непростой задачей, поскольку спулинг и печать в Windows сильно отличаются от мира Unix.

0 голосов
/ 06 июня 2010

CUPS использует протокол Интернет-печати для связи клиент-сервер. Согласно статье Technet , Windows может использоваться в качестве хоста IPP:

Чтобы включить компьютер под управлением Windows Server 2008 для работы в качестве сервера поддержка интернет-печати, вы должны установить роль веб-сервера (IIS), Роль службы печати и Интернет Роль службы печати в печати Роль службы.

Более того, кажется, что клиенты Windows, Linux и Mac OS X могут использовать принтеры, используемые совместно с SMB.

...