Linux如何助Windows用戶免費轉換PDF文件

筆者是一個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格式的文件了。

 

作者:林思敬


arrow
arrow
    全站熱搜

    Bluelove1968 發表在 痞客邦 留言(0) 人氣()