我正在考虑购买一台打印机(实际上是一体机,我更喜欢它提供的功能,但我想在这里重点关注打印机部分),它不提供 Linux 驱动程序,但提供 Mac OS X 驱动程序。我知道两个操作系统都可以使用 CUPS 进行打印。这是否意味着我可以从Mac OS X驱动程序包中复制ppd(驱动程序)文件并在linux下使用(修改)它?
查看该文件时,会发现 Mac OS X 打印对话框特定的行,例如
*APPrinterIconPath: "/Library/Printers/<path to icons file>.icns"
*APDialogExtension: "/Library/Printers/<path to Mac OS X plugin file>.plugin"
*APAutoSetupTool: "/Library/Printers/<path to autoconfig utility>"
我认为我可以安全地删除它。还有一些带有 OS X 特定路径的行,例如
*cupsFilter: "application/vnd.cups-raster 0 /Library/Printers/<path to filter file>"
*OKDitherLibrary: "/Library/Printers/<path to dither library>.dylib"
我不知道该怎么办。与最后一行一样,还有很多其他行的关键字以“OK”开头,我认为这些行是特定于供应商的,例如
*OKPaperCheckManualFeed_CheckOFF: True
*OKSupportCUPaperSizeCheck: True
*OKSupportCustomManualFeed_CheckOFF: True
*OKSupportPCLMediaTypeUSERTYPE: Yes
*OKSupportMarginCentering: True
我也不知道该怎么办。
(作为后备方案,考虑到打印机支持 PCL6,我可以使用通用驱动程序来实现这一点,但随后会错过可能有趣的功能。)
答案1
我也有同样的情况。我有一台 Fuji Xerox Docuprint CM305df,不幸的是 Fuji Xerox 不提供 Linux 驱动程序(为什么!?!?)。但他们确实提供了 Mac OSX PPD 驱动程序!
一个简单的例子,只是使用它,对吗?好吧,PostScript 打印机描述 (PPD) 文件是独立于平台的,但正如您(和我)发现的那样,它可以包含操作系统特定的条目(例如 Mac OSX),这使得 PPD 在另一个操作系统(例如 Linux)上不可用,除非你先做一些改变。
cupsFilter
通过编辑 Mac OSX PPD 文件并删除表面的 Mac OSX 特定条目并用 Linux 代替MacOSX 条目,我成功地让我的打印机在 Linux Mint 13 (CUPS 1.5.3) 上运行(正如 Gilles 提到的,请参阅步骤下面的 3 - 我希望它也对你有用)。
正如您所注意到的,这些*OK...
行可能是您的 OKI 打印机的供应商特定条目。我将保留这些内容,因为它可能会为您提供用于管理打印机的设置/选项,因为我*FX...
在编辑 PPD 文件时发现了一些行。当使用 Fuji Xerox 驱动程序时,我最终有 11 页的选项,而使用“Generic PCL Laser Printer (en)”驱动程序时只有 4 页。
以防万一其他人也想做同样的事情,这就是我所做的。
1) 从富士施乐网站下载“Mac PPD 和插件安装程序”并解压 PPD 文件(我将其安装在运行 10.6 的 Mac 上,并在 /Library/Printers/PPDs/Contents/Resources/FX 中找到了 PPD 文件DocuPrint CM305 PS.gz)。
2)删除以下行:
*APPrinterIconPath: "/Library/Printers/FujiXerox/Icons/FX DocuPrint CM305.icns" *APDialogExtension: "/Library/Printers/FujiXerox/PDEs/FXOPSCJHAccount.plugin" *APDialogExtension: "/Library/Printers/FujiXerox/PDEs/FXOPSCJHImageOptions.plugin"
3)替换以下行:
[老的]*cupsFilter: "application/vnd.cups-postscript 0 /Library/Printers/FujiXerox/Filter/FXOPSCJHFilter"
用这一行:
[新的]*cupsFilter: "application/vnd.cups-postscript 0 pstops"
答案2
PPD 文件与平台无关。但是,它们可能引用外部可执行文件,并且这些可执行文件依赖于平台。尤其,cupsFilter
指定将输入从 CUPS 理解的格式(此处为 ,application/vnd.cups-raster
即位图格式)转换为打印机理解的格式的程序。您需要找到 Linux 版本的过滤器程序才能在 Linux 下使用此 PPD 文件。
要查看 Linux 对打印机的支持状态,请在开放打印数据库。
由于打印机接受 PCL6,因此您很可能能够使用该 PPD 文件,只需将过滤器替换为通用光栅到 PCL 过滤器即可。
答案3
*OKDitherLibrary: "/Library/Printers/<path to dither library>.dylib"
该行指向 OS X 库。除非您能找到此文件的替代品,否则您可能根本无法在其他操作系统下使用它。