当试图通过lpr从xterm向打印机发送文本文件时,内容被损坏,无法识别,其原因最终被跟踪到文件的编码。如果我用iconv (例如,iconv -f utf-8 -t ascii//TRANSLIT)处理文本,那么文件将正常打印。我遇到的另一个建议是设置文档格式(例如,lpr -o document-format=text/utf8),但这会返回错误lpr: Unsupported document-format "text/utf8"。我总是可以将lpr命令化名为iconv包含处理,但是在CUPS/lpr系统中是否有一种更通用的方法来支持本机utf-8?
编辑:我的操作系统是Debian 8,我的窗口管理器是openbox (没有桌面环境)。我可以在MacOS X和Debian7 7/Gnome3系统中打印这个文件,没有任何问题。
从我目前的系统中,我应该指出,即使将字符编码从UTF-8改为ASCII,换行符也不受lpr的尊重,因此这些行被连在一起并打印,直到达到纸边为止。在iconv对MacOS X进行重新编码和音译之后,打印仍然正常工作(因此换行符问题也是特定于当前系统的)。
发布于 2014-08-27 13:25:50
对paps也可以这样做;
#!/bin/bash
#This script converts UTF-8 txt to postscript
paps | lpr
Sometimes you need to specify the prinqueue;
#!/bin/bash
# This script converts UTF-8 txt to postscript
paps | lpr -P lj与杯子的短信相比,Paps做得更好。
发布于 2014-08-29 21:25:30
我不知道您是否认为HPLIP是一个外部依赖项,但是这里是直接来自CUPS的官方驱动程序推荐。
CUPS打印机驱动程序:打印机驱动程序
这是Debian Repo:HPLIPS中的包信息
如Thushi所述,您的系统不知道如何在不使用像paps这样的工具的情况下对文档进行栅格化。安装hplip包并在http://localhost:631上配置它以使用推荐的驱动程序将解决您的问题。有关更多信息,请参见系统打印条目在DebianWiki
发布于 2014-08-29 21:45:54
我也遇到了同样的问题-帮助我解决了这个问题:
http://www.bsmdevelopment.com/Reference/Tech_20130004.html
真的很棒。您甚至可以为文本/纯文本打印选择字体,如FreeMono或速递。
干杯,
https://unix.stackexchange.com/questions/150501
复制相似问题