自动化生成CUPS打印机AirPrint服务文件的Python脚本

版权申诉
0 下载量 169 浏览量 更新于2024-10-16 收藏 5KB ZIP 举报
资源摘要信息:"为CUPS打印机自动生成AirPrint Avahi服务文件的Python脚本" 在企业或家庭网络环境中,打印机共享是一项常见需求。让打印机能够被局域网内的设备识别和打印,需要正确的服务配置。Apple的AirPrint是一种流行的无线打印解决方案,但并非所有打印机默认支持AirPrint。幸运的是,可以使用开源的Avahi守护进程来模拟AirPrint服务,让普通打印机模拟为AirPrint兼容的打印机。 本资源提供了一个Python脚本,用于为已经配置为共享的CUPS(Common Unix Printing System)打印机生成Avahi服务文件。CUPS是一个在Unix-like系统上广泛使用的打印系统,它提供了打印设备管理及打印任务处理的功能。 脚本描述中提到,它能够连接到CUPS服务器,并且为每台已经配置为共享状态的打印机生成一个兼容Apple AirPrint的Avahi服务文件。这意味着,任何可以与CUPS配合使用的打印机都可以被脚本支持,但前提是打印机不要在CUPS中配置为仅能“raw”打印(即不做任何处理的原始打印),除非该打印机能够本地直接打印PDF文件。这是因为基于Debian的发行版,如Ubuntu,已经预配置了CUPS以支持PDF过滤器,使得打印机能够处理PDF文件。 DNSSD(DNS-based Service Discovery)对于txt记录有限制,最多只能记录255个字符,所以脚本会对接受的打印机描述语言(PDL)列表进行截断处理以确保符合限制。如果需要知道哪些内容被删除,可以使用带有详细标志的脚本进行运行(--verbose)。 脚本要求安装python-lxml包来生成人类可读的.service文件。python-lxml是一个用于解析和创建XML/HTML文档的Python库,它比Python内置的xml.minidom库更加强大和易于使用。如果在安装了python-lxml的情况下还无法生成可读文件,可能需要检查脚本本身或相关依赖是否存在问题。 在使用本脚本前,开发者推荐下载后仔细阅读README.md文件,其中包含了更多关于脚本的详细信息、使用说明和可能遇到的问题解决方案。 此脚本对于希望将非AirPrint兼容的打印机加入到Apple生态系统中的用户尤其有用。通过简单运行Python脚本,网络上的苹果设备(如iPhone、iPad、Mac等)就可以发现并使用这些打印机进行打印,极大地提升了用户体验和设备兼容性。