我正在尝试以编程方式将 PDF 打印到纸上,使用lp
raspberry pi 作为工作应用程序的一部分。从打印机中打印出来的 PDF 看起来像完全随机的 unicode 废话,并且它会一页一页地打印,即使输入的是单页 pdf 文档。
我安装了两台打印机,一台兄弟打印机和一台佳能打印机,使用cups
带有默认选项的 Web 界面。
我确实注意到了以下几点:
$> lpstat -a
Brother_HL-L6200DW_series accepting requests since Mon 18 Nov 2019 12:54:20 PM MST
Canon_MF642C_643C_644C accepting requests since Tue 26 Nov 2019 09:34:52 AM MST
PDF accepting requests since Wed 20 Nov 2019 02:10:44 PM MST
$> cupsfilter --list-filters -d Canon_MF642C_643C_644C race_sheet_281.pdf
gziptoany
$> cupsfilter --list-filters -d Brother_HL-L6200DW_series race_sheet_281.pdf
gziptoany
顺便说一句,这两台打印机都是通过网络连接的。
粗略一看,似乎没有使用适当的过滤器,但我确实注意到存在过多的过滤器/usr/lib/cups/filter
:
ls /usr/lib/cups/filter/
bannertopdf commandtocanon emftopdf gziptoany imagetoubrl pdftopdf rastertoepson rastertopclm svgtopdf texttopdf vectortoubrl
brftoembosser commandtoepson foomatic-rip imagetobrf imageubrltoindexv3 pdftops rastertoescpx rastertopclx sys5ippprinter texttops wmftopdf
brftopagedbrf commandtoescpx gstopdf imagetopdf imageubrltoindexv4 pdftoraster rastertogutenprint.5.3 rastertopdf textbrftoindexv3 texttotext xfigtopdf
cgmtopdf commandtopclx gstopxl imagetops mupdftoraster pstops rastertohp rastertops textbrftoindexv4 vectortobrf
cmxtopdf commandtops gstoraster imagetoraster musicxmltobrf rastertodymo rastertolabel rastertopwg texttobrf vectortopdf
我想打印到任一打印机,但我没有闲暇整天测试这个东西,因为打印机和 pi 处于不同的状态,而且我们每次测试时都必须要求我们非常忙碌的客户站在打印机旁。
这仅仅是找到驱动程序的问题吗?如果不是,那么是否需要配置打印机以使用正确的过滤器?
先感谢您!
答案1
我有过类似的设置(Pi 作为打印服务器并且上面有大约 8 台网络打印机 - 不同制造商),其中一些无法正确打印(打印输出为乱码)。
尝试了不同的驱动程序后,一切都开始工作了(但有时需要多次尝试,并且在某些情况下比特定的驱动程序更通用)。