Linux 版 (精华区)

发信人: tcpip (高级草包), 信区: Linux
标  题: 打印及传真 - 10. Ghostscript.
发信站: 紫 丁 香 (Tue Apr 11 19:13:29 2000) WWW-POST

打印及传真 - 10. Ghostscript.  


Ghostscript 是个对 Linux 打印有著极大意义的程序. 大部份在 Unix 下打印的程序都
会产生 PostScript, 而打印机的 PostScript 处理能力通常是价值 100 美元的选购配备
. 但是 ghostscript 却是免费的, 而且它能将 PostScript 转成你的打印机所用的语言
. 当它和你的 lpd input filter 结合之后, 你就有了一部虚拟的 PostScript 打印机, 
而且能够大幅简化你的生活. 

Ghostscript 有两个版本. 商业版称为 Aladdin Ghostscript, 个人可以自由使用, 但是
不能随著商业用的 Linux 发行版本散布. Aladdin Ghostscript 通常比免费的 
ghostscript 领先一年左右; 举例来说,它支持 Adobe Acrobat 的 Portable Document 
Format, 但是免费版的就还没有. 

免费版的 ghostscript 为 GNU Ghostscript, 其实就是较旧版的 Aladdin 
Ghostscript. (Aladdin 的这种安排值得我们赞赏; 应该有更多的软件厂商以这种方式支
持自由软件 (free software)). 

无论你用 gs 做什么, 记得不要让它能够存取文件 (用 -dSAFER 选项). PostScript 是
个具有完整功能的语言, 而一个恶意的 PostScript 程序可以让你吃足苦头. 

再谈到 PDF, Adobe 的 Portable Document Format 实际上就是把 PostScript 更组织化
, 加上一些扩充功能, 经过压缩的文件格式. Ghostscript 可以像处理 PostScript 般地
处理 PDF. 所以你可能是你周围第一个拥有具有处理 PDF 能力的打印机的人. 

10.1 启动 ghostscript 
典型的作法是在你的 magic filter 中使用 ghostscript, 但是如果为了调试, 直接执行
通常会比较方便些. 

gs -help 会简短地列出有用的选项以及所提供的驱动程序. (注意这儿所列出的仅是编译
进去的驱动程序, 而并非所有的驱动程序). 

你可以用下面的方式执行 gs 来测试: gs options -q -dSAFER -sOutputFile=/dev/lp1 
test.ps. 


10.2 调整 ghostscript 的输出结果 
假如 gs 的输出不能让人满意, 还有一些办法.(事实上, 你可以做任何事, 因为你可以取
得源代码). 


输出的位置及大小
位置, 大小, 还有影像在页面上的视觉比例是由 ghostscript 中的打印机驱动程序所控
制的. 如果你发现打印出来太短, 太长或是大了两倍, 你可能会想要看一下驱动程序的原
始模组并且调整任何所能想到的参数. 不幸的是每一个驱动程序都有不同的方式, 所以我
也无法告诉你如何调整, 还好大部份的驱动程序都有还算清楚的注解. 


Gamma, dotsizes, 等等
大部份的非激光打印机因为打印的点比较大, 故会导致印出来的图案太黑. 假使你遇到这
个问题, 你应该使用自己的转换函数. 只要在 ghostscript 的 lib-dir 下建立如下的文
件, 并在调用 gs 的时候将这个文件名加在要打印的文件之前就可以了. 你可能会需要调
整一下实际的值才能适合你的打印机. 较小的值会导致较亮的打印效果. 特别是当你的打
印机使用 Floyd-Steinberg 演算法来混色 ( rasterize color ) 可能是比较好的选择. 



---8<---- gamma.ps ----8<---
%!
%transfer functions for cyan magenta yellow black
{0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer
---8<------------------8<---


你也可以调整这些值来补救打印机颜色上的问题. 假如你要这么做, 建议你可以用 
ghostscript 内附的 colorcir.ps ( 在 examples/ 目录下 ) 做为测试页. 

--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: tcpip.hit.edu.c] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.164毫秒