CUPS/打印机特定问题

出自 ArchWiki

本文包含针对 CUPS 的打印机或制造商特定说明。如果您的打印机未在此处列出,或者列出的驱动程序均不适用,请参阅 OpenPrinting

注意: 如果您向此列表添加打印机,请考虑将您的条目贡献给 OpenPrinting - 这样其他发行版的用户也将受益!

Brother

注意: 一些打印机型号可能会在多个条目中找到,因为它们有多个软件包或驱动程序。

多个型号的驱动程序

打印机 驱动/过滤器 备注
DCP-1510 系列 (DCP-1510, DCP-1510r, DCP-1511, DCP-1512, DCP-1512r, DCP-1518) brother-dcp1510AUR
DCP-7010, DCP-7020, DCP-7025, DCP-8060, DCP-8065DN, FAX-2820, FAX-2920, HL-2030, HL-2040, HL-2070N, HL-5240, HL-5250DN, HL-5270DN, HL-5280DW, MFC-7220, MFC-7225N, MFC-7420, MFC-7820N, MFC-8460N, MFC-8660DN, MFC-8860DN, MFC-8870DW brother-cups-wrapper-laserAUR
HL-4040CN, HL-4040CDN, HL-4050CDN, HL-4070CDW, MFC-9440CN, MFC-9450CDN, MFC-9840CDW, DCP-9040CN, DCP-9042CDN, DCP-9045CDN brother-cups-wrapper-acAUR
DCP-1510 系列, DCP-1600 系列, DCP-7030, DCP-7040, DCP-7055, DCP-7055W, DCP-7060D, DCP-7065DN, DCP-7080, DCP-L2500D 系列, DCP-L2520D 系列, DCP-L2540DW 系列, HL-1110 系列, HL-1200 系列, HL-2030 系列, HL-2140 系列, HL-2220 系列, HL-2270DW 系列, HL-5030 系列, HL-L2300D 系列, HL-L2320D 系列, HL-L2340D 系列, HL-L2360D 系列, MFC-1910W, MFC-1919NW, MFC-7240, MFC-7360N, MFC-7365DN, MFC-7840W, Lenovo M7605D brlaserAUR
brlaser-gitAUR
非官方驱动,可能兼容更多型号

单个型号的驱动程序

打印机 驱动/过滤器 备注
DCP-135C brother-dcp135cAUR
DCP-150C brother-dcp150cAUR
DCP-150C brother-dcp150cAUR
DCP-2550DW brother-dcp-l2550dwAUR
DCP-B7500D brother-dcpb7500dAUR
DCP-L3550CDW brother-dcpl3550cdwAUR 按照此处此处的描述,使用 IPP 驱动。
DCP-7020 foomatic 或 Brother 的驱动。
DCP-7030 brother-dcp7030AUR
DCP-7065DN brother-dcp7065dnAUR
DCP-7090DW brother-dcp7090dwAUR
DCP-9020CDW brother-dcp-9020cdwAUR
DCP-9022CDW brother-dcp-9022cdwAUR
DCP-J515W brother-dcp-j515wAUR
DCP-J4110DW brother-dcpj4110dwAUR
DCP-J1200W brother-dcpj1200wAUR "DCPJ1200W" 在安装此 aur 软件包时会自动添加到 cups。不需要 multilib。此型号的 SANE 驱动程序:brscan5AUR
FAX-2820 brother-cups-wrapper-laserAUR
FAX-2840 brother-fax2840AUR foomatic - 主要与 hpijs-pcl5e.ppd 配合使用。与 HL-2170W 相同。
FAX-2940 brother-fax2940AUR
HL-1110 brlaser-gitAUR 已测试,可用
HL-2030 foomatic brother-hl2030AUR
HL-2035 foomatic 应该与 HL-2030 的任何驱动程序兼容。
HL-2040 foomatic brother-hl2040AUR
HL-2130 foomatic(使用 HL-2140 驱动程序) hplip
HL-2135W brother-brgenml1AUR
HL-2140 foomatic brother-hl2140AUR
HL-2170W foomatic 或 Brother 的驱动。
HL-2230 foomatic 与 HL-2170W 相同。添加打印机时,在 CUPS 管理界面中选择 HL-2170W 作为驱动程序。
HL-2250DN brother-brgenml1AUR brother-hl2250dnAUR 是否已损坏?
HL-2270DW brother-hl2270dwAUR
HL-2280DW brother-hl2280dwAUR
HL-3045CN 安装 Brother 的驱动程序或 brother-hl3040cnAUR
HL-3140CW brother-hl3140cwAUR 使用 IPP 和 Brother 的驱动程序以避免页面缩小和无休止的空白打印
HL-3150CDW brother-hl3150cdwAUR
HL-3170CDW brother-hl3170cdwAUR
HL-4150CDN brother-hl4150cdnAUR
HL-5140 foomatic 或 Brother 的驱动。
HL-5340 foomatic 使用通用 PCL 6/PCL XL 打印机 - CUPS+Gutenprint (gutenprintfoomatic-db-gutenprint-ppds)。或者 Brother 的驱动程序,这可能会导致打印失败并出现 postscript 错误。
HL-L2300D brother-hll2300dAUR brlaser-gitAUR 效果更好。使用 brother 驱动程序,仅默认设置生效,打印特定设置将被忽略。
HL-L2340DW brother-hll2340dwAUR
HL-L2350DW brother-hll2350dwAUR
HL-L2360DN brother-hll2360dAUR brlaser-gitAUR
HL-L2360DW brother-hll2360dAUR brlaser-gitAUR 应该有效。
HL-L2365DW brother-hll2360dAUR brlaser-gitAUR 应该有效。
HL-L2380DW brother-hll2380dwAUR
HL-L2390DW Arch 提供的 Brother 驱动程序 选择出现在#网络打印机列表中的 ipp 免驱动 Brother 打印机。
HL-L2395DW brother-hll2395dwAUR 按照#网络打印机中的描述,使用 socket 协议
HL-L3230CDW brother-hll3230cdwAUR https://github.com/splitbrain/archlinux-brother-hll3230cdw
HL-L3270CDW brother-hll3270cdwAUR 按照#网络打印机中的描述,使用 lpd 协议。
HL-L5100DN HP LaserJet Foomatic 驱动程序 这个型号将模拟 HP LaserJet 打印机。使用 lpd 协议,详见 #网络打印机
HL-L8360CDW brother-hll8360cdw-cups-binAUR
MFC-420CN brother-mfc-420cnAUR
MFC-440CN brother-mfc-440cnAUR
MFC-7360N brother-mfc7360nAUR brlaser-gitAUR
MFC-7460DN Gutenprint 使用 Generic PCL 6 Printer wide margin - CUPS+Gutenprint 驱动程序,地址为 ipp://hostname-or-ip/pcl_p1
MFC-7840W brother-mfc-7840wAUR brlaser-gitAUR
MFC-9320CW 安装 Brother 驱动程序。
MFC-9332CDW brother-mfc-9332cdwAUR
MFC-9840CDW foomatic 或者使用 Brother 驱动程序。此打印机也适用于来自 gutenprint 软件包的通用 PCL-6 驱动程序。使用 PCL-6 驱动程序时,打印机地址请使用 pcl_p1
MFC-J1300DW brother-mfc-j1300dwAUR 使用 ipp 协议,详见 #网络打印机
MFC-J435W brother-mfc-j435wAUR 使用 lpd://[printer_addr]/BINARY_P1http://[printer_addr]/POSTSCRIPT_P1,详见 AUR 软件包页面的评论区。
MFC-J470DW brother-mfc-j470dwAUR 使用 ipp 协议,详见 #网络打印机
MFC-J4710DW brother-mfc-j4710dwAUR
MFC-J480DW brother-mfc-j480dwAUR 使用 ipp 协议,详见 #网络打印机
MFC-J5520DW brother-mfc-j5520dwAUR
MFC-J5845DW brother-mfc-j5845dwAUR 使用 ipp 协议,详见 #网络打印机
MFC-J5910DW brother-mfc-j5910dwAUR
MFC-J650DW 安装 Brother 驱动程序。
MFC-J6520DW brother-mfc-j6520dwAUR 使用 ipp 协议,详见 #网络打印机
MFC-J885DW brother-mfc-j885dwAUR
MFC-J985DW brother-mfc-j985dwAUR
MFC-L2700DN brother-mfc-l2700dnAUR 也请查看 AUR 软件包页面的评论区。
MFC-L2700DW brother-mfc-l2700dwAUR 也请查看 AUR 软件包页面的评论区。
MFC-L2710DN brother-mfc-l2700dnAUR 使用 ipp 协议,详见 #网络打印机
MFC-L2710DW brother-mfc-l2710dwAUR 按照#网络打印机中的描述,使用 lpd 协议。
MFC-L2720DW brother-mfc-l2720dwAUR 也请查看 AUR 软件包页面的评论区。
MFC-L2730DW brother-mfc-l2730dwAUR 也请查看 AUR 软件包页面的评论区。
MFC-L2740DW brother-mfc-l2740dwAUR 也请查看 AUR 软件包页面的评论区。
MFC-L2750DW brother-mfc-l2750dwAUR 也请查看 AUR 软件包页面的评论区。
MFC-L3770CDW brother-mfc-l3770cdwAUR 也请查看 AUR 软件包页面的评论区。
MFC-L5800DW brother-mfc-l5750dwAUR
MFC-L8600CDW brother-mfc-l8600cdwAUR 请按照 AUR 页面上的说明进行操作。
QL-500 brother-ql500AUR
QL-570 brother-ql570AUR
QL-580N brother-ql580nAUR
QL-650TD brother-ql650tdAUR
QL-700 brother-ql700AUR
QL-710W brother-ql710wAUR
QL-720NW brother-ql720nwAUR
QL-1050 brother-ql1050AUR
QL-1050N brother-ql1050nAUR
QL-1060 brother-ql1060nAUR
QL-1110NWB brother-ql1110nwbAUR
TD-2020 brother-td2020AUR
TD-2120N brother-td2120nAUR
TD-2130N brother-td2130nAUR
TD-4000 brother-td4000AUR
TD-4100N brother-td4100nAUR
打印机 驱动/过滤器 备注

网络打印机

对于网络打印机,使用 ipp://printer_ip/ipp/port1 作为打印机地址。对于一些较旧的打印机,这可能不起作用。如果不起作用,请尝试使用 lpd://printer_ip/BINARY_P1

一些打印机使用 socket 协议。对于这些打印机,使用 socket://printer_ip:9100。对于 http,使用 http://printer_ip/POSTSCRIPT_P1

自定义驱动程序

Brother 在其网站上提供了自定义驱动程序,格式为 source tarball、rpm 或 deb。Packaging Brother printer drivers 介绍了如何从现有的 RPM 软件包创建 PKGBUILD

注意: 如果源代码包包含所有需要的文件,则它可能是 rpm 软件包的更好替代方案。

从 RPM 软件包手动安装

此文章或章节需要改进语言、wiki 语法或风格。请参阅 Help:Style 以获取参考。

原因: 这应该理想地在 PKGBUILD 中自动化。(在 Talk:CUPS/Printer-specific problems 中讨论)

安装 rpmextract 软件包,并使用 rpmextract.sh 提取两个 rpm 软件包。提取这两个文件将创建 var 和 usr 目录 - 将这两个目录的内容移动到相应的根目录。

运行 /usr/local/Brother/cupswrapper 中的 cups wrapper 文件。这应该会自动安装和配置您的 Brother 打印机。

对于某些驱动程序,可能需要从 multilib 安装 32 位库。

更新固件

安装 net-snmp 并运行

$ snmpwalk -c public $PRINTER_IP | grep -A 1 3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2

或者,另一种方法是

$ snmpwalk -v 2c -c public 192.168.23.11 iso.3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2

此时,您将拥有相关数据,以从 Brother 获取有效的固件下载链接。该文件应类似于下面的文件

request.xml
 <REQUESTINFO>
    <FIRMUPDATETOOLINFO>
        <FIRMCATEGORY>MAIN</FIRMCATEGORY>
        <OS>LINUX</OS>
        <INSPECTMODE>1</INSPECTMODE>
    </FIRMUPDATETOOLINFO>
 
    <FIRMUPDATEINFO>
        <MODELINFO>
            <SELIALNO></SELIALNO>
            <NAME>MFC-9330CDW</NAME>
            <SPEC>0401</SPEC>
            <DRIVER></DRIVER>
            <FIRMINFO>
                <FIRM>
                    <ID>MAIN</ID>
                    <VERSION>R1506121801:4504</VERSION>
                </FIRM>
                <FIRM>
                    <ID>SUB1</ID>
                    <VERSION>1.07</VERSION>
                </FIRM>
                <FIRM>
                    <ID>SUB2</ID>
                    <VERSION>L1505291600</VERSION>
                </FIRM>
            </FIRMINFO>
        </MODELINFO>
        <DRIVERCNT>1</DRIVERCNT>
        <LOGNO>2</LOGNO>
        <ERRBIT></ERRBIT>
        <NEEDRESPONSE>1</NEEDRESPONSE>
    </FIRMUPDATEINFO>
 </REQUESTINFO>

将此文件发送给 Brother

$ curl -X POST -d @request.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" > response.xml

response.xml 中,您会找到一个 <PATH> 标签,其中包含固件下载 URL。接下来,下载固件,将其推送到打印机,并让打印机处理它。在此之前,请将管理员密码更改为已知的密码,它将用作登录 FTP 站点的用户(非常糟糕的做法,请勿这样做)。

$ wget http://update-akamai.brother.co.jp/CS/LZ4266_W.djf[dead link 2023-07-30 ⓘ]
$ ftp $PRINTER_IP|
ftp> bin
ftp> hash
ftp> send LZ4266_W.djf
ftp> bye

完成后,打印机将重新启动,并且将安装最新的固件,(希望)您的打印问题将得到解决。

IPP-over-USB

在某些型号上使用 USB 端口时,您可能会遇到一些问题。

Brother 提供了一个 shell 脚本来创建 udev 规则,以防止使用 IPP-over-USB。这可能会解决 USB 打印问题,但也意味着您需要使用旧版 LPR 驱动程序。请参阅 FAQ 文章

Canon

Canon 打印机有许多可能的驱动程序。许多 Canon 打印机 受到 Gutenprintfoomatic-db-ppds 的支持。某些 Canon 的 LBP、iR 和 MF 打印机使用支持 UFR II/UFR II LT/LIPSLX 协议的驱动程序,#UFRII 。其他打印机使用 #CARPS#cnijfilter (cnijfilter2AUR) 或 Canon CAPT 驱动程序。

打印机 驱动/过滤器 备注
iP4300 Gutenprint 或者使用 TurboPrint 驱动程序。
PIXMA G4000 系列 错误地识别为 Canon G3010 系列。请改用 Canon PIXMA G4000 - CUPS+Gutenprint 驱动程序。
LBP810 Canon CAPT
LBP1120
LBP1210
LBP2900
LBP3000
LBP3010
LBP3018
LBP3050
LBP3100
LBP3108
LBP3150
LBP3200
LBP3210
LBP3250
LBP3300
LBP3310
LBP3500
LBP5000
LBP5050 系列
LBP5100
LBP5300
LBP6000
LBP6018
LBP6020
LBP6200
LBP6300
LBP6300n
LBP6310dn
LBP7010C
LBP7018C
LBP7200Cdn (网络模式)
LBP7200C 系列
LBP7210Cdn
LBP9100C
LBP7110cw (网络模式) cnrdrvcups-lbAUR v 5.00
LBP112 cndrvcups-ltAUR
LBP113w
LBP151dw
LBP6018nl
LBP6030
LBP6040
LBP6230
LBP6240
LBP7100c
LBP7110c
LBP8100
MF216n (ldp 网络) cndrvcups-lb-binAUR
MF635Cx
MF4720w
MF4770n
MF8080Cw 有关发现,请参阅 CUPS#网络
FAX-L400 carps-cups-gitAUR
FP-L170 应该可以工作,未经证实
ICD300
imageCLASS D300
L380 应该可以工作,未经证实
L389 应该可以工作,未经证实
L390
L408S
LASERCLASS 500 应该可以工作,未经证实
LC180
LC310
LC380S
LC398S
MF350 应该可以工作,未经证实
MF3110
MF5630
MF5650 应该可以工作,未经证实
MF5730
MF5750
MF5770
PC-D300
PIXMA iP110 cnijfilter2AUR
PIXMA TR150 系列
PIXMA TS200 系列
PIXMA MX490 系列
PIXMA MX530 系列
PIXMA TS700 系列
PIXMA MB2300 系列
PIXMA MG2500 series
PIXMA MG2900 series
PIXMA MG3000 series
PIXMA TS3100 series
PIXMA TS3500 series
PIXMA MG3600 series
PIXMA TS3700 series
PIXMA TR4500 series
PIXMA TR4700 series
PIXMA MB5450
PIXMA MG5620 series
PIXMA MG5700 series
PIXMA MG6600 series
PIXMA MG6800 series
PIXMA TR7000 series
PIXMA TR7500 series
PIXMA MG7500 series
PIXMA TS7700 series
PIXMA TR7800 series
PIXMA TS8050 如果没有 cnijfilter2AUR,打印将失败并显示过滤器错误,或者您可能会收到“渲染完成”但没有任何内容打印
PIXMA MG8200 series
PIXMA TR8500 series
PIXMA MG2400 series cnijfilter-mg2400seriesAUR
PIXMA MG4200 series cnijfilter-mg4200AUR 添加打印机时,请避免使用 Web 界面,因为它找不到 PPD 文件。
PIXMA TR8600 series canon-tr8600-seriesAUR
PIXMA TS9020 canon-ts9020AUR
打印机 驱动/过滤器 备注

某些佳能打印机将使用类似于 iP4500 的设置,因此请考虑为其他类似的打印机修改 cnijfilter-ip4500AUR 软件包。

UFRII

许多 LBP、iR 和 MF 打印机使用一种协议,多年来该协议有多个名称:UFR II、UFR II LT、LIPSLX。AUR 中有针对这些打印机的多个软件包,并且据报告,至少 imageCLASS MF4570dn 只能与较旧的 v3.70 版本一起使用。i-SENSYS MF633C 经证实可与 6.00 版本一起使用。

ufrii-printAUR v6.00:使用佳能提供的最新版本二进制文件(从佳能官方 .deb 软件包中提取)

cnrdrvcups-lbAUR v 5.00:从源代码构建的最新版本

cndrvcups-lbAUR 3.70 和 cndrvcups-common-lbAUR 4.10:从源代码构建的旧版本

cndrvcups-lb-binAUR v3.70:使用佳能提供的二进制文件,并进行位置/配置调整以使其在 Arch Linux 上工作

cndrvcups-ltAUR v5.00:使用佳能为其他打印机(例如 LBP6030)提供的二进制文件。

CARPS

某些佳能打印机使用佳能专有的 CARPS(佳能高级光栅打印系统)驱动程序。Rainbow Software 设法逆向工程了 CARPS 数据格式,并成功创建了 CARPS CUPS 驱动程序,该驱动程序以 carps-cups-gitAUR 的形式提供。该项目的 GitHub 页面包含工作打印机列表。

USB over IP (BJNP)

某些佳能打印机使用佳能专有的 USB over IP BJNP 协议通过网络进行通信。有一个 CUPS 后端用于此目的,它以 cups-bjnpAUR 的形式提供。

cnijfilter

某些使用 cnijfilter 驱动程序的打印机支持 cnijnet 协议。要查找 打印机 URI,请运行

$ cnijnetprn --search auto

并在输出中使用 cnijnet:/ URI。

其他驱动程序版本,例如当前版本的 cnijfilter2AUR,提供 cnijlgmon3 二进制文件以搜索可用的打印机。

$ cnijlgmon3
network cnijbe2://Canon/?port=net&serial=60-12-81-A7-7D-34 "Canon MB2300 series" "Canon-MB2300-series_60-12-81-A7-7D-34"

可以使用 cnijbe2 url 和适当的 .ppd 文件将打印机添加到 cups,该文件应随您的驱动程序一起提供。

$ lpadmin -p CustomPrinterNameMB2300 -P /usr/share/cups/model/canonmb2300.ppd -v "cnijbe2://Canon/?port=net&serial=60-12-81-A7-7D-34" -E

cnijbe2 url 中的参数 serial 对应于打印机的 MAC 地址。

IPP Everywhere

对于最新的佳能打印机,例如 G7000 系列,可能很难找到有效的驱动程序。但是,可以使用无驱动程序安装,使用 IPP Everywhere。

如果您已安装 avahi,CUPS 应该能够自动检测到您的打印机。

但是,如果失败,您可以随时手动输入您的打印机设置。在 CUPS Web 界面中,选择 Internet Printing Protocol (ipp) 并输入打印机的 IPP URL。然后在驱动程序选择屏幕上选择Generic > {current_make_and_model} - IPP Everywhere ™

对于 G7000 系列,IPP URL 为 ipp://<printer_ip>ipps://<printer_ip>

Dell

打印机 驱动/过滤器 备注
1250C foo2zjs-nightlyAUR 打印机也可能与 Xerox Phaser 6000B 驱动程序 (xerox-phaser-6000-6010AUR) 一起使用。
C1660NW
E515 安装 戴尔驱动程序 e515dwcupswrapper-3.2.0-1.i386.debe515dwlpr-3.2.0-1.i386.deb 都需要安装。您可以编写 PKGBUILD,使用 debtapAUR,或使用 dpkg(不建议使用 dpkg,因为文件将不受 pacman 管理)。该驱动程序可在 x86_64 和 i386 平台上运行,但可能需要 multilib
E515dw
S1130n dell-unified-driverAUR 驱动程序与 samsung-unified-driver-printerAUR 冲突(因为 dell-unified-driverAUR 似乎是基于三星的,并且它们创建了几个相同的文件)
1130
1133
1135n
1815
2145cn
2335dn
2355dn
5330
B1160
B1160w
B1165nfw
B1260dn
B1265dfw
B1265dnf
B2365dnf
打印机 驱动/过滤器 备注

Epson

大多数型号都包含在 Epson Inkjet Printer Driver for Linux 官方驱动程序中,即 epson-inkjet-printer-escprAURepson-inkjet-printer-escpr2AUR,它们是使用 ESC/P-R 打印机控制语言的打印机的 CUPS 驱动程序集。

其他特定 Epson 打印机型号的驱动程序和/或注释

打印机 驱动/过滤器 备注
AcuLaser C900 此打印机使用 Epson 的驱动程序,设备 URI 为 'usb://EPSON/AL-C900',可能需要 pipsplus 服务正在运行。
LP-S5000 此打印机需要来自 Avasys 的自定义驱动程序
TX125 epson-inkjet-printer-n10-nx127AUR
打印机 驱动/过滤器 备注

实用程序

escputil

escputil 是 gutenprint 软件包的一部分,并在 Epson 打印机上执行一些实用程序功能,例如喷嘴清洁。

mtink

这是一个打印机状态监视器,可以获取剩余墨水量、打印测试图案、重置打印机和清洁喷嘴。它使用直观的图形用户界面。

Stylus-toolbox

这是一个使用 escputil 和 cups 驱动程序的 GUI。它支持几乎所有 Epson USB 打印机,并显示墨水量,可以清洁和对齐打印头以及打印测试图案。

自定义驱动程序

Avasys

此文章或章节需要改进语言、wiki 语法或风格。请参阅 Help:Style 以获取参考。

原因:本节涉及安装不使用 pacman 的软件包。这些说明最好使用 PKGBUILD 自动化。(在 Talk:CUPS/Printer-specific problems 中讨论)

驱动程序的“源代码”可在 avasys 网站上找到,语言为日语,但它包含一个 32 位二进制文件,这将在 64 位系统上引起问题。

$ ./configure --prefix=/usr
$ make
# make install

如果您在 64 位系统上遇到任何问题,可能需要其他 lib32 库。如果确实如此,请调整此页面。

添加缺少的纸张尺寸

epson-inkjet-printer-escpr2AUR 中的某些 PPD 文件中,缺少打印机和过滤器支持的介质的纸张尺寸定义。将缺少的介质类型添加到 PPD 文件中相对简单。

首先,使用 AUR 助手或从快照 tarball 下载 epson-inkjet-printer-escpr2AUR 软件包的 PKGBUILD。进入包含 PKGBUILD 的目录后,通过运行 makepkg --nobuild 下载并解压缩软件包的源代码。

将目录更改为 src/epson-inkjet-printer-escpr2-$PKGVER。在文本编辑器中打开文件 src/optBase.h 以供参考。

ppd 目录中识别您的打印机使用的 PPD。例如,Workforce 7710 打印机使用 Epson-WF-7710_Series-epson-escpr2-en.ppd。我们称之为 your_ppd_filename。使用 cups 软件包中的 ppdi 实用程序,将相关的 PPD 转换为 PPD 编译器源文件。

$ ppdi -o your_ppd_filename.drv ppd/your_ppd_filename.ppd

在文本编辑器中打开新创建的 your_ppd_filename.drv。识别文件中以 CustomMedia 开头的很多行的部分。复制其中一行进行修改。例如

CustomMedia "Legal/US Legal" 612.00 1008.00 8.40 8.40 8.40 8.40 "<</PageSize[612.00 1008.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[612.00 1008.00]/ImagingBBox null>>setpagedevice"

数字对 612.00 1008.00 表示纸张的宽度和高度(以英寸为单位),乘以 72。将这三个数字实例都替换为您要添加的纸张的尺寸。例如,要添加 11"x17" 纸张,请将数字替换为 792.00 1224.00

字符串 "Legal/US Legal" 标识纸张。在斜杠的左侧,Legal 是过滤器用来标识纸张尺寸的魔法标识符。将其替换为您要使用的那个。有关可能值的列表,请参阅 optBase.h 中的 mediaSizeData 数组。斜杠右侧的字符串可以设置为任何人类可读的值。

如果您想为纸张尺寸启用无边距打印,请在您刚刚找到的魔法标识符字符串前加上字母 T。因此,Letter 将变为 TLetter。此外,将四个数字 8.40 8.40 8.40 8.40 更改为 0.00 0.00 0.00 0.00

例如,我通过添加以下行将 11x17 纸张添加到 Workforce 7710 的 PPD 中

CustomMedia "USB/US B(11x17 in)" 792.00 1224.00 8.40 8.40 8.40 8.40 "<</PageSize[792.00 1224.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[792.00 1224.00]/ImagingBBox null>>setpagedevice"
CustomMedia "TUSB/US B(11x17 in) (Borderless)" 792.00 1224.00 0.00 0.00 0.00 0.00 "<</PageSize[792.00 1224.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[792.00 1224.00]/ImagingBBox null>>setpagedevice"

添加自定义尺寸后,使用 ppdc(也来自 cups)将 your_ppd_filename.drv 重新编译为 PPD 文件

$ ppdc your_ppd_filename.drv

这将在 ppd 目录中创建一个 ppd 文件,其文件名来自 your_ppd_filename.drv 中的 PCFileName 参数。您可以通过将其上传到 CUPS Web 界面来测试此文件,或者通过覆盖原始 PPD 文件并使用 makepkg 制作软件包来永久安装它。

HP

大多数 HP 打印机将使用 hplip,另请参见 CUPS/疑难解答#HP 问题

有些可能使用 hpojAUR,而对于多功能激光打印机,可能需要 hpuldAUR。某些激光打印机也受 foo2zjs-nightlyAUR 支持。

请注意,如果 lpinfo -m 告诉您驱动程序“需要专有插件”,则您需要安装 hplip-pluginAUR

打印机 驱动/过滤器 备注
DeskJet 710C pnm2ppaAUR
DeskJet 712C
DeskJet 720C
DeskJet 722C
DeskJet 820se
DeskJet 820Cxi
DeskJet 1000Cse
DeskJet 1000Cxi
LaserJet MFP M433 hpuldAUR
LaserJet MFP M436
LaserJet MFP M72625 72630
Laser 10x Series
Laser MFP 13x Series
Color Laser 15x Series
Color Laser MFP 17x Series
打印机 驱动/过滤器 备注

HPLIP

Note
  • 截至 hplip v3.17.11,hpijs 已不再可用。如果您有打印机正在使用 hpijs,它们将无法打印。您必须修改它们并选择新的 hpcups 驱动程序来代替。
  • 至少从 hplip v3.22.10 版本开始,当 hp-setup 使用 hpfax:// 访问打印机时会崩溃,并显示消息 Unable to communicate with the device. Please check the device and try again。这可能是由于缺少 hplip-pluginAUR 插件,但可以通过禁用打印机本身的传真支持来绕过。

hplip 为 HP DeskJet、OfficeJet、Photosmart、Business Inkjet 和一些 LaserJet 打印机提供驱动程序,并提供易于使用的安装工具。有关支持的打印机列表,请参阅 https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index

hplip 需要 python-pyqt5 来运行 GUI qt 前端。 hp-setup 需要安装 CUPS 并启动 cups.service 服务以保存打印机。 hp-setup 还需要 lsusb 软件,该软件由 usbutils 软件包提供。

使用 GUI qt 前端运行安装工具

$ hp-setup -u

使用命令行前端运行安装工具

$ hp-setup -i

直接设置网络连接的 HP 打印机的配置

$ hp-setup -i ip_address

运行系统托盘假脱机管理器

$ hp-systray

为给定的 IP 地址生成 URI

# hp-makeuri <ip address>

PPD 文件位于 /usr/share/ppd/HP/ 中。

如果您的打印机被列为需要二进制插件,请从 AUR 安装 hplip-pluginAUR 软件包。如果二进制插件 hplip-pluginAUR 是必需的,您将需要在 hplip 识别 PPD 之前启动 cups.service。如果这不起作用,请重启并在打印机关闭的情况下登录。然后打开打印机并运行测试打印。

Note: hplip 依赖于 foomatic-db-engine,这会阻止在通过 Web 用户界面 (Unable to get list of printer drivers) 向 CUPS 添加打印机时出现驱动程序列表。可能的解决方法
  • Either: 首先安装 hplip,然后从 /usr/share/ppd/HP/ 中检索与您的打印机匹配的 PPD 文件。接下来,完全删除 hplip 以及任何不必要的依赖项。最后,使用 CUPS Web UI 手动安装打印机,选择您检索的 PPD 文件,然后重新安装 hplip。重启后,您应该有一个完全正常工作的打印机。
  • Or: 删除 hplipfoomatic-dbfoomatic-db-engine 以及任何不必要的依赖项。重新安装 hplip 并重启 CUPS。使用 CUPS Web UI 安装您的打印机,现在应该能够自动找到驱动程序。无需重启。

HPULD

有关更多信息,请参阅 Debian:CUPSPrintQueues#hpuld

软件包 hpuldAUR 将分散的 “HP + ULD” 软件包收集到一个软件包中。

foo2zjs

foo2zjs 支持一些 HP LaserJet 打印机。截至 2018 年 6 月,hplip 软件包会干扰 foo2zjs-nightlyAUR,如 此论坛帖子FS#58815 中所述。

Konica Minolta

打印机 驱动/过滤器 备注
Minolta Magicolor 1600W foomatic
Minolta Magicolor 1680MF
Minolta Magicolor 1690MF
Minolta Magicolor 2480MF
Minolta Magicolor 2490MF
Minolta Magicolor 2530DL
Minolta Magicolor 4690MF
打印机 驱动/过滤器 备注

foo2zjs

上面提到的用于支持某些 HP 打印机的 #foo2zjs 也支持一些 Minolta 打印机。

Lexmark

请注意,大多数 Lexmark 打印机现在都受到 CUPS 的支持,无需进一步安装。另请参阅 SANE/Scanner-specific problems#Lexmark 以了解 Lexmark 扫描仪的问题。

实用程序

Lexmark 提供了一个名为 lexijtools 的实用程序以及驱动程序。

自定义驱动程序

此文章或章节已过时。

Reason: 本节是在 i686 架构停止支持之前编写的。因此,它仅提供了一个 i686 软件包的示例,需要通过考虑 32 位软件包指南 来更新。(在 Talk:CUPS/Printer-specific problems 中讨论)

Lexmark 确实为其所有硬件提供 Linux 驱动程序。以下软件包是必需的

驱动程序需要从 Lexmark 网站下载[死链接 2022-09-17 ⓘ]。最好创建一个软件包(参见 创建软件包)并安装它。这是一个基本的 PKGBUILD,它仍然需要改进,但会给出一个所需内容的想法。

PKGBUILD
# Contributor: Todd Partridge (Gen2ly) toddrpartridge (at) yahoo

pkgname=cups-lexmark-Z2300-2600
pkgver=1
pkgrel=1
pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"
arch=('i686')
url="http://www.lexmark.com/"
license=('custom')
depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')
conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')
source=(lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh)
md5sums=(3c37eb87e3dad4853bf29344f9695134)

package() {
  # Extract installer
  sh lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh --target Installer-Files
  cd Installer-Files
  mkdir Driver
  tar xvvf instarchive_all --lzma -C Driver/
  cd Driver
  tar xv lexmark-inkjet-08-driver-1.0-1.i386.tar.gz -C $pkgdir
}

请记住,您可以使用自动安装程序,但这样做会使结果更改无法跟踪。PPD 将安装到 /usr/local/lexmark/lxk08/etc/ 或类似位置,具体取决于打印机型号。

Oki

打印机 驱动/过滤器 备注
C110 foomatic
MC561 foomatic-db-nonfree
打印机 驱动/过滤器 备注

Ricoh

如果您的设备是黑白打印机,请安装 openprinting-ppds-pxlmono-ricohAUR,如果它是彩色打印机,则安装 openprinting-ppds-pxlcolor-ricohAUR。请注意,理光复印机有时会被品牌化为 Savin、Gestetner、Lanier、Rex-Rotary、Nashuatec 和/或 IKON。因此,如果您有带有这些品牌之一的设备,这些驱动程序也可能支持它。

需要 RPCS 驱动程序的 SG 或 GX 系列打印机可能受 ricoh-rpcs-cups-binAUR 支持,它提供了在日本理光网站上找到的 PPD 和所需的过滤器程序。

打印机 驱动/过滤器 备注
IPSiO GX e3300 ricoh-rpcs-cups-binAUR 由于日本产品似乎被称为 IPSiO 而不是 Aficio,因此此处未列出的产品仍然可以使用特定的打印机型号。
IPSiO GX e5500
IPSiO SG 2010L
IPSiO SG 2100
IPSiO SG 3100
IPSiO SG 3100SF
IPSiO SG 7100
SG 2200
SG 2300
SG 3100KE
SG 3120SF
SG 3120B SF
SG 3200
SG 3300
SG 5100
SG 5100FT
SG 5200
SG 5200FT
SG 7200
213W Generic PCL Laser 按住 Wi-Fi 按钮 2 秒钟,然后按下停止/启动按钮,即可获得 WPS 代码。
打印机 驱动/过滤器 备注

Samsung

自 2016 年或 2017 年以来,三星已不再从事打印机/扫描仪业务。截至 2019 年,HP 部分支持某些三星打印机/扫描仪。在 2016 年之前,三星是一个主要的参与者。这就是为什么仍然有许多三星机器存在的原因。此外,Linux 和 cups 不断发展。这一切的底线是,支持三星产品正处于变化之中。

关于三星打印机/扫描仪的主要信息站点是 Samsung Unified Linux Driver Repository。尽管名称如此,但它并非隶属于三星 (HP)。它也不仅专注于 samsung-unified-driverAUR。然而,建议的实际驱动程序是来自三星 (HP) 的闭源驱动程序。另一方面,samsung-unified-driver 也包含 Windows 和 Mac。它可能是获取三星打印机和扫描仪驱动程序的第一站,因为它声称(或曾经声称)支持几乎所有这些设备。请注意,samsung-unified-driver 包括可以独立运行的软件,不与 cups 绑定。如果您无法使打印机与 cups 一起工作,您可以尝试此方法。

也就是说,还有更多选择。概述位于 alternatives

  • 对于 Samsung Printer Language,有 splix。有关支持的型号列表,请参阅其 主页。其他 SPL 三星打印机,即使不在该列表中,也可能与 splix 一起工作。
  • QPDL(Quick Page Description Language)打印机,其中一些受 splix 支持,也受 #foo2zjs 软件包提供的 foo2qpdl 支持。已知可工作的型号列表在这里

splixfoo2zjs 是自由软件。

您还应该注意,许多三星打印机都支持 PostScript。它很可能与 CUPS 通用 postscript 打印机一起工作,特别是如果它只是黑白打印机,并且没有添加扫描仪。通用驱动程序可能缺少功能或受到限制,例如在它们对双面打印、颜色控制和分辨率设置的支持方面,并且打印质量可能会降低。

Xerox 或 FujiXerox

打印机 驱动/过滤器 备注
DocuPrint 203A hplip 使用 DocuPrint P8e(hpijs) 驱动程序,或富士施乐网站上的 Brother 驱动程序(有关如何安装自定义 Brother 驱动程序的更多信息,请参阅 #Brother)。
Phaser 3020 xerox-phaser-3020AUR 还支持 Phaser 3052、3117、3140、3155、3160、3200MFP、3250、3260、3300MFP、3320、3435、3600、6110MFP、WorkCentre 3025、3210、3215、3220、3225、3315、3325、3550、4118、PE120、PE220、FaxCentre 2218。
Phaser 3100MFP 安装 Xerox 的驱动程序 有关更多说明,请参阅 #Phaser 3100MFP
Phaser 6115MFP foomatic
Phaser 6121MFP foomatic
Xerox Workcentre 3119 splix 由于 Samsung SCX-4200 是重新贴牌的 Xerox 3119,因此 splix 软件包适用于两者
打印机 驱动/过滤器 备注

自定义驱动程序

Phaser 3100MFP

此文章或章节需要改进语言、wiki 语法或风格。请参阅 Help:Style 以获取参考。

原因:本节涉及安装不使用 pacman 的软件包。这些说明最好使用 PKGBUILD 自动化。(在 Talk:CUPS/Printer-specific problems 中讨论)

下载驱动程序后,执行驱动程序安装程序并接受许可

# cd printer
# ./XeroxPhaser3100.install

请注意,该驱动程序是 32 位的,因此在 x86_64 系统上将需要一些 32 位库:lib32-libpng12lib32-zliblib32-libjpeg6-turbolib32-libcupslib32-libxextlib32-libx11lib32-gcc-libslib32-libstdc++5AUR

对于扫描仪,如果 /etc/sane.d 目录尚不存在,请创建它,因为安装程序需要它

# mkdir -p /etc/sane.d

现在安装驱动程序

# cd scanner/
# ./XeroxPhaser3100sc.install

同样,在 x86_64 安装上,将需要 32 位库。

Phaser 6125N

此文章或章节需要改进语言、wiki 语法或风格。请参阅 Help:Style 以获取参考。

原因:本节涉及安装不使用 pacman 的软件包。这些说明最好使用 PKGBUILD 自动化。(在 Talk:CUPS/Printer-specific problems 中讨论)

富士施乐在此型号上不支持 Linux。已发现稍作调整的 自定义驱动程序 可以开箱即用。

要安装 tarball,请运行

# tar -C / --keep-newer-files -xvzf cups-xerox-phaser-6125n-1.0.0.tar.gz