Aodbe Acrobat 中带有一个 PDF 打印机,可以很方便地将支持打印的文档转换成 PDF 格式,用来拿到有打印机的地方打印,或者在网上与人分享。可 Acrobat 是商业软件,而且很贵,非普通消费者能够承担。
不过没关系,我们有同样优秀的免费解决方案:安装 Adobe 公司的 PostScript(PS) 打印机驱动,用来实现打印成PS的功能,而 Ghostscript 可以将 PS 文件转换成 PDF,而 RedMon 可以将打印机端口重定向到 Ghostscript,以完成整个打印 PDF 的流程,PDF 打印机方案便有了。而且,这三个工具都是免费的哦:-)
下载并安装这三个软件就不用多废话了,下面说一下如何配置:
-
- 添加端口:打开刚安装完的PS打印机(Generic PostScript Printer)的属性窗口,在“端口”标签下添加端口,选择中间的重定向端口(Redirected Port),点击"新端口"后输入端口的名字,比如"RedPort"。
- 配置端口:选中刚才添加的那个端口,点击“配置端口”,开始设置RedMon的属性。最上面的框中输入刚才安装的Ghostscript中的gswin32c.exe的位置,接下来的程序参数填写如下:
-q -sDEVICE=pdfwrite -r600 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -dBATCH -sOutputFile="%1" -c .setpdfwrite -f -
将上面这一行复制进去即可,注意后面的-号不能省,这些参数的含义请查看Ghostscript的帮助。输出(Output)设置为选择文件(Prompt for filename),运行方式(Run)设置为隐藏(Hidden),并可以选上Run as User。 - 测试:用打印机属性对话框中的“打印测试页”来测试,正常的画可以会出现一个创建文件的对话框,即选择输出的PDF文件的位置,打开它可以看到一些打印机的信息。
在我的机器上出现了奇怪现象,在打印多页的情况下,会把顺序弄反,最后一页跑到了最前头,此时需要修改打印机的设置,将也序设置为“从后向前”。为了避免每次打印时都要设置,可在打印机属性中的“打印首选项”中进行配置。
Adobe 的PS打印机的高级选项中可以设置TrueType字体的下载,根据具体应用情况而定,以达到最佳的效果。
如果是要拿到没有相应TrueType字体的环境使用,则要将其用设备字体替换,否则下载为软字体。TrueType字体可下载为位图或者轮廓,推荐后者,效果很好,也可用默认的自动方式,根据字体的大小来确定下载方式。
另外一种方案
使用软件:afpl ghostscript;afpl gsview;afpl redmon; Adobe Universal PostScript Windows Driver(adobe网站上有下);Apple Color LW 12/660 PS打印机驱动(windows自带)
步骤:安装软件:1.ghostscript=>提供了一个ps转pdf及ps文件查看的环境 /运行库,本例中安装到d:/gs;2.gsview=>ps/eps/pdf查看器;3.redmon=>提供了一个端口转向的中介;4. 安装Adobe Universal PostScript Windows Driver(会出现新打印机),在"控制面板"=>"打印机与传真"中安装Apple Color LW 12/660 PS打印机(尽管你没有安装硬件)
现在你的控制面板中应该有两台"打印机".
事实上,直接使用adobe的ps打印驱动程序,打印时勾上"打印到文件"选项,填上输出文件名(.ps)可以得到黑白的ps文件;而使用apple的ps打印驱动程序,打印时勾上"打印到文件"选项,填上输出文件名(.ps)可以得到彩色的ps文件.
redmon在这里将输出的ps文件通过ghostscript自动转换为pdf文件.
选中两台虚拟打印机中的任意一台,以apple为例:打开"属性"窗口,转到"端口"页,选择"添加端口",选择"redirected port",这是redmon创建的转换端口.输入端口名,默认为"RPTx",x为数字序号,从1开始.
将端口选择筐中的勾选择rpt1,选择"配置端口",更改如下选项:
1."redirect this port to the program"筐中填写"gswin32c.exe"的完整路径,如"D:/gs/gs8.50/bin/gswin32c.exe"(不加引号).
2."argument for this program are:"中填写"-q -dNOPAUSE -dBATCH -dSAFER -r600 -sDEVICE=pdfwrite -sOutputFile="%1" -c save pop -f -"(不加引号).
3."output"选择"promt for filename"
用同样的方法可以创建以adobe ps驱动程序为主体的pdf打印机,不过只能打印出黑白pdf.
另:两台虚拟打印机的prtx端口中的x要不同.
ok,打印一份彩色的网页/文档/图片试试看.
要点:安装一份支持ps打印的打印机驱动程序,再用redmon进行端口转向.