为 Windows 编译的 CUPS 服务器? [英] CUPS Server compiled for Windows?

查看:92
本文介绍了为 Windows 编译的 CUPS 服务器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有适用于 Windows 的 CUPS 服务器版本?查看 CUPS 源代码,它似乎已准备好进行 Visual Studio 编译,但我没有找到任何实际支持的包的痕迹.我想在 Windows 上设置 CUPS 服务器,以便我可以从 Linux/MacOSX/Win 客户端打印到我在此服务器上设置的打印机.

解决方案

我有一个新的答案给你:

  1. 从前有一个项目叫做 最近移至 GitHub.这个新代码实现了 IPP Everywhere 功能.

  2. 这个cups-filters 项目由 Linux 基金会的 OpenPrinting 部门 自从 Apple 将原始 CUPS 源代码的这些部分移交给他们后,当它们对 macOS 不再有用但对 Linux 仍然很重要时.

  3. 那么无人驾驶打印的基本思路是什么?

    • 让设备自动宣布它们在本地网络中的存在和它们的服务类型.使用 IETF 标准协议 mDNSDNS-SD(它们在 macOS 中以 Bonjour" 的名义实现,在 Linux 中实现为 Avahi") 以记录所提供的服务.

    • 告诉打印客户端,当他们发出 get-printer-attributes 请求时,他们可以使用 IPP 协议来获得查询响应.此请求将告诉他们设备支持哪些打印选项集.打印客户端然后可以显示精确定制的打印对话框以向打印用户显示选择的选择.打印客户端还将被告知每个设备支持哪些作业提交格式.这必须是 PDF 或称为 "PWG-Raster" 的简单光栅格式.

    • 那么……在这样的环境中,您在哪里需要特定的打印机驱动程序"?如今,每个人都可以创建 PDF 文档.查看!无需将特定设备转换为任何其他打印语言.

  4. 是否有支持 IPP Everywhere 的打印机?哦,是的,看这里——据说它们都完全符合标准:

Is there a version of the CUPS server available for Windows? Looking at the CUPS source code it seems it is ready for Visual Studio compilation, but I did not find any trace of an actual supported package. I'd like to set up a CUPS server on Windows so that I can print form Linux/MacOSX/Win clients to printers I set up on this server.

解决方案

I've got a new answer for you:

  1. Since some time there is a project called ippsample on GitHub. It's slowly approaching a mature version 1.0 release.

  2. Here are the first two sentences of given as self-description in the mandatory README file:

    "This code provides sample implementations of IPP Clients, Printers, and Proxies. It is largely based upon the CUPS software, with substantial changes to the ippproxy and ippserver implementations to make them more general-purpose and configurable." (my emphasis)

  3. This project is hosted by the ISTO Printer Working Group (PWG), the same industry organization which develops and promotes the IPP as a general standard.

  4. The ippserver, ipptool, ippfind, ippproxy and ipptransform components of the IPP Sample project together make up for a standard-conforming IPP Everywhere implementation, covering the client as well as the server side of printing.

  5. The GitHub code for IPP Sample project is maintained by the very same Mike Sweet who also develops CUPS -- so it's the real thing.

  6. Yes, it compiles and works nicely on Windows, and there are a bunch of .vclxproj and .sln files available to make the build process with MS Visual Studio as smooth as possible.

  7. Yes, the IPP Sample code is working and can print to a CUPS server (or receive print jobs from there) running on macOS or any blend of Linux.

  8. No, this is not yet a fully-blown CUPS server for Windows which can serve as a drop-in replacement for a Windows print server. It does not have with ALL the features which would be required.

  9. But if you want to create such a beast:

    • this is the place were you would have to poke around first;
    • this is were you possibly could fork the code and start adding functionality to get where you want to go.
  10. Oh, and did you know that Apple recently changed the license conditions for CUPS and made it more permissive, moving away from GPL2 to Apache 2.0 licensing?

  11. You have never heard of "IPP Everywhere" before? It is the future of "driverless" printing.

  12. Never heard of "driverless printing"? A slightly modified (and stripped down) version of it already implemented as "Apple AirPrint" for iPhone and iPad devices.

  13. The current implementation of the CUPS-based printing stack includes new pieces of code in the cups-drivers project which recently moved to GitHub. This new code implements IPP Everywhere functionality.

  14. This cups-filters project is under the stewardship by The Linux Foundation's OpenPrinting department ever since Apple handed over these parts of the original CUPS source code to them when they became no longer useful for macOS but were still important to Linux.

  15. What are the basic ideas of driverless printing then?

    • Have the devices automatically announce their presence and their type of service in the local network. Use the IETF standard protocols mDNS and DNS-SD (which are implemented in macOS under the name of "Bonjour" and in Linux as "Avahi") to take note of the offered services.

    • Tell the print clients that they can use the IPP protocol in order to get a query response when they make a get-printer-attributes request. This request will tell them which set of print options the devices support. The print clients can then show an exactly tailored print dialog to show to the printing user a selection of choices. The print client will also be told what job submission formats each devices supports. This MUST be either PDF or a simple raster format called "PWG-Raster".

    • So... where would you need a specific "printer driver" in such an environment? Everything and everyone can create PDF documents nowadays. Check! No need for a device-specific conversion to any other print language.

  16. Are there printers which support IPP Everywhere already? Oh yes, look here -- they are all said to be fully compliant with the standard:

这篇关于为 Windows 编译的 CUPS 服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆