gpt4 book ai didi

pdf - 由于标题太长,cups 拒绝打印带有 'filter error' 的 pdf 文件

转载 作者:行者123 更新时间:2023-12-02 03:11:52 28 4
gpt4 key购买 nike

我的系统是 Debian 3.16.7。今天,我使用杯子在我的 Kyocera fs-1041 打印机上打印了一个打印作业(一篇名为 Distributed Representations of Words and Phrases and their Compositionality 的论文)。然而,打印机拒绝打印,并在 cups 的浏览器控制面板上显示错误消息“过滤失败”。

在我的/var/cups/error_log 里面它说:

    E [18/Sep/2016:12:36:27 +0200] [Job 225] Job stopped due to filter errors; please consult the error_log file for details.
D [18/Sep/2016:12:36:27 +0200] [Job 225] The following messages were recorded from 12:36:21 PM to 12:36:27 PM
D [18/Sep/2016:12:36:27 +0200] [Job 225] Adding start banner page "none".
D [18/Sep/2016:12:36:27 +0200] [Job 225] Adding end banner page "none".
D [18/Sep/2016:12:36:27 +0200] [Job 225] File of type application/pdf queued by "root".
D [18/Sep/2016:12:36:27 +0200] [Job 225] hold_until=0
D [18/Sep/2016:12:36:27 +0200] [Job 225] Queued on "Kyocera_FS-1041" by "root".
D [18/Sep/2016:12:36:27 +0200] [Job 225] time-at-processing=1474194981
D [18/Sep/2016:12:36:27 +0200] [Job 225] 3 filters for job:
D [18/Sep/2016:12:36:27 +0200] [Job 225] pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
D [18/Sep/2016:12:36:27 +0200] [Job 225] gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, cost 99)
D [18/Sep/2016:12:36:27 +0200] [Job 225] /usr/lib/cups/filter/rastertokpsl (application/vnd.cups-raster to printer/Kyocera_FS-1041, cost 0)
D [18/Sep/2016:12:36:27 +0200] [Job 225] job-sheets=none,none
D [18/Sep/2016:12:36:27 +0200] [Job 225] argv[0]="Kyocera_FS-1041"
D [18/Sep/2016:12:36:27 +0200] [Job 225] argv[1]="225"
D [18/Sep/2016:12:36:27 +0200] [Job 225] argv[2]="root"
D [18/Sep/2016:12:36:27 +0200] [Job 225] argv[3]="Distributed Representations of Words and Phrases and their Compositionality - 5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf"
D [18/Sep/2016:12:36:27 +0200] [Job 225] argv[4]="1"
D [18/Sep/2016:12:36:27 +0200] [Job 225] argv[5]="CaBrightness=0 PageSize=Letter MediaType=PrnDef EngineSpeed=Off CaContrast=0 number-up=1 job-uuid=urn:uuid:a19e56db-80b7-307d-4359-b8a1c32c90f5 job-originating-host-name=localhost time-at-creation=1474194981 time-at-processing=1474194981"
D [18/Sep/2016:12:36:27 +0200] [Job 225] argv[6]="/var/spool/cups/d00225-001"
...
<!-envps>
...
D [18/Sep/2016:12:36:27 +0200] [Job 225] envp[29]="FINAL_CONTENT_TYPE=application/vnd.cups-raster"
D [18/Sep/2016:12:36:27 +0200] [Job 225] envp[30]="AUTH_I****"
D [18/Sep/2016:12:36:27 +0200] [Job 225] Started filter /usr/lib/cups/filter/pdftopdf (PID 4664)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Started filter /usr/lib/cups/filter/gstoraster (PID 4665)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Started filter /usr/lib/cups/filter/rastertokpsl (PID 4666)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Started backend /usr/lib/cups/backend/usb (PID 4667)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Loading USB quirks from "/usr/share/cups/usb".
D [18/Sep/2016:12:36:27 +0200] [Job 225] Loaded 113 quirks.
D [18/Sep/2016:12:36:27 +0200] [Job 225] Printing on printer with URI: usb://Kyocera/FS-1041?serial=NZF2X06371
D [18/Sep/2016:12:36:27 +0200] [Job 225] *** buffer overflow detected ***: Kyocera_FS-1041 terminated
D [18/Sep/2016:12:36:27 +0200] [Job 225] ======= Backtrace: =========
D [18/Sep/2016:12:36:27 +0200] [Job 225] /lib/x86_64-linux-gnu/libc.so.6(+0x731af)[0x7f525aaf11af]
D [18/Sep/2016:12:36:27 +0200] [Job 225] /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f525ab76cf7]
D [18/Sep/2016:12:36:27 +0200] [Job 225] /lib/x86_64-linux-gnu/libc.so.6(+0xf6f10)[0x7f525ab74f10]
D [18/Sep/2016:12:36:27 +0200] [Job 225] Kyocera_FS-1041[0x406c87]
D [18/Sep/2016:12:36:27 +0200] [Job 225] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f525aa9fb45]
D [18/Sep/2016:12:36:27 +0200] [Job 225] Kyocera_FS-1041[0x40799d]
D [18/Sep/2016:12:36:27 +0200] [Job 225] ======= Memory map: ========
D [18/Sep/2016:12:36:27 +0200] [Job 225] 00400000-00430000 r-xp 00000000 08:04 3541254 /usr/lib/cups/filter/rastertokpsl
...
<!-Memory map->
...
D [18/Sep/2016:12:36:27 +0200] [Job 225] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
D [18/Sep/2016:12:36:27 +0200] [Job 225] PID 4666 (/usr/lib/cups/filter/rastertokpsl) crashed on signal 6.
D [18/Sep/2016:12:36:27 +0200] [Job 225] Hint: Try setting the LogLevel to "debug" to find out more.
D [18/Sep/2016:12:36:27 +0200] [Job 225] libusb_get_device_list=8
D [18/Sep/2016:12:36:27 +0200] [Job 225] STATE: +connecting-to-device
D [18/Sep/2016:12:36:27 +0200] [Job 225] STATE: -connecting-to-device
D [18/Sep/2016:12:36:27 +0200] [Job 225] Printer found with device ID: MFG:Kyocera;MDL:FS-1041;CLS:PRINTER;SN:NZF2X06371;CID:KY_KPSL_MonoPersonal; Device URI: usb://Kyocera/FS-1041?serial=NZF2X06371
D [18/Sep/2016:12:36:27 +0200] [Job 225] Device protocol: 2
D [18/Sep/2016:12:36:27 +0200] [Job 225] Sending data to printer.
D [18/Sep/2016:12:36:27 +0200] [Job 225] Sent 0 bytes...
D [18/Sep/2016:12:36:27 +0200] [Job 225] PID 4664 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
D [18/Sep/2016:12:36:27 +0200] [Job 225] Color Manager: Calibration Mode/Off
D [18/Sep/2016:12:36:27 +0200] [Job 225] Calling FindDeviceById(cups-Kyocera_FS-1041)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Found device /org/freedesktop/ColorManager/devices/cups_Kyocera_FS_1041
D [18/Sep/2016:12:36:27 +0200] [Job 225] Calling org.freedesktop.ColorManager.Device.Get(ProfilingInhibitors)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Calling FindDeviceById(cups-Kyocera_FS-1041)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Found device /org/freedesktop/ColorManager/devices/cups_Kyocera_FS_1041
D [18/Sep/2016:12:36:27 +0200] [Job 225] Calling GetProfileForQualifiers(Gray.PrnDef.600dpi...)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Found profile /org/freedesktop/ColorManager/profiles/Kyocera_FS_1041_Gray__
D [18/Sep/2016:12:36:27 +0200] [Job 225] Calling org.freedesktop.ColorManager.Profile.Get(Filename)
D [18/Sep/2016:12:36:27 +0200] [Job 225] Use profile filename: ''
D [18/Sep/2016:12:36:27 +0200] [Job 225] Color Manager: ICC Profile:
D [18/Sep/2016:12:36:27 +0200] [Job 225] Ghostscript command line: /usr/bin/gs -dQUIET -dPARANOIDSAFER -dNOPAUSE -dBATCH -dNOINTERPOLATE -sDEVICE=cups -sstdout=%stderr -sOutputFile=%stdout -r600x600 -dDEVICEWIDTHPOINTS=612 -dDEVICEHEIGHTPOINTS=792 -dcupsBitsPerColor=8 -dcupsColorOrder=0 -dcupsColorSpace=3 -dcupsCompression=1 -scupsPageSizeName=Letter -I/usr/share/cups/fonts -c '<</.HWMargins[12.000000 8.000000 12.000000 16.000000] /Margins[0 0]>>setpagedevice' -f -_
D [18/Sep/2016:12:36:27 +0200] [Job 225] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
...
<!-envps->
...
D [18/Sep/2016:12:36:27 +0200] [Job 225] envp[30]="AUTH_INFO_REQUIRED=none"
D [18/Sep/2016:12:36:27 +0200] [Job 225] Start rendering...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 1...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 2...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Waiting for read thread to exit...
D [18/Sep/2016:12:36:27 +0200] [Job 225] PID 4667 (/usr/lib/cups/backend/usb) exited with no errors.
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 3...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 4...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 5...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 6...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 7...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 8...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Processing page 9...
D [18/Sep/2016:12:36:27 +0200] [Job 225] Rendering completed
D [18/Sep/2016:12:36:27 +0200] [Job 225] PID 4665 (/usr/lib/cups/filter/gstoraster) exited with no errors.
D [18/Sep/2016:12:36:27 +0200] [Job 225] End of messages

搜索了几个问题,例如 thisthis等等,我仍然找不到摆脱这个问题的方法。

奇怪的是,现在 cups 的测试页或者 LibreOffice 等创建的 doc 文件仍然可以打印。

所以我猜可能是pdf文件本身引起的,开始破解格式化文件,最后意识到太长的/Title字段会导致这个问题。将该字段从“单词和短语的分布式表示及其组合性”更改为“测试”后,它真的有效!!

但仍然不知道为什么这么长的 /Title 字段会导致过滤器错误,任何人都可以建议答案或给我发一个关于过滤器如何处理 pdf 文件的链接吗?

最佳答案

为了修复它,您需要在文本编辑器中打开打印机的 PPD 文件。找到一行 *cupsFilter: "application/vnd.cups-raster 0/usr/lib/cups/filter/rastertokpsl" 并将 rastertokpsl 更改为 rastertokpsl-fixed 。之后,保存并打开一个终端。在终端中输入 sudo nano/usr/lib/cups/filter/rastertokpsl-fixed 并按 Enter。

将此内容粘贴到:

#!/bin/bash
jobname=$(echo $3 | egrep -o '[[:alnum:]]' | tr -d '\n' | tail -c 20)
path=/usr/lib/cups/filter
$path/rastertokpsl "$1" "$2" "$jobname" "$4" "$5"

然后按 Ctrl+O。现在您可以使用此 PPD 在“设置”中设置打印机。

关于pdf - 由于标题太长,cups 拒绝打印带有 'filter error' 的 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39557654/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com