CUPS服务器编译为Windows?

是否有可用于Windows的CUPS服务器版本? 看着CUPS的源代码,它似乎已经准备好了Visual Studio编译,但我没有find任何实际支持包的踪迹。 我想在Windows上设置一个CUPS服务器,这样我就可以将Linux / MacOSX / Win客户端打印到我在此服务器上设置的打印机上。

您在CUPS源文件中看到的.sln.vcproj文件并不是要编译Windows的所有CUPS文件。

它们仅用于编译其一些实用程序(如ipptool.exe )…

在Windows上制作完整的CUPS服务器+过滤代码将是一项艰巨的任务,因为Windows假脱机和打印与Unix世界有很大不同。

CUPS使用Internet打印协议进行客户端 – 服务器通信。 根据Technet的文章 ,Windows可以用作IPP主机:

要使运行Windows server 2008的计算机充当支持Internet打印的服务器,必须在打印服务角色中安装Web服务器(IIS)角色,打印服务角色和Internet打印角色服务。

而且,Windows,Linux和Mac OS X客户端似乎可以使用通过SMB共享的打印机。

我有一个新的答案给你:

  1. 一段时间以来,在GitHub上有一个名为ippsample的项目。 它正在慢慢接近成熟的1.0版本。

  2. 以下是强制README文件中给出的自描述的前两个句子:

    “这段代码提供了IPP客户端,打印机和代理的示例实现, 主要基于CUPS软件,对ippproxy和ippserver实现进行了大量更改,使其更具通用性和可配置性。 (我的重点)

  3. 该项目由ISTO Printer Working Group (PWG)主持,该组织是开发和推广IPP作为通用标准的同一行业组织。

  4. IPP示例项目的ippserveripptoolippfindippproxyipptransform组件共同组成了符合标准的IPP Everywhere实现,涵盖了客户端以及服务器端的打印。

  5. IPP Sample项目的GitHub代码由同样开发CUPS的Mike Sweet维护 – 所以它是真实的。

  6. 是的,它在Windows上很好地编译和工作,还有一堆.vclxproj.sln文件可以使MS Visual Studio的构建过程尽可能流畅。

  7. 是的,IPP示例代码正在运行,并且可以打印到运行在macOS上的任何混合的Linux上的CUPS服务器(或从那里接收打印作业)。

  8. 不,这还不是一个完全成熟的适用于Windows的CUPS服务器,可以作为Windows打印服务器的替代品。 它没有与所有需要的功能。

  9. 但是,如果你想创造这样一个野兽:

    • 这是你不得不先打个招呼的地方,
    • 这是你可能分叉的代码,并开始添加功能,以获得你想要去的地方。
  10. 哦,你是否知道, 苹果最近改变了CUPS的许可条件,并使其更加宽容,从GPL2转向Apache 2.0许可?

  11. 你从来没有听说过“IPP Everywhere”吗? 这是“无人驾驶”印刷的未来。

  12. 从来没有听说过“无人驾驶印刷” ? 它已经作为iPhone和iPad设备的“Apple AirPrint”实施了一个稍微修改(和精简)的版本。

  13. 目前,基于CUPS的打印栈的实现包括最近转移到GitHub的cups-drivers项目中的新代码。 这个新的代码实现了IPP Everywhere功能。

  14. 这个cups-filters项目是由Linux基金会的OpenPrinting部门管理的 ,自从苹果公司将这些原始的CUPS源代码部分移交给它们时,它们就不再用于macOS,但对Linux依然重要。

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

    • 让设备在本地网络中自动通知他们的存在及其服务类型。 使用IETF标准协议mDNSDNS-SD (在macOS下以“Bonjour”名称实现,在Linux中以“Avahi”实现 )注意所提供的服务。

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

    • 那么……在这样的环境下,你需要一个特定的“打印机驱动程序”? 一切和每个人都可以创建PDF文件。 检查! 无需将设备特定的转换为任何其他打印语言。

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

    • IPP Everywhere打印机型号列表