Canon PIXMA TS305 无法打印自定义页面尺寸

Canon PIXMA TS305 无法打印自定义页面尺寸

我有一台佳能 Pixma TS305,我用它来打印 110x290cm 的自定义尺寸标签。

最新的 Linux 驱动程序来自 https://www.canon.sk/support/consumer_products/products/fax__multifunctions/inkjet/pixma_ts_series/pixma-ts305.html?type=drivers&language=sk&os=linux%20(64 位)

通过无驱动程序的 dnssd,可以轻松在本地网络中设置打印机,并且安装脚本运行良好。打印工作正常,我能够在 /etc/cups/ppd/.. 目录中的给定 PPD 文件中添加自定义纸张尺寸。

现在我正尝试通过 VPN 访问该打印机。在 Ubuntu 中,我通过查找主机并选择 IPP 或 JetDirect 协议安装了一台新打印机。安装程序选择了正确的驱动程序,我可以打印测试页。

当我尝试打印到自定义尺寸时,问题就出现了。我尝试在 PPD 中指定尺寸,甚至通过 Ubuntu 打印系统对话框进行打印。打印结束时,打印机队列中的状态为“已停止”。http://localhost:631/ 上的 cups 界面显示“过滤失败”,/var/log/cups/error_log 给出了记录消息的摘要:

**E [23/Jul/2022:11:29:28 +0200] [Job 496] Unable to open raster stream - : Broken pipe**
E [23/Jul/2022:11:29:28 +0200] [Job 496] Job stopped due to filter errors; please consult the /var/log/cups/error_log file for details.
D [23/Jul/2022:11:29:28 +0200] [Job 496] The following messages were recorded from 11:29:28 to 11:29:28
D [23/Jul/2022:11:29:28 +0200] [Job 496] Applying default options...
D [23/Jul/2022:11:29:28 +0200] [Job 496] Adding start banner page "none".
D [23/Jul/2022:11:29:28 +0200] [Job 496] Adding end banner page "none".
D [23/Jul/2022:11:29:28 +0200] [Job 496] File of type application/pdf queued by "praetorian".
D [23/Jul/2022:11:29:28 +0200] [Job 496] hold_until=0
D [23/Jul/2022:11:29:28 +0200] [Job 496] Queued on "TS305" by "praetorian".
D [23/Jul/2022:11:29:28 +0200] [Job 496] time-at-processing=1658568568
D [23/Jul/2022:11:29:28 +0200] [Job 496] 3 filters for job:
D [23/Jul/2022:11:29:28 +0200] [Job 496] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
D [23/Jul/2022:11:29:28 +0200] [Job 496] gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, cost 99)
D [23/Jul/2022:11:29:28 +0200] [Job 496] rastertocanonij (application/vnd.cups-raster to printer/TS305, cost 0)
D [23/Jul/2022:11:29:28 +0200] [Job 496] job-sheets=none,none
D [23/Jul/2022:11:29:28 +0200] [Job 496] argv[0]="TS305"
D [23/Jul/2022:11:29:28 +0200] [Job 496] argv[1]="496"
D [23/Jul/2022:11:29:28 +0200] [Job 496] argv[2]="praetorian"
D [23/Jul/2022:11:29:28 +0200] [Job 496] argv[3]="Výjazdový zákazkový list-52056.pdf"
D [23/Jul/2022:11:29:28 +0200] [Job 496] argv[4]="1"
**D [23/Jul/2022:11:29:28 +0200] [Job 496] argv[5]="PageSize=Custom.595.28x841.89** MediaType=plain number-up=1 noCollate noCNGrayscale Duplex=None job-uuid=urn:uuid:c0e309ed-8e9b-3f9f-6f15-c4c21141e27b job-originating-host-name=localhost date-time-at-creation= date-time-at-processing= time-at-creation=1658568568 time-at-processing=1658568568"
D [23/Jul/2022:11:29:28 +0200] [Job 496] argv[6]="/var/spool/cups/d00496-001"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[1]="CUPS_DATADIR=/usr/share/cups"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[2]="CUPS_DOCROOT=/usr/share/cups/doc-root"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[5]="CUPS_SERVERBIN=/usr/lib/cups"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[6]="CUPS_SERVERROOT=/etc/cups"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[7]="CUPS_STATEDIR=/run/cups"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[8]="HOME=/var/spool/cups/tmp"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[9]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[10]="SERVER_ADMIN=root@praetorian-Vostro-3500"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[11]="SOFTWARE=CUPS/2.3.1"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[12]="TMPDIR=/var/spool/cups/tmp"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[13]="USER=root"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[14]="CUPS_MAX_MESSAGE=2047"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[15]="CUPS_SERVER=/run/cups/cups.sock"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[16]="CUPS_ENCRYPTION=IfRequested"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[17]="IPP_PORT=631"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[18]="CHARSET=utf-8"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[19]="LANG=en_US.UTF-8"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[20]="PPD=/etc/cups/ppd/TS305.ppd"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[21]="RIP_MAX_CACHE=128m"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[22]="CONTENT_TYPE=application/pdf"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[23]="DEVICE_URI=socket://192.168.57.105:9100"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[24]="PRINTER_INFO=TS305"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[25]="PRINTER_LOCATION=office"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[26]="PRINTER=TS305"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[27]="PRINTER_STATE_REASONS=none"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[28]="CUPS_FILETYPE=document"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[29]="FINAL_CONTENT_TYPE=application/vnd.cups-raster"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[30]="AUTH_I****"
D [23/Jul/2022:11:29:28 +0200] [Job 496] Started filter /usr/lib/cups/filter/pdftopdf (PID 1421477)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Started filter /usr/lib/cups/filter/gstoraster (PID 1421478)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Started filter /usr/lib/cups/filter/rastertocanonij (PID 1421479)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Started backend /usr/lib/cups/backend/socket (PID 1421480)
D [23/Jul/2022:11:29:28 +0200] [Job 496] PID 1421479 (/usr/lib/cups/filter/rastertocanonij) stopped with status 255 (Unknown error 155)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Hint: Try setting the LogLevel to "debug" to find out more.
D [23/Jul/2022:11:29:28 +0200] [Job 496] OUTFORMAT=\"(null)\", so output format will be CUPS/PWG Raster
D [23/Jul/2022:11:29:28 +0200] [Job 496] pdftopdf: Last filter determined by the PPD: rastertocanonij; FINAL_CONTENT_TYPE: application/vnd.cups-raster => pdftopdf will not log pages in page_log.
D [23/Jul/2022:11:29:28 +0200] [Job 496] PDF interactive form and annotation flattening done via QPDF
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: +connecting-to-device
D [23/Jul/2022:11:29:28 +0200] [Job 496] Looking up \"192.168.57.105\"...
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -connecting-to-device
D [23/Jul/2022:11:29:28 +0200] [Job 496] 192.168.57.105=192.168.57.105
D [23/Jul/2022:11:29:28 +0200] [Job 496] PID 1421477 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
D [23/Jul/2022:11:29:28 +0200] [Job 496] Color Manager: Calibration Mode/Off
D [23/Jul/2022:11:29:28 +0200] [Job 496] Calling FindDeviceById(cups-TS305)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Found device /org/freedesktop/ColorManager/devices/cups_TS305
D [23/Jul/2022:11:29:28 +0200] [Job 496] Calling org.freedesktop.ColorManager.Device.Get(ProfilingInhibitors)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Calling FindDeviceById(cups-TS305)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Found device /org/freedesktop/ColorManager/devices/cups_TS305
D [23/Jul/2022:11:29:28 +0200] [Job 496] Calling GetProfileForQualifiers(rgb.plain.600dpi...)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Found profile /org/freedesktop/ColorManager/profiles/TS305_RGB__
D [23/Jul/2022:11:29:28 +0200] [Job 496] Calling org.freedesktop.ColorManager.Profile.Get(Filename)
D [23/Jul/2022:11:29:28 +0200] [Job 496] Use profile filename: \'\'
D [23/Jul/2022:11:29:28 +0200] [Job 496] Color Manager: ICC Profile: 
D [23/Jul/2022:11:29:28 +0200] [Job 496] Ghostscript using Any-Part-of-Pixel method to fill paths.
D [23/Jul/2022:11:29:28 +0200] [Job 496] Ghostscript command line: gs -dQUIET -dSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -dNOMEDIAATTRS -dShowAcroForm -sstdout=%stderr -sOutputFile=%stdout -sDEVICE=cups -sMediaType=plain -r600x600 -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=1 -scupsPageSizeName=A4 -I/usr/share/cups/fonts -c \'<</.HWMargins[9.640000 14.380000 9.359985 8.500000] /Margins[0 0]>>setpagedevice\' -f -_
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[0]=\"CUPS_CACHEDIR=/var/cache/cups\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[1]=\"CUPS_DATADIR=/usr/share/cups\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[2]=\"CUPS_DOCROOT=/usr/share/cups/doc-root\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[3]=\"CUPS_FONTPATH=/usr/share/cups/fonts\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[4]=\"CUPS_REQUESTROOT=/var/spool/cups\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[5]=\"CUPS_SERVERBIN=/usr/lib/cups\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[6]=\"CUPS_SERVERROOT=/etc/cups\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[7]=\"CUPS_STATEDIR=/run/cups\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[8]=\"HOME=/var/spool/cups/tmp\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[9]=\"PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[10]=\"SERVER_ADMIN=root@praetorian-Vostro-3500\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[11]=\"SOFTWARE=CUPS/2.3.1\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[12]=\"USER=root\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[13]=\"CUPS_MAX_MESSAGE=2047\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[14]=\"CUPS_SERVER=/run/cups/cups.sock\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[15]=\"CUPS_ENCRYPTION=IfRequested\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[16]=\"IPP_PORT=631\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[17]=\"CHARSET=utf-8\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[18]=\"LANG=en_US.UTF-8\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[19]=\"PPD=/etc/cups/ppd/TS305.ppd\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[20]=\"RIP_MAX_CACHE=128m\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[21]=\"CONTENT_TYPE=application/pdf\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[22]=\"DEVICE_URI=socket://192.168.57.105:9100\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[23]=\"PRINTER_INFO=TS305\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[24]=\"PRINTER_LOCATION=office\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[25]=\"PRINTER=TS305\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[26]=\"PRINTER_STATE_REASONS=none\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[27]=\"CUPS_FILETYPE=document\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[28]=\"FINAL_CONTENT_TYPE=application/vnd.cups-raster\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] envp[29]=\"AUTH_INFO_REQUIRED=none\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] Start rendering...
D [23/Jul/2022:11:29:28 +0200] [Job 496] Processing page 1...
D [23/Jul/2022:11:29:28 +0200] [Job 496] hrDeviceDesc=\"Canon TS300 series 1.110\"
**D [23/Jul/2022:11:29:28 +0200] [Job 496] Error: /ioerror in --showpage--**
D [23/Jul/2022:11:29:28 +0200] [Job 496] Operand stack:
D [23/Jul/2022:11:29:28 +0200] [Job 496] true   (/tmp/gs_rP8rLZ)   --nostringval--   1   true
D [23/Jul/2022:11:29:28 +0200] [Job 496] Execution stack:
D [23/Jul/2022:11:29:28 +0200] [Job 496] %interp_exit   .runexec2   --nostringval--   showpage   --nostringval--   2   %stopped_push   --nostringval--   showpage   showpage   false   1   %stopped_push   1990   2   3   %oparray_pop   1989   2   3   %oparray_pop   1977   2   3   %oparray_pop   showpage   1978   4   3   %oparray_pop   showpage   showpage   2   1   1   showpage   %for_pos_int_continue   1981   4   7   %oparray_pop   showpage   showpage   1840   3   9   %oparray_pop   showpage   showpage
D [23/Jul/2022:11:29:28 +0200] [Job 496] Dictionary stack:
D [23/Jul/2022:11:29:28 +0200] [Job 496] --dict:739/1123(ro)(G)--   --dict:1/20(G)--   --dict:80/200(L)--   --dict:80/200(L)--   --dict:135/256(ro)(G)--   --dict:316/325(ro)(G)--   --dict:31/32(L)--   --dict:6/9(L)--   --dict:6/20(L)--
D [23/Jul/2022:11:29:28 +0200] [Job 496] Current allocation mode is local
D [23/Jul/2022:11:29:28 +0200] [Job 496] Last OS error: Broken pipe
D [23/Jul/2022:11:29:28 +0200] [Job 496] GPL Ghostscript 9.50: Unrecoverable error, exit code 1
D [23/Jul/2022:11:29:28 +0200] [Job 496] Rendering completed
D [23/Jul/2022:11:29:28 +0200] [Job 496] PID 1421478 (/usr/lib/cups/filter/gstoraster) stopped with status 1.
D [23/Jul/2022:11:29:28 +0200] [Job 496] Hint: Try setting the LogLevel to "debug" to find out more.
D [23/Jul/2022:11:29:28 +0200] [Job 496] prtMarkerColorantValue.1.1 = \"black\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] prtMarkerColorantValue.1.2 = \"color\"
D [23/Jul/2022:11:29:28 +0200] [Job 496] ATTR: marker-colors=#000000,none
D [23/Jul/2022:11:29:28 +0200] [Job 496] ATTR: marker-names=\'\"Canon Black Ink Tank\"\',\'\"Canon Color Ink Tank\"\'
D [23/Jul/2022:11:29:28 +0200] [Job 496] ATTR: marker-types=ink-cartridge,ink-cartridge
D [23/Jul/2022:11:29:28 +0200] [Job 496] ATTR: marker-levels=-1,-1
D [23/Jul/2022:11:29:28 +0200] [Job 496] new_supply_state=0, change_state=ffff
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -developer-low-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -developer-empty-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -marker-supply-low-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -marker-supply-empty-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -opc-near-eol-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -opc-life-over-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -toner-low-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -toner-empty-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -waste-receptacle-almost-full-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -waste-receptacle-full-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -cleaner-life-almost-over-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -cleaner-life-over-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] new_state=0, change_state=ffff
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -media-empty-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -door-open-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -media-jam-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -input-tray-missing-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -output-tray-missing-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -marker-supply-missing-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -output-area-almost-full-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -output-area-full-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] backendWaitLoop(snmp_fd=5, addr=0x55a5e49deb98, side_cb=0x55a5e2d7c6a0)
D [23/Jul/2022:11:29:28 +0200] [Job 496] PID 1421480 (/usr/lib/cups/backend/socket) exited with no errors.
D [23/Jul/2022:11:29:28 +0200] [Job 496] End of messages
D [23/Jul/2022:11:29:28 +0200] [Job 496] printer-state=3(idle)
D [23/Jul/2022:11:29:28 +0200] [Job 496] printer-state-message="Rendering completed"
D [23/Jul/2022:11:29:28 +0200] [Job 496] printer-state-reasons=none
^C
root@praetorian-Vostro-3500:/etc/cups/ppd# tail -f /var/log/cups/error_log
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -output-tray-missing-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -marker-supply-missing-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -output-area-almost-full-report
D [23/Jul/2022:11:29:28 +0200] [Job 496] STATE: -output-area-full-warning
D [23/Jul/2022:11:29:28 +0200] [Job 496] backendWaitLoop(snmp_fd=5, addr=0x55a5e49deb98, side_cb=0x55a5e2d7c6a0)
D [23/Jul/2022:11:29:28 +0200] [Job 496] PID 1421480 (/usr/lib/cups/backend/socket) exited with no errors.
D [23/Jul/2022:11:29:28 +0200] [Job 496] End of messages
D [23/Jul/2022:11:29:28 +0200] [Job 496] printer-state=3(idle)
D [23/Jul/2022:11:29:28 +0200] [Job 496] printer-state-message="Rendering completed"
D [23/Jul/2022:11:29:28 +0200] [Job 496] printer-state-reasons=none

当我尝试打印到已知的预定义纸张尺寸(A4、明信片等)时,打印工作正常。一旦我更改纸张尺寸,就会出现此错误。

打印机确实能够打印自定义尺寸。但由于某种原因,IPP/JetDirect 方式试图拦截并设置错误的文档尺寸,并且无法应用过滤器。

有机会得到这个工作吗?谢谢。

答案1

好的,我找到了解决方案:

我将之前安装并运行的 dnssd 打印机的打印功能与受此线程启发的新设置的远程 IPP 打印机进行了比较:

https://super-unix.com/ubuntu/ubuntu-custom-paper-size-processing-not-connected/ https://www.linuxquestions.org/questions/ubuntu-63/custom-page-size-problem-773199/

root@praetorian-Vostro-3500:/etc/cups/ppd# lpoptions -p Canon-TS300-series-ofic -l
PageSize/Media Size: 3.5x5 3.5x5.Borderless 4x6 4x6.Borderless *A4 A4.Borderless Letter Letter.Borderless Postcard Postcard.Borderless Custom.WIDTHxHEIGHT
InputSlot/Media Source: Auto *Main
MediaType/Media Type: *Stationery Photographic
ColorModel/Print Color Mode: *RGB Gray
cupsPrintQuality/Print Quality: *Normal High

root@praetorian-Vostro-3500:/etc/cups/ppd# lpoptions -p Canon-TS305-ofis -l
MediaType/Media Type: *plain glossygold glossypaper photopaper ijpostcard postcard
CNGrayscale/Grayscale Printing: True *False
PageSize/Page Size: Letter *A4 4x6 4x6.bl l l.bl Postcard Postcard.bl
Duplex/Duplex Printing: *None
Resolution/Output Resolution: *600dpi
ColorModel/Color Model: *rgb

新设置的打印机明显缺少选项自定义.WIDTHxHEIGHT因此非标准页面尺寸的打印命令也会失败。

在安装同一台设备时,我对这种差异感到困惑。然后,我在一次又一次尝试修改打印机时注意到 http://localhost:631/ cups 客户端中的打印机驱动程序名称存在差异。之前工作的打印机驱动程序名称后面跟着

... IPP无处不在™

https://istopwg.github.io/ipp/evefaq.html

我假设佳能提供的原始 install.sh 脚本会以某种方式利用 IPP Everywhere 功能,但它无法检测到不同子网中的远程打印机。因此,我搜索了强制 cups 检测和远程添加打印机的方法,并找到了此 Oracle 文档

https://docs.oracle.com/cd/E36784_01/html/E36821/gmfou.html

使用有用的命令,例如

lpinfo --make-and-model Canon -m

它提供了一系列支持的佳能打印机以及 TS300 系列 PPD

canonts300.ppd Canon TS300 series Ver.5.50
lsb/usr/canonts300.ppd Canon TS300 series Ver.5.50

有趣的是,这个司机也

everywhere IPP Everywhere

将所有内容放在一起并使用 Oracle 文档提供的命令添加新打印机如下:

lpadmin -p TS305 -E -v ipp://192.168.57.105:631 -m everywhere

我再次使用 PPD 中设置的自定义尺寸进行打印。更重要的是,与原始佳能驱动程序相比,现在我看到了扩展的打印机功能。希望这对某些人有所帮助。

相关内容