一臺(tái)惠普MFP 1136w,使用了官網(wǎng)下載的linux驅(qū)動(dòng)(沒有使用IPP Anywhere默認(rèn)配置的驅(qū)動(dòng),因?yàn)镮PP的驅(qū)動(dòng)只有300dpi,并且不能修改),并正確配置了其ppd。在cups網(wǎng)頁中已經(jīng)設(shè)置好了默認(rèn)紙張尺寸為A4,但是實(shí)際打印總是打不滿A4的幅面,下面空了1厘米多。排查了很久,終于從lpoptions中看出了端倪
# lpoptions -p HP_Laser_MFP_1136-1139_1188 -l
ColorModel/Color Mode: *Gray
Quality/Quality: *600dpi 1200dpi
secBrightness/Brightness Level: 0 10 20 30 40 *50 60 70 80 90 100
secContrast/Contrast Level: 0 10 20 30 40 *50 60 70 80 90 100
InputSlot/Paper Source: *Auto Manual
TonerSaveMode/Toner Save: Save *Standard
PageSize/Page Size: Letter Legal A4 Executive Folio JB5 B5-ISO A5 COM10 Monarch DL C5 Oficio_S PCard4x6
MediaType/Paper Type: *None Plain Thick Thin Bond Color Card Labels Preprinted Cotton Archive Recycled Envelope
JCLSkipBlankPages/Skip Blank Pages: *False True
JCLEdgeEnhance/Edge Enhancement: Off *Normal Maximum
這里PageSize一項(xiàng),沒有任何值打上了*,也就是說還沒有設(shè)置默認(rèn)值。如果在使用lp命令進(jìn)行打印時(shí),加上-o PageSize=A4,打印就正常了。同樣,如果使用 lpoptions -o PageSize=A4 先配置好,再使用lp命令打印也是正常的。那么問題的根源就是在于,為什么cups網(wǎng)頁配置的紙張尺寸,沒有反映到 lptoptions 中?
通過搜索,得知 lpoptions 更改的配置項(xiàng),會(huì)保存在 /etc/cups/lpoptions。而網(wǎng)頁修改的配置項(xiàng),會(huì)保存到 /etc/cups/ppd/打印機(jī).ppd 。lpoptions 的設(shè)置直接影響了 lp 命令的打印效果。而網(wǎng)頁中的配置項(xiàng)也可以在命令行通過 lpadmin 修改。
https://unix.stackexchange.com/questions/339205/setting-cups-defaults-with-lpoptions-vs-web-interface
繼續(xù)在網(wǎng)上搜索時(shí),得知了有 cupstestppd 這個(gè)命令可以檢查ppd文件,并且設(shè)置紙張尺寸需要在PageSize、PageRegion、ImageableArea 、PaperDimension 四個(gè)地方均做配置
https://stackoverflow.com/questions/1028891/whats-the-easiest-way-to-add-custom-page-sizes-to-a-ppd
用 cupstestppd 檢查hp提供的ppd,發(fā)現(xiàn)了如下的警告
# cupstestppd HP_Laser_1003_1008.ppd
HP_Laser_1003_1008.ppd: PASS
WARN Size "Folio" should be the Adobe standard name "FanFoldGermanLegal".
WARN Size "JB5" should be the Adobe standard name "B5".
WARN Size "B5-ISO" should be the Adobe standard name "ISOB5".
WARN Size "COM10" should be the Adobe standard name "Env10".
WARN Size "Monarch" should be the Adobe standard name "EnvMonarch".
WARN Size "DL" should be the Adobe standard name "EnvDL".
WARN Size "C5" should be the Adobe standard name "EnvC5".
WARN Size "Oficio_S" should be the Adobe standard name "8.5x13.5".
WARN Size "PCard4x6" should be the Adobe standard name "4x6".
WARN DefaultCompression has no corresponding options.
ppd中的幾個(gè)尺寸名稱不符合Adobe標(biāo)準(zhǔn)。反正正常只用A4,就把ppd中幾個(gè)不規(guī)范名稱的尺寸都刪掉了。然后用修改后的ppd重新配置一次打印機(jī),lpoptions中的PageSize就可以和網(wǎng)頁中的配置同步了