CUPS服务器是否为Windows编译?

e7arh2l6  于 2023-02-25  发布在  Windows
关注(0)|答案(5)|浏览(757)

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

f1tvaqid

f1tvaqid1#

我有个新答案给你:

  1. GitHub上有一个名为 * ippsample * 的项目,它正在慢慢接近成熟的1.0版本。
    1.以下是强制性README文件中的前两句自我描述:
  • “此代码提供了IPP Client、Printers和Proxies的示例实现。**它主要基于CUPS软件,**对ippproxy和ippserver实现进行了实质性更改,使它们更具通用性和可配置性。"*(强调部分)

1.此项目由 * ISTO Printer Working Group (PWG) * 主持,该行业组织也开发并推广IPP作为通用标准。

  1. IPP Sample项目的ippserveripptoolippfindippproxyipptransform组件共同构成了符合标准的 * IPP Everywhere * 实现,涵盖了打印的客户端和服务器端。
  2. IPP Sample项目的GitHub代码是由同样开发CUPS的Mike Sweet维护的--所以它是真实的的。
    1.是的,它在Windows上编译和工作得很好,并且有一个bunch of .vclxproj and .sln files可以使使用MS Visual Studio的构建过程尽可能顺利。
    1.是的,IPP示例代码可以正常工作,并且可以打印到运行在macOS或任何Linux混合操作系统上的CUPS服务器(或从那里接收打印作业)。
    1.不,这还不是一个完全成熟的Windows CUPS服务器,可以作为Windows打印服务器的直接替代品。它没有所需的所有功能。
  • 但如果你想创造这样的野兽:
  • 这是你必须先去的地方
  • 这是你可能可以分叉代码并开始添加功能以到达你想去的地方的地方。
  • 哦,你知道Apple recently changed the license conditions for CUPS吗?它使它变得更加宽松,从GPL 2转移到Apache2.0许可?

  • 你以前从未听说过“IPP无处不在”吗?它是“无人驾驶”打印的未来。
  • 从来没有听说过 “无人驾驶打印”?它的一个稍微修改(和精简)的版本已经实现为 “苹果AirPrint” 的iPhone和iPad设备。
  • 基于CUPS的打印堆栈的当前实现包括最近转移到GitHub的 * cups-drivers project * 中的新代码。此新代码实现了IPP Everywhere功能。
  • 这个 * cups-filters * 项目是由The Linux Foundation's OpenPrinting department管理的,自从苹果将原始CUPS源代码的这些部分交给他们以来,这些部分对macOS不再有用,但对Linux仍然很重要。
  • 那么无人驾驶打印的基本理念是什么呢?
  • 让设备自动通知其在本地网络中的存在及其服务类型。使用IETF标准协议mDNSDNS-SD(在macOS中以 “Bonjour” 的名称实现,在Linux中以 “Avahi” 的名称实现)记录所提供的服务。
  • 告诉打印客户机它们可以使用IPP协议,以便在它们发出get-printer-attributes请求时获得查询响应。此请求将告诉它们设备支持哪组打印选项。然后,打印客户机可以显示一个精确定制的打印对话框,以便向打印用户显示选项选择。打印客户端也会被告知每个设备支持的作业提交格式。必须是PDF或称为 “PWG-Raster” 的简单光栅格式。
  • 那么......在这样的环境中,你在哪里需要一个特定的“打印机驱动程序”呢?现在任何人都可以创建PDF文档。检查!不需要特定于设备的转换到任何其他打印语言。
  • 已经有支持IPP Everywhere的打印机了吗?哦,是的,看这里--据说它们都完全符合标准:
  • List of IPP Everywhere printer models
xwmevbvl

xwmevbvl2#

您在CUPS源代码中看到的 .sln.vcproj 文件并不用于编译所有CUPS for Windows。
它们只用于编译它的一些实用程序(如ipptool.exe)...
使完整的CUPS服务器+过滤代码在Windows上工作将是一项艰巨的任务,因为Windows的假脱机和打印与Unix世界有很大的不同。

vyu0f0g1

vyu0f0g13#

CUPS使用Internet打印协议进行客户端-服务器通信。根据Technet文章,Windows可用作IPP主机:
若要使运行Windows Server 2008的计算机能够充当支持Internet打印的服务器,必须安装Web服务器(IIS)角色、打印服务角色以及打印服务角色中的Internet打印角色服务。
而且,Windows、Linux和Mac OS X客户端似乎都可以使用通过SMB共享的打印机。

gstyhher

gstyhher4#

“使完整的CUPS服务器+过滤代码在Windows上工作将是一项艰巨的任务,因为Windows的假脱机和打印与Unix世界有很大不同。”
早在拨号上网的日子里,我就遇到了一个问题,一些IPS有一个用于调制解调器功能的替换DLL。问题是DLL阻止合法程序访问调制解调器,直到您卸载IPS程序。
通过编写Windows假脱机和打印替换程序(不是直接打印到打印机,而是将打印任务交给CUPS服务器),可以使用相同的技术创建Windows CUPS服务器。
当然,这需要对Windows假脱机和打印协议有深入了解的人。

3htmauhk

3htmauhk5#

cygwin ports有一些补丁文件可以在cygwin(某些版本)中实现cups。我不能说它能工作得多好。
https://github.com/cygwinports-extras/cups

相关问题