我用的是ubuntu系统,用cups来配置打印机,用lp命令打印文本文件。打印英文都没问题,但是打印中文的话要么是乱码,要么干脆就跳过不打。用gedit打印的话都没问题,中文支持的很好,但是在命令行下就不能打出中文,请问我要做哪些配置呢?
对于中文打印支持了解的还不太多,请多帮助!谢谢!
请问在cups下怎么用lp命令打印出中文?
-
- 帖子: 3
- 注册时间: 2014-10-20 16:02
- 系统: ubuntu12.10
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: 请问在cups下怎么用lp命令打印出中文?
看看 這些網頁 能否幫你解惑
http://localhost:631/help/options.html? ... ted&QUERY=
http://localhost:631/help/man-lp.html
http://localhost:631/help/man-lpr.html
如果還不行 請提供安裝的印表機驅動套件名稱
http://localhost:631/help/options.html? ... ted&QUERY=
http://localhost:631/help/man-lp.html
http://localhost:631/help/man-lpr.html
如果還不行 請提供安裝的印表機驅動套件名稱
-
- 帖子: 3
- 注册时间: 2014-10-20 16:02
- 系统: ubuntu12.10
Re: 请问在cups下怎么用lp命令打印出中文?
谢谢:poloshiao
我先看看
我先看看
-
- 帖子: 3
- 注册时间: 2014-10-20 16:02
- 系统: ubuntu12.10
Re: 请问在cups下怎么用lp命令打印出中文?
不行啊,没有找到解决的信息。在gedit中,点击直接打印,没有问题,就是想问问,这个直接打印的原理。
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: 请问在cups下怎么用lp命令打印出中文?
請提供安裝的印表機驅動套件名稱
-
- 帖子: 1555
- 注册时间: 2012-03-31 3:29
Re: 请问在cups下怎么用lp命令打印出中文?
lp一族的命令是继承自unix的古老的命令,那个时代比UTF-8的诞生早很多,所以导致直接用lp命令打印多字节的UTF-8编码的字符如中文一定是有问题的。这是lp一开始设计时根本没去考虑的因素,不可能“无缝”地支持。之所以UTF-8下英文文本文件可以通过lp正常打印,是因为UTF-8的000000h - 00007Fh部分其实就是ASCII,是在1个字节内的,这是英文ASCII字符比其他UTF-8多字节的文字具有的“先天优势”。ab13402364 写了:不行啊,没有找到解决的信息。在gedit中,点击直接打印,没有问题,就是想问问,这个直接打印的原理。
想在它buntu命令行下直接用命令打印包含类似中文的UTF-8纯文本文件,目前最方便的手段是通过paps先将UTF-8的文本文件转换为PostScript的格式,这个格式是可以用lp命令在CUPS下正常打印的。
方法:
代码: 全选
sudo apt-get install paps
cat UTF8_txt_file | paps | lp
至于linux打印的原理,不是一两句话可以说清楚的。楼主如有兴趣请自学:字符编码,文件格式,linux驱动模块,linux打印系统的设计原理等专题--其中任何一个专题,真要详细研究下去,都够你读个硕士、博士了。。。但如果楼主对linux/unix有这样一个基本概念,这个问题其实也很好理解:*nix中一切皆文件,打印的过程其实就是读一个文件(如要打印的文档),然后将其按照一定的文件格式写入另一个文件(打印输出文件);之所以出现乱码,就是写文件的时候文件格式错了,因为每条命令都有自己认识的格式和不认识的格式。。。
三年后终于回到16.04--稳定了!
-
- 帖子: 1
- 注册时间: 2019-08-05 14:41
- 系统: ubuntu14