24 Ghostscript i Ghostview.DOC

(175 KB) Pobierz









Rozdział 24.
Ghostscript i Ghostview









E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\24.DOC              405










Rozdzia³ 24. ¨ Ghostscript i Ghostview              405

Tim Parker

W tym rozdziale:

u                                          Skąd można wziąć Ghostscript?             

u                                          Pakiet Ghostscript             

u                                          Ghostview             

PostScript to popularny język opisu strony (ang. Page Description Language, PDL), używany przez wiele aplikacji. Jedną z jego podstawowych zalet jest fakt, że plik w formacie postscriptowym może zostać wydrukowany na każdej drukarce obsługującej go, bez względu na system operacyjny czy model drukarki. Pozwala to na stworzenie jednej wersji pliku zamiast tworzenia oddzielnej wersji dla drukarek HP LaserJet, drugiej dla urządzeń Epson itd.

Z punktu widzenia użytkownika Linuxa, głównym problemem jest fakt, że nazwa PostScript została zastrzeżona przez firmę Adobe Systems, Inc. Z tego powodu wersja tego języka dla Linuxa nazywa się Ghostscript. Jak można się domyślić, język ten jest prawie identyczny z językiem PostScript, ale jego dystrybucja nie jest ograniczona prawami autorskimi, związanymi z tym opłatami itd. W zasadzie Ghostscript również jest objęty prawem autorskim jego twórców, ale postanowili oni zezwolić na rozprowadzanie go na warunkach licencji GNU, dzięki czemu jest dostępny dla wszystkich użytkowników.

 

Właścicielem praw autorskich do języka Ghostscript jest firma Aladdin Enterprises. Jeśli interesuje Cię uzyskanie licencji na programy użytkowe, powinieneś się z nią skontaktować; podajemy więc adres:

Aladdin Enterprises, P.O. Box 60264, Palo Alto, CA 94306;
e-mail: ghost@aladdin.com.

 

 

Większość aplikacji potrafi generować pliki w formacie Ghostscript. Program o nazwie Ghostview pozwala je oglądać, dzięki czemu możesz ocenić efekty swojej pracy przed ich wydrukowaniem. Ghostscript to w zasadzie cały pakiet programów. W tym rozdziale zajmiemy się tylko interpreterem języka PostScript oraz funkcjami języka C, które mogą zostać dołączone do kodu tworzonego programu wzbogacając go o możliwość generowania plików postscriptowych.

Skąd można wziąć Ghostscript?

Ghostscript jest dostarczany z większością dystrybucji Linuxa. Jest częścią zestawu dysków AP (ang. applications). Jeśli zdecydowałeś się zainstalować ten zestaw (większość użytkowników instaluje go), Ghostscript jest gotowy do użycia w Twoim systemie. Jeśli nie instalowałeś oprogramowania z zestawu AP, możesz zrobić to w każdej chwili, wybierając z oprogramowania zawartego w tym zestawie tylko pakiet Ghostscript.

Jeśli nie wiesz, czy Ghostscript został zainstalowany, musisz poszukać odpowiednich plików wykonywalnych i bibliotek ręcznie, ponieważ różne wersje Linuxa instalują je do różnych katalogów. Najłatwiej poszukać pliku wykonywalnego o nazwie gs za pomocą polecenia find:

find / -name gs –print

Jeśli został on znaleziony (najprawdopodobniej w katalogu /usr/bin), oznacza to, że pakiet Ghostscript najprawdopodobniej został zainstalowany. Liczba plików instalowanych z pakietem Ghostscript różni się w zależności od wersji oprogramowania, ale działająca instalacja powinna na pewno zawierać pliki:

 

bdftops.ps
decrypt.ps
font2c.ps
gs_dbt_e.ps
gs_dps1.ps
gs_fonts.ps
gs_init.ps
gs_lev2.ps
gs_statd.ps
gs_sym_e.ps
gs_type0.ps
gslp.ps
impath.ps
landscap.ps
level1.ps
prfont.ps
ps2ascii.ps
ps2epsi.ps
ps2image.ps
pstoppm.ps
quit.ps
showpage.ps
type1ops.ps
wrfont.ps
uglyr.ps
Fontmap

Zwykle pliki te przechowywane są w katalogu /usr/lib/ghostscript lub /usr/share/ ghostscript. Czasem również do nazwy katalogu dołączany jest jeszcze numer wersji, co dodatkowo komplikuje problem. Również w tym przypadku najłatwiej odnaleźć potrzebne pliki poleceniem find, np.

 

find / -name gs_statd.ps –print

W powyższym przykładzie polecenie find będzie próbowało odnaleźć plik gs_statd.ps, który powinien być częścią każdej instalacji Ghostscript. Znajduje się on przeważnie w katalogu /usr/lib/ghostscript, ale w niektórych systemach może być przechowywany w katalogu /usr/share. Oto wynik działania podanego wcześniej polecenia w systemie Caldera OpenLinux:

 

[root@linux /root]# find / -name gs_statd.ps –print
/usr/share/ghostscript/3.33/gs_statd.ps

W tym przypadku pliki pakietu Ghostscript znajdują się w katalogu /usr/share/ ghostscript/3.33. Aby sprawdzić, czy wszystkie potrzebne pliki są obecne w systemie, obejrzyj zawartość katalogu, w którym znajduje się plik odnaleziony przez polecenie find. Jeśli Ghostscript jest zainstalowany, powinieneś uzyskać efekt jak na rysunku 24.1

 

Rysunek 24.1.

Zawartość katalogu pakietu Ghostscript

 

Wraz z pakietem Ghostscript dostarczana jest również spora ilość czcionek. Są one zwykle umieszczane w jednym z podkatalogów głównego katalogu pakietu, na przykład

 

/usr/share/ghostscript/fonts.

Jeśli Twoja dystrybucja nie zawierała pakietu Ghostscript, możesz go załadować z każdej ze stron WWW i węzłów FTP udostępniających Linuxa. Ich adresy możesz znaleźć m.in. w rozdziale 2. „Rodzaje Linuxa”. Pakiet Ghostscript rozprowadzany jest również przez firmę Aladdin Enterprises.

Pakiet Ghostscript

Głównym programem pakietu Ghostscript jest gs, interpreter języka Ghostscript. Wczytuje on zadane pliki i wyświetla w oknie systemu X efekt ich sformatowania. Uruchamianie programu gs w trybie tekstowym nie ma większego sensu, ponieważ do obejrzenia efektów i tak niezbędne jest okno graficzne.

Aby wyświetlić w oknie X sformatowany plik Ghostscript, wydaj polecenie gs, podając jako parametr nazwę pliku, który chcesz obejrzeć (pliki Ghostscript mają zwykle rozszerzenie .ps):

 

gs plik1.ps

Możesz podać więcej niż jedną nazwę pliku, wówczas będą one wyświetlane kolejno, jeden po drugim. Po wydaniu takiego polecenia pojawi się informacja Initializing..., po której wyświetlona zostanie spora ilość komunikatów pochodzących od interpretera języka Ghostscript, a następnie otwarte zostanie okno zawierające wynik przetworzenia pliku postscriptowego. Na rysunku 24.2 przedstawione są komunikaty wyświetlane po wydaniu polecenia gs, natomiast na rysunku 24.3 – okno zawierające sformatowany dokument.

 

Rysunek 24.2.

Po wydaniu polecenia gs wyświetlanych jest kilka informacji o programie

 

Jeśli chcesz zapobiec wyświetlaniu komunikatów przez interpreter języka Ghostscript (jak na rysunku 24.2), możesz użyć opcji –q (ang. quiet) – wówczas wyświetlane będą tylko najważniejsze informacje.

Polecenie gs opisane jest na stronach man, które niestety są napisane w dość nieprzystępny sposób. Możesz również uzyskać odpowiednie informacje, wydając polecenie gs –h lub gs -?. Ponieważ wyświetlana jest dość spora ilość danych, skieruj wyjście tego polecenia do pliku lub użyj programu more, np.:

 

gs –h | more

Rezultat wydania tego polecenia przedstawiony jest rysunku 24.4. Jeśli chcesz obejrzeć następną stronę, wciśnij spację. Aby opuścić program more, wciśnij q lub Control+C.

Rysunek 24.3.

Ghostscript pozwala na wyświetlenie w oknie X sformatowanego dokumentu postscriptowego

 

Rysunek 24.4.

Do wyświetlenia informacji o programie gs warto wykorzystać polecenie more

 

Konfigurowanie pakietu Ghostscript do współpracy z X

Niektóre (ale niestety nie wszystkie) wersje Linuxa są tak skonfigurowane, że system X potrafi od razu obsługiwać wyświetlanie okien zawierających efekty działania interpretera języka Ghostscript. Ghostscript używa zasobów systemu X zdefiniowanych w pliku .Xdefaults, w klasie Ghostscript. Plik .Xdefaults powinien zawierać co najmniej trzy wpisy dotyczące interpretera Ghostscript:

 

Ghostscript*geometry:              -0+0
Ghostscript*xResolution              72
Ghostscript*yResolution              72

Jeśli ich tam nie ma, użyj edytora tekstu i wprowadź je, po czym zrestartuj serwer X albo przeładuj zasoby systemowe. Można to zrobić (jeśli bieżącym katalogiem jest katalog domowy) wydając polecenie:

 

xrdb –merge ./.Xdefaults

Ghostscript może używać jeszcze wielu innych zasobów zdefiniowanych w pliku .Xdefaults, ale definiowanie ich nie jest konieczne, ponieważ wartości domyślne sprawują się całkiem dobrze. Zebrano je w tabeli 24.1.

Tabela 24.1. Zasoby systemu X używane przez Ghostscript

Nazwa zasobu

Klasa

Domyślna wartość

background

Background

white

foreground

Foreground

black

borderColor

BorderColor

black

borderWidth

BorderWidth

1

geometry

Geometry

NULL

xResolution

Resolution

calculated

yResolution

Resolution

calculated

useExternalFonts

UseExternalFonts

true

useScalableFonts

UseScalableFonts

true

logExternalFont

LogExternalFont

false

externalFontTolerance

ExternalFontTolerance

10.0

palette

Palette

Color

maxGrayRamp

MaxGrayRamp

128

maxRGBRamp

maxRGBRamp

5

useBackingPixmap

UseBackingPixmap

true

useXPutImage

UseXPutImage

true

useXSetTile

UseXSetTile

true

regularFonts

RegularFonts

none

symbolFonts

SymbolFonts

none

dingbatFonts

...

Zgłoś jeśli naruszono regulamin