ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 7637|回复: 2
打印 上一主题 下一主题

[转帖]Linux如何助Windows用户免费转换PDF文件

[复制链接]
跳转到指定楼层
顶楼
发表于 2006-1-13 08:46:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
来自:<a target=_blank href=http://www.linuxfans.cn/forum/viewtopic.php?t=13>http://www.linuxfans.cn/forum/viewtopic.php?t=13</a><br>
<br>
笔者是一个Linux系统管理员,最近我多了一项额外的工作——帮一些Windows用户将PostScript文件转换为PDF格式。这是因为在Linux下有一个免费的Ghostscript工具,可以方便地实现这种转换;但Windows下没有免费的转换工具。 <br>
   <br>
  我想出一种方法,使得Windows用户不必学习Linux命令,只需简单地将文件“打印”,就可以完成转换,下面就来介绍一下。 <br>
   <br>
  基本原理 <br>
   <br>
  此方法的基本原理就是利用Ghostscript将PostScript文件转 换成PDF格式,然后,通过Samba在Linux下创建一台虚拟的PS-Printer打印机,再使用该虚拟打印机把转换后的PDF格式文件输出到一个共享目录中,供Windows用户使用。下面简单介绍一下所应用到的软件。 <br>
   <br>
  1.Samba <br>
   <br>
  Samba是一个运行于Linux环境下的软件,它提供了Windows访问Linux的桥梁,让用户能够在不同的系统环境下方便地共享文件和打印机。 <br>
   <br>
  2.Ghostscript <br>
   <br>
  在Ghostscript中包含了一个ps2pdf工具,该工具能将PostScript转为PDF格式。如果系统有gs命令,则说明已经安装了Ghostscript,否则需要根据系统版本自行安装。 <br>
   <br>
  设置方法 <br>
   <br>
  1. 创建“打印”脚本 <br>
   <br>
  创建一个脚本,将打印池中的PostScript文件转化成PDF格式,并把它输出到指定的目录下。通过Samba共享该目录后,用户就可以阅读所创建的PDF文件了。 <br>
   <br>
  首先,为相关用户设置文件输出目录的读、写权限: <br>
   <br>
  #chown nobody /home/becks/pdf <br>
   <br>
  #chmod 740 /home/becks/pdf <br>
   <br>
  然后,根据实际需要设置其它人的权限。 <br>
   <br>
  权限设置完毕后,创建如下内容的脚本,用于将PostScript文件转换为PDF格式: <br>
   <br>
  #!/bin/sh <br>
   <br>
  NAME=`date +%b%d-%H%M%S` <br>
   <br>
  #下面填写要输出PDF文件的路径 <br>
   <br>
  OUTDIR=/home/becks/pdf <br>
   <br>
  ps2pdf $1 $OUTDIR/$NAME.temp <br>
   <br>
  mv $OUTDIR/$NAME.temp $OUTDIR/$NAME.pdf <br>
   <br>
  rm $1 <br>
   <br>
  将此脚本存放到Linux系统下的/usr/bin目录中,并命名为printpdf。该脚本也可以到<a target=_blank href=http://www.ec-base.com/download/printpdf.txt>http://www.ec-base.com/download/printpdf.txt</a>下载。 <br>
   <br>
  2.设置Samba <br>
   <br>
  修改smb.conf文件为如下内容: <br>
   <br>
  [global] <br>
   <br>
  guest account = nobody <br>
   <br>
  hosts allow = 192.168.1.0 <br>
   <br>
  security=share <br>
   <br>
  workgroup=ec-base.com <br>
   <br>
  [PDF] <br>
   <br>
  path = /home/becks/pdf <br>
   <br>
  browseable = yes <br>
   <br>
  writeable = yes <br>
   <br>
  guest ok = yes <br>
   <br>
  force user = nobody <br>
   <br>
  [pdfprinter] <br>
   <br>
  path = /tmp <br>
   <br>
  printable = yes <br>
   <br>
  guest ok = yes <br>
   <br>
  print command = /usr/bin/printpdf %s <br>
   <br>
  use client driver =yes <br>
   <br>
  lpq command = <br>
   <br>
  lprm command = <br>
   <br>
  在以上的配置中,创建了一个发布PDF文件的共享目录(/home/becks/pdf),并强制规定在此目录下创建的文件都属于nobody用户,然后创建一台PDF虚拟打印机,并命名为pdfprinter,而且指明使用客户端的驱动程序(use client driver =yes)。 <br>
   <br>
  3.Windows端的设置 <br>
   <br>
  Samba服务启动后,Windows用户可以通过网上邻居浏览到pdfprinter打印机,双击它进行安装,然后,随便选择一个PostScript Printer驱动即可。笔者选择的是HP LaserJet 5P/5MP PostScript。 <br>
   <br>
  安装完成后,只需把要转换的文件进行打印,并选择pdfprinter打印机,就可以在共享目录/home/becks/pdf 中看到带有打印时间的PDF格式的文件了。。。。。。。。<br>
藤椅
发表于 2006-4-17 09:24:28 | 只看该作者

re:顶啦!感谢分享!

顶啦!感谢分享!
沙发
发表于 2006-4-15 20:22:49 | 只看该作者

re:win下可以用PDFcreatorf...

win下可以用PDFcreator<br>
freeware
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2026-7-28 10:37

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表