笔者是一个Linux系统管理员,最近我多了一项额外的工作——帮一些Windows用户将PostScript文件转换为PDF格式。这是因为在Linux下有一个免费的Ghostscript工具,可以方便地实现这种转换;但Windows下没有免费的转换工具。
我想出一种方法,使得Windows用户不必学习Linux命令,只需简单地将文件“打印”,就可以完成转换,下面就来介绍一下。
基本原理
此方法的基本原理就是利用Ghostscript将PostScript文件转 换成PDF格式,然后,通过Samba在Linux下创建一台虚拟的PS-Printer打印机,再使用该虚拟打印机把转换后的PDF格式文件输出到一个共享目录中,供Windows用户使用。下面简单介绍一下所应用到的软件。
1.Samba
Samba是一个运行于Linux环境下的软件,它提供了Windows访问Linux的桥梁,让用户能够在不同的系统环境下方便地共享文件和打印机。
2.Ghostscript
在Ghostscript中包含了一个ps2pdf工具,该工具能将PostScript转为PDF格式。如果系统有gs命令,则说明已经安装了Ghostscript,否则需要根据系统版本自行安装。
设置方法
1. 创建“打印”脚本
创建一个脚本,将打印池中的PostScript文件转化成PDF格式,并把它输出到指定的目录下。通过Samba共享该目录后,用户就可以阅读所创建的PDF文件了。
首先,为相关用户设置文件输出目录的读、写权限:
#chown nobody /home/becks/pdf
#chmod 740 /home/becks/pdf
然后,根据实际需要设置其它人的权限。
权限设置完毕后,创建如下内容的脚本,用于将PostScript文件转换为PDF格式:
#!/bin/sh
NAME=`date %b%d-%H%M%S`
#下面填写要输出PDF文件的路径
OUTDIR=/home/becks/pdf
ps2pdf $1 $OUTDIR/$NAME.temp
mv $OUTDIR/$NAME.temp $OUTDIR/$NAME.pdf
rm $1
将此脚本存放到Linux系统下的/usr/bin目录中,并命名为printpdf。该脚本也可以到http://www.ec-base.com/download/printpdf.txt下载。
2.设置Samba
修改smb.conf文件为如下内容:
[global]
guest account = nobody
hosts allow = 192.168.1.0
security=share
workgroup=ec-base.com
[PDF]
path = /home/becks/pdf
browseable = yes
writeable = yes
guest ok = yes
force user = nobody
[pdfprinter]
path = /tmp
printable = yes
guest ok = yes
print command = /usr/bin/printpdf %s
use clIEnt driver =yes
lpq command =
lprm command =
在以上的配置中,创建了一个发布PDF文件的共享目录(/home/becks/pdf),并强制规定在此目录下创建的文件都属于nobody用户,然后创建一台PDF虚拟打印机,并命名为pdfprinter,而且指明使用客户端的驱动程序(use client driver =yes)。
3.Windows端的设置
Samba服务启动后,Windows用户可以通过网上邻居浏览到pdfprinter打印机,双击它进行安装,然后,随便选择一个PostScript Printer驱动即可。笔者选择的是HP LaserJet 5P/5MP PostScript。
安装完成后,只需把要转换的文件进行打印,并选择pdfprinter打印机,就可以在共享目录/home/becks/pdf 中看到带有打印时间的PDF格式的文件了。
[技巧]·关于诺基亚6233的几个常见问题的解决方
[行情]·百万像全键盘超薄智能 多普达C720仅2K6
[技巧]·诺基亚官方版2分钟GPRS和彩信等设置攻
[技巧]·关于诺基亚6234刷中文不可忽略的一个细
[技巧]·不看不知道 诺基亚N73终极技巧集锦
[新机]·惊喜不断 上周亮相热门新品手机汇总
[技巧]·夏新E8手机tools ROM修改工具的使用说
[行情]·索爱P1c行货高调上市 售5880元
[新机]·6倍望远 神秘新功能 大炮“狗仔”手机
[技巧]·三星i308手机连接笔记本玩qq游戏浏览网
[行情]·智能机也时尚 极度魅惑多普达838不足2k
[技巧]·一笔一个痕迹 索爱W958手写输入技巧
