为Windows编译的CUPS服务器?

时间:2010-05-16 17:59:13

标签: windows cups

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

4 个答案:

答案 0 :(得分:5)

我为你找到了新答案:

  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上编译并运行良好,并且有bunch of .vclxproj and .sln files可用于使MS Visual Studio的构建过程尽可能顺利。

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

  8. 不,这还不是一款完全成熟的Windows CUPS服务器,它可以作为Windows打印服务器的直接替代品。它没有所有必需的功能。

  9. 但如果你想创造这样的野兽:

    • 这是你首先要去的地方;
    • 这是你可以分叉代码并开始添加功能以获得你想去的地方。
  10. 哦,您是否知道Apple recently changed the license conditions for CUPS并使其更加宽松,从GPL2转向Apache 2.0许可?

  11. 您以前从未听说过" IPP Everywhere" ?这是"无人驾驶"的未来。印刷。

  12. 从未听说过"无人驾驶打印" ?它的一个略微修改(和剥离)的版本已经实现为iPhone和iPad设备的" Apple AirPrint"

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

  14. 这个 cups-filters 项目由The Linux Foundation's OpenPrinting department开始管理,因为Apple已经不再将原始CUPS源代码的这些部分交给他们了对macOS很有用,但对Linux仍然很重要。

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

    • 让设备自动在本地网络中公布其存在及其服务类型。使用IETF标准协议mDNSDNS-SD(在macOS中以" Bonjour" 的名义实现,在Linux中实现为&# 34; Avahi" )注意所提供的服务。

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

    • 那么......你需要一个特定的"打印机驱动程序"在这样的环境中?现在,每个人都可以创建PDF文档。校验!无需特定于设备的转换为任何其他打印语言。

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

答案 1 :(得分:4)

您在CUPS源中看到的 .sln .vcproj 文件无意编译所有CUPS for Windows。

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

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

答案 2 :(得分:0)

CUPS使用Internet打印协议进行客户端 - 服务器通信。根据{{​​3}},Windows可以用作IPP主机:

  

启用运行Windows的计算机   Server 2008充当服务器   支持互联网打印,你必须   安装Web服务器(IIS)角色   打印服务角色和Internet   打印中的打印角色服务   服务角色。

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

答案 3 :(得分:0)

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

在拨号上网时代,我遇到了一个问题,其中某些IPS具有用于调制解调器功能的替代dll。问题在于,在您卸载IPS程序之前,dll阻止了合法程序访问调制解调器。

通过编写Windows假脱机和打印替换程序,可以将相同的技术用于创建Windows CUPS服务器,该程序可以直接将打印任务交给CUPS服务器,而不是直接打印到打印机。

当然,这需要具有Windows假脱机和打印协议的深入知识的人。