用debian的话,应该源里有的
$ apt-cache show paps
Package: paps
Priority: optional
Section: text
Installed-Size: 44
Maintainer: Debian Hebrew Packaging Team <debian-hebrew-package@lists.alioth.debian.org>
Architecture: i386
Version: 0.6.6-1
Depends: libc6 (>= 2.3.6-6), libfreetype6 (>= 2.2), libglib2.0-0 (>= 2.10.0), libpango1.0-0 (>= 1.12.1)
Filename: pool/main/p/paps/paps_0.6.6-1_i386.deb
Size: 15574
MD5sum: db99c7b99e626a7ea76d296429664381
SHA1: 75637e318c7f87eea8a0395965f2be106fcd9a46
SHA256: 8449e5a5d6c651638cd2c9c3eea2d796008f788063a40cc7cfd74e94daf13ef5
Description: UTF-8 to PostScript converter using Pango
Paps reads a UTF-8 encoded file and generates a PostScript
language rendering of the file. The rendering is done by
creating outline curves through the pango ft2 backend.
.
Homepage: http://paps.sourceforge.net/ woodandwood
06-08-24, 13:42
在我的Debian里没有。按照你说的,那就是下源码来自己编了?
像u2ps是把utf8转换,如果不是utf8呢?我换了台机器,发现是iso-8859-1编码,那该怎么办?
我尝试了用bg5ps来做,但是打印转换后的ps文件是很奇怪的中文,都是不认识的字。如果用u2ps来的话,就如下显示
/tmp # u2ps -X gbk --gpfamily=Sans -o test.ps test.txt
(gnome-u2ps:753): libgnomevfs-WARNING **: Unable to create ~/.gnome directory: No such file or directory
Could not create per-user gnome configuration directory `/root/.gnome2/': No such file or directory
/tmp #
在/tmp下生产不了ps文件,这又是为什么呢
woodandwood
06-08-24, 14:54
用a2ps 可以吗?我下了下来,但是不知道怎么用:(
而且还报错:a2ps:unknown medium 'libpaper'
woodandwood
06-08-24, 15:49
completist,你用过a2ps吗?要是用过的话,能否告知怎么使用?我总感觉输入的格式不对:(
completist
06-08-24, 17:14
paps在etch/sid里有而sarge中没有,自己编也没啥不好的,只是注意编译时把一些选项加上,看看里面的readme/install等东东
a2ps设置选项挺多,自己a2ps --help 或者 info a2ps看看,比如要把每两页缩放到一页输出,可以
a2ps -2 -o test.ps test.txt && gv test.ps
woodandwood
06-08-25, 10:05
a2ps可以把iso-8859-1编码格式转换成ps格式的文件吗?
completist
06-08-25, 11:55
$ a2ps --list=encodings | grep ISO-8859-1
ISO-8859-1 (iso1)
The ISO-8859-1 character set, often simply referred to as Latin 1,
ISO-8859-10 (iso10)
Latin 6 (or ISO-8859-10) adds the last letters from Greenlandic and
ISO-8859-13 (iso13)
Latin7 (ISO-8859-13) is going to cover the Baltic Rim and re-establish
ISO-8859-15 (iso15)
freebase 于 2007-10-15 11:32:44发表:
RedHat7.3中文打印的设置方法。
进入kde3以后,从开始菜单----》系统---->Control Panel可以打开Cups Printer
Configuration, 打开以后报告localhost:631打不开。原因是系统起动缺省情况下
cups是不开的,运行命令:
#ln -s /usr/bin/smbspool /usr/lib/cups/backend/smb
#/etc/rc.d/init.d/cups start
然后,再点击Cups Printer Configuration(注意control panel里面的东西都是
单击不是双击啊!双击会让你郁闷的)这时一个基于web的cups管理界面就出来了。点击
administration. 向你要用户名,口令,把root和root口令敲进去,进入管理叶面,
选add printer, name: 我填我们网的windows打印机共享名hp,location: 我填
我们网上打印共享机器名字xxxxxxx,description: xxxxxxxx.hp.
点continue到下一步,选windows printer via samba,continue.
device uri: smb://workgroup/xxxxxxx/hp
下两步选HP--"hp laserjet 6L foomatic+ljet4"
然后完成,然后就可以打印测试页,测试正常,再打开kword随便弄一篇汉字东西选好字体。
打印就成了。当然,我猜想fm一定要装的。不然没这么容易搞定。
freebase 于 2007-10-15 11:25:31发表:
06-08-21, 13:29
我用的是Debian的系统,用cups来配置打印机,用lp命令打印文本文件。打印英文都没问题,但是打印中文的话要么是乱码,要么干脆就跳过不打。用gedit打印的话都没问题,中文支持的很好,但是在命令行下就不能打出中文,请问我要做哪些配置呢?
对于中文打印支持了解的还不太多,请多帮助!谢谢!
woodandwood
06-08-21, 13:47
请高手指教啊!SOS
woodandwood
06-08-21, 15:27
自己顶。。。。。。。。。
woodandwood
06-08-22, 11:35
没人知道吗 :(
woodandwood
06-08-22, 16:13
继续顶。。。。。。。
aleng
06-08-22, 16:50
我要一说 就长篇大论了,所以不想罗嗦。简单的说linux不适连接 打印机 不适合作共享打印服务器。一句话 用 win
completist
06-08-22, 17:55
你需要一个先将中文文本转化成ps东东,诸如bg5ps等,utf8的编码,则推荐使用u2ps或者paps,这些小工具缺省直接将文本发到打印机上,除非你指定输出到ps文件上
woodandwood
06-08-23, 09:50
多谢二位指点。我昨天用了bg5ps,把文本文件转化为ps文件,然后再打印该ps文件
cat test.txt |bg5ps -en gb2312 > test.ps
ps2ps test.ps cn.ps
但是不管我是打印test.ps还是cn.ps,打出来的汉字和原文件根本不一样,而且都是不认识的字,这是怎么回事呢?
woodandwood
06-08-23, 12:46
楼上的大侠去哪了?
completist
06-08-23, 13:03
看看/etc/bg5ps.conf 和试试 -nps y 选项,应该没问题的
也可试试u2ps和paps
u2ps -X gbk --gpfamily=Sans -o test.ps test.txt
iconv -f gbk -t utf8 test.txt | paps --family=Serif > test.ps
下面是我的/etc/bg5ps.conf
# Default Encoding
# Encoding: 指定??
# big5,gb2312
Encoding="gb2312"
#chineseFontPath: 指定中文字型的路?(??值: ? bg5ps 同)
chineseFontPath="/usr/share/fonts/truetype"
#modify the above line
#fontName: 指定中文字型的?案名?(??值: ntu_kai)
#fontName="ntu_kai.ttf"
fontName="arphic/gbsn00lp.ttf"
fontName_big5="arphic/bsmi00lp.ttf"
fontName_gb2312="arphic/gbsn00lp.ttf"
#oddPages: 0 不?出奇??,1 ?出奇??(??值: 1)
#true=1, false=0
oddPages=true
#evenPages: 0 不?出偶??,1 ?出偶??(??值: 1)
evenPages=true
#size: 指定?出字型的大小(??值: 12)
size=12.0
# leftMargin: 指定左?界(??值: 72.0)
# rightMargin: 指定右?界(??值: 72.0)
# topMargin: 指定上?界(??值: 72.0)
# bottomMargin: 指定下?界(??值: 72.0)
topMargin=72.0
bottomMargin=72.0
leftMargin=72.0
rightMargin=72.0
#lineSpace: 指定行距(??值: 6.0)
lineSpace=6.0
#chrSpace: 指定字距(??值: 2.0)
chrSpace=2.0
bg5ps基本属于要淘汰的东东了,开发也早就停了,毕竟替代的东东太多,而且精确的排版输出也用不到这些,小鬼子的u2ps不错,虽然是修改自a2ps,但距a2ps的功能和实用还有距离,倒是小鬼子也对a2ps不支持utf8耿耿于怀的,呵呵
woodandwood
06-08-23, 16:24
谢谢 completist! 我按照你说的去做了
root@wood-desktop:/tmp# u2ps -X gbk --gpfamily=Scans -o test.ps test
(gnome-u2ps:23292): GnomePrint-WARNING **: Problem while creating filter from 'frgba': filter 'frgba' is unknown
root@wood-desktop:/tmp#
这是怎么回事呢?我在网上找了找这个错误,不过还是没有弄明白 :(
completist
06-08-23, 16:37
我也没闹清,不过不影响使用 :)
gv test.ps 可以看看效果,或者ps2pdf test.ps test.pdf 转成pdf,也可lpr test.ps 直接打印输出
woodandwood
06-08-23, 16:59
直接打印test.ps文件,OK!!
太感谢completist了!
谢谢!!:)
woodandwood
06-08-24, 11:25
还想问 一下completist,你是从哪里找到paps的?我都搜索不到 :(
completist
06-08-24, 11:51
http://paps.sourceforge.net/
用debian的话,应该源里有的
$ apt-cache show paps
Package: paps
Priority: optional
Section: text
Installed-Size: 44
Maintainer: Debian Hebrew Packaging Team <debian-hebrew-package@lists.alioth.debian.org>
Architecture: i386
Version: 0.6.6-1
Depends: libc6 (>= 2.3.6-6), libfreetype6 (>= 2.2), libglib2.0-0 (>= 2.10.0), libpango1.0-0 (>= 1.12.1)
Filename: pool/main/p/paps/paps_0.6.6-1_i386.deb
Size: 15574
MD5sum: db99c7b99e626a7ea76d296429664381
SHA1: 75637e318c7f87eea8a0395965f2be106fcd9a46
SHA256: 8449e5a5d6c651638cd2c9c3eea2d796008f788063a40cc7cfd74e94daf13ef5
Description: UTF-8 to PostScript converter using Pango
Paps reads a UTF-8 encoded file and generates a PostScript
language rendering of the file. The rendering is done by
creating outline curves through the pango ft2 backend.
.
Homepage: http://paps.sourceforge.net/
woodandwood
06-08-24, 13:42
在我的Debian里没有。按照你说的,那就是下源码来自己编了?
像u2ps是把utf8转换,如果不是utf8呢?我换了台机器,发现是iso-8859-1编码,那该怎么办?
我尝试了用bg5ps来做,但是打印转换后的ps文件是很奇怪的中文,都是不认识的字。如果用u2ps来的话,就如下显示
/tmp # u2ps -X gbk --gpfamily=Sans -o test.ps test.txt
(gnome-u2ps:753): libgnomevfs-WARNING **: Unable to create ~/.gnome directory: No such file or directory
Could not create per-user gnome configuration directory `/root/.gnome2/': No such file or directory
/tmp #
在/tmp下生产不了ps文件,这又是为什么呢
woodandwood
06-08-24, 14:54
用a2ps 可以吗?我下了下来,但是不知道怎么用:(
而且还报错:a2ps:unknown medium 'libpaper'
woodandwood
06-08-24, 15:49
completist,你用过a2ps吗?要是用过的话,能否告知怎么使用?我总感觉输入的格式不对:(
completist
06-08-24, 17:14
paps在etch/sid里有而sarge中没有,自己编也没啥不好的,只是注意编译时把一些选项加上,看看里面的readme/install等东东
可以使用iconv转了后再用u2ps处理,错误说无法创建.gnome等目录,自己去看看有没有,或者新建个用户,进一下gnome后应该就可以了,u2ps毕竟是利用libgnomeprint来工作的
bg5ps在sid中因为所用的python模块regev已被re替代,处理时可能会有问题
cat /usr/share/doc/bg5ps/examples/test.gb2312 | bg5ps -en gb2312 >test.ps
刚试了下,gv test.ps 结果是好的,如果在你那不行,要么bg5ps工作不正常,要么是你的ghostscript的字体问题没配好,把gs-afpl和s-cjk- resource等东东装上,不用自己改啥应该就可以的,看看/var/lib/defoma/gs.d/dirs/fonts/CIDFnmap,里面应该有你机子的中文字体条目,否则,就是你系统的字体啥的设置问题了
a2ps设置选项挺多,自己a2ps --help 或者 info a2ps看看,比如要把每两页缩放到一页输出,可以
a2ps -2 -o test.ps test.txt && gv test.ps
woodandwood
06-08-25, 10:05
a2ps可以把iso-8859-1编码格式转换成ps格式的文件吗?
completist
06-08-25, 11:55
$ a2ps --list=encodings | grep ISO-8859-1
ISO-8859-1 (iso1)
The ISO-8859-1 character set, often simply referred to as Latin 1,
ISO-8859-10 (iso10)
Latin 6 (or ISO-8859-10) adds the last letters from Greenlandic and
ISO-8859-13 (iso13)
Latin7 (ISO-8859-13) is going to cover the Baltic Rim and re-establish
ISO-8859-15 (iso15)
多数经典软件的缺省编码都是8859-1的,这也是母语是英语的好处,utf8慢慢会普及的,到时情况会好起来
P.S,
*nix下80%以上的常见问题可以在软件的自带文档中找到答案,毕竟写软件的最熟悉自己的东东,这也是RTFM的由来,个人一直认为论坛等不是解决很系统问题的地方,随机文档、google和Mailing lists应该是首选的,oftc和freenode上的irc也是不错的选择
woodandwood
06-08-25, 12:25
说的不错,赞!
不管怎样还是要感谢你,谢谢你的指点和帮助,谢谢!
freebase 于 2007-10-15 11:12:28发表:
Linux技巧 用CUPS打印DVI文件的方法
来源:xnux.cn 作者: 发布时间:2007-05-25
http://www.xnux.cn/html/newbie/20070525/9052.html
公共 UNIX 打印系统(CUPS)是当今许多 Linux 和 UNIX® 系统使用的打印假脱机程序。可以用 CUPS 提供的过滤器在各种各样的打印机上格式化和打印众多类型的文件。但是如果 CUPS 不支持要打印的文件类型该怎么办?可以先把文件转换成 CUPS 能打印的类型,例如 PostScript 或 PDF。或者也可以创建一个过滤器,这样 CUPS 打印系统就能够正确识别并打印文件。本文摘自 LPI 102 考试准备:打印 教程,它介绍了如何创建简单的过滤器。
MIME 类型和 CUPS
那么,CUPS 如何确定用于格式化特定文件类型的过滤器呢?在打印文件的时候,CUPS 使用 MIME(多用途 Internet 邮件扩展)类型确定合适的转换过滤器。请注意其他打印包可能使用 file 命令所使用的 magic number 那样的机制。请参阅 file 或 magic 的手册页获得更多信息。
MIME 类型用于把各种文件作为邮件附件传输。其中包含类型(例如文本或图片)和子类型(例如 html、postscript gif 或 jpeg)。类型和子类型之间用分号(;)分隔。可选参数可能包含诸如字符集编码或语言等信息。 CUPS 使用来自 /etc/cups/mime.types 的规则确定文件的类型,然后从 /etc/cups/conv.types 列出的过滤器中为给出的 MIME 类型选择合适的过滤器。MIME 类型在 IANA(Internet Assigned Numbers AuthorityInternet)上注册。如果所需的类型没有注册,请在子类型前加上 'x-' 前缀。清单 1 显示了一些图片类型的示例。
清单 1. /etc/cups/mime.types 的一些 MIME 类型项
image/gif gif string(0,GIF87a) string(0,GIF89a)
image/png png string(0,<89>PNG)
image/jpeg jpeg jpg jpe string(0,) &&\
(char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
image/tiff tiff tif string(0,MM) string(0,II)
image/x-photocd pcd string(2048,PCD_IPI)
image/x-portable-anymap pnm
这些项的格式超出了本文的讨论范围。请参阅 /usr/share/mime/magic 文件或 /usr/share/file/magic 文件了解如何用 magic number 标识文件。
确定了文件的 MIME 类型之后,就用 /etc/cups/mime.convs 文件查找正确的过滤器。这个文件的行有四项:源 MIME 类型和目标 MIME 类型、代价、过滤器的名称。这里使用了代价最小的过滤器。清单 2 显示了一些示例。
清单 2. /etc/cups/mime.convs 的过滤器项
text/plain application/postscript 33 texttops
text/html application/postscript 33 texttops
image/gif application/vnd.cups-postscript 66 imagetops
image/png application/vnd.cups-postscript 66 imagetops
image/jpeg application/vnd.cups-postscript 66 imagetops
image/tiff application/vnd.cups-postscript 66 imagetops
image/x-bitmap application/vnd.cups-postscript 66 imagetops
如果找不到合适的过滤器,尝试打印文件就会产生错误消息。如果使用 CUPS 之外的打印机守护程序,那么可能得到意料之外的输出。清单 3 显示了使用 DVI 文件时的情况(来自 TeX 和 LaTex 的正常输出)。
清单 3. 打印不支持的文件类型
[ian@attic4 ~]$ lpr samp1.dvi
lpr: Unsupported format 'application/octet-stream'!
用于 CUPS 打印的 DVI 过滤器
幸好,提供 TeX 和 LaTeX 的 tetex 包还提供了把 DVI 转换成 PostScript 的转换工具 dvips。不幸的是,它不能作为过滤器工作,因为它不知道如何处理 CUPS 过滤器必须处理的参数:作业 id、用户、作业标题、拷贝数量和作业选项。如果输入来自文件,那么过滤器管道中的第一个过滤器还具有额外的参数 ---- 文件名。
解决方案是创建一个作为过滤器的包装器脚本。dvips 命令不接受来自 stdin 的输入,所以这个脚本可能需要创建临时文件,在调用 dvips 之前把 stdin 拷贝到临时文件。清单 4 显示了可能的脚本。
清单 4. CUPS DVI 到 PostScript 的过滤器脚本
#!/bin/bash
# CUPS filter to process DVI files using dvips
# Create a sandbox for working if input on stdin
if [ $# -lt 6 ]; then
sandbox=${TMPDIR-/tmp}/cups-dvitops.$$
(umask 077 && mkdir $sandbox) || {
echo "Cannot create temporary directory! Exiting." 1>&2
exit 1
}
fn="$sandbox/cups-dvitops.$$"
cat > "$fn"
else
fn="$6"
fi
# Call dvips quietly, securely and with output to stdout
dvips -R -q -o - "$fn"
# Erase sandbox if we created one
if [ $# -lt 6 ]; then
rm -rf "$sandbox"
fi
回想一下 CUPS 使用 /etc/cups 中的两个文件来确定 MIME 类型和要使用的过滤器。只要重新安装或升级 CUPS,这些文件都会被覆盖。幸运的是,CUPS 在启动或重新启动时,都会读取 所有 扩展名为 .types 或 .convs 的文件。所以应当为新的过滤器创建一对文件,例如 /etc/cups/dvitops.types 和 /etc/cups/dvitops.convs。清单 5 显示了 DVI 过滤器的两个配置文件。
清单5. CUPS dvitops 的配置文件 filter
[ian@attic4 ~]$ cat /etc/cups/dvitops.types
# Local MIME definition for DVI files
application/x-dvi dvi string(0,)
[ian@attic4 ~]$ cat /etc/cups/dvitops.convs
# Local DVI to PostScript filter for CUPS
application/x-dvi application/postscript 50 dvitops
清单 5 说明前两个位置是 16 进制数字 F7 和 02 的文件被识别为 DVI 文件,而且这类文件应当用 dvitops 过滤器处理。
接下来,作为 root 用户,把上面的脚本拷贝到 /usr/lib/cups/filter/dvitops,并确保它完全可读并可执行(-rwxr-xr-x)。脚本的名称必须与上面的 /etc/cups/dvitops.convs 文件中的名称匹配。如果在强制模式下运行 SELinux,还应当运行 /usr/lib/cups/filter 目录中的 restorecon 来更新安全上下文。否则,lpr 看起来会工作,但是实际上并不能打印文件。
最后,请用重新启动选项以及 /etc/rc.d/init.d 或 /etc/init.d 中的 cups 脚本,重新启动 CUPS 并使用新的过滤器。
如果使用的是比较老的打印假脱机程序,可能要使用 magicfilter 或 apsfilter 作为输入过滤器,以便把各种输入文件转换成在 PostScript 打印机上打印的 PostScript 格式,或者使用 Ghostscript,在非 PostScript 打印机上面打印。
结束语
freebase 于 2007-10-12 15:33:56发表:
解决了没有?
freebase 于 2007-10-12 14:59:20发表:
解决了没有?
sean_chz 于 2007-10-11 15:31:30发表:
好的,看一下
freebase 于 2007-10-11 15:15:57发表:
Debian上的打印提到中文支持问题,参考一下:
http://www.lslnet.com/linux/dosc1/38/linux-276704.htm
sean_chz 于 2007-10-11 13:06:55发表:
驱动没问提,光盘自带的
freebase 于 2007-10-11 12:51:22发表:
LaserJet 5100/TN/DTN驱动下载:http://www.icare.hp.com.cn/techcenter/product_miniSite.asp?hprid=804&lang=zh-hans&cc=cn&y=8&x=7
找个linux的驱动试试
freebase 于 2007-10-11 12:44:05发表:
需要安装什么驱动,到哪儿下载?谢谢!
kemen 于 2007-10-11 12:29:47发表:
如果windows下???,?是linux 的打印???程序?有?好,重新?上正?的即可。
HP的??很好?的哦,我的是HP4000的在redhat 9.0下???
itceoaug 于 2007-10-11 11:32:31发表:
打印问题没弄过,不懂
freebase 于 2007-10-11 11:28:20发表:
linux系统连接上去,不能打印中文?
sean_chz 于 2007-10-11 11:04:28发表:
不是,windows下连上可以打中文
freebase 于 2007-10-11 11:01:34发表:
打印机是不是国外直接送过来的?
sean_chz 于 2007-10-11 10:58:22发表:
网络打印机是postscript的 用的ipp协义,PPD下了一个,网上看看好像打印机要filter生成中文postscript,搞了好几天
freebase 于 2007-10-11 10:55:52发表:
问题解决:
硬件原因:
1. 惠普激光打印机在重新开关机且没有连接数据线的情况下,开机后没有发送任何打印命令,仍然不停打印乱码。此时,请对打印机做冷复位。
2. 惠普激光打印机在重新开关机且连接数据线的情况下,且计算机已关机,开机后仍然不停打印乱码。此时,请将打印机关机,拔除数据线,再开打印机。如果仍不停打印乱码,请遵照原因 1 继续操作。如果不在打印乱码,请更换数据线。
3. 惠普激光打印机在重新开关机且连接数据线的情况下,开机后没有发送任何打印命令,仍然不停打印乱码。此时,请关闭计算机,再开打印机。若仍然打印乱码,请遵照原因 2 进行操作。
软件原因:
1. 惠普激光打印机打印脱机配置页时正常,但打印联机测试页时,出现不停打印乱码的情况,请重新安装打印机驱动。若重新安装后,打印联机测试页仍不停打印乱码,请在更换数据线后,重新安装驱动。
2. 惠普激光打印机打印联机测试页时正常,但打印某些个别应用软件出现不停打印乱码,请将所打印文件分批打印或减小页面复杂度。若以上操作无效,请联系您的软件供应商。