GS(1)

NAZWA
gs - Ghostscript (interpreter/przeglądarka języka PDF i PostScript)

SKŁADNIA
gs [ opcje ] [ pliki ] ... (Unix, VMS)
gswin32c [ opcje ] [ pliki ] ... (MS Windows)
gswin32 [ opcje ] [ pliki ] ... (MS Windows 3.1)
gsos2 [ opcje ] [ pliki ] ... (OS/2)

OPIS
Polecenie gs (gswin32c, gswin32, gsos2) wywołuje Ghostscript, interpreter języków Portable Document Format (PDF) i PostScript(tm) firmy Adobe Systems. gs odczytuje kolejno "pliki" i wykonuje je jako programy Ghostscripta. Po zrobieniu tego, odczytuje dalsze wejście ze strumienia standardowego wejścia (zwykle klawiatura), interpretując każdy wiersz osobno i wysyłając wyjście na urządzenie wyjściowe (może być to plik lub okno przeglądarki X11, zob. niżej). Interpreter kończy działanie po napotkaniu polecenia "quit" (w pliku lub po wpisaniu z klawiatury), po osiągnięciu końca pliku oraz po otrzymaniu sygnału przerwania (np. Control-C z klawiatury).

Interpreter rozpoznaje wiele przełączników opcji, część z których opisano poniżej. Zob. dokumentację aby dowiedzieć się szczegółów. Przełączniki mogą pojawić się w dowolnym miejscu wiersza polecenia i stosują się do wszystkich następujących po nich plikach. Wywołanie Ghostscript z przełącznikiem -h lub -? wypisuje komunikat informujący o wielu przydatnych przełącznikach, wszystkich znanych plikowi wykonywalnemu urządzeniach oraz ścieżce przeszukiwania fontów; w systemach uniksowych pokazuje również położenie pełnej dokumentacji.

Ghostscript może być zbudowany z możliwością korzystania z wielu różnych urządzeń wyjściowych. Listę urządzeń, które obejmuje używany plik wykonywalny pokaże polecenie "gs -h".

O ile nie poda się konkretnego urządzenia, Ghostscript zwykle otworzy pierwsze z nich i przekieruje do niego swoje wyjście.

Jeśli program zbudowano z obsługą X11, często domyślnym urządzeniem jest okno X11 (przeglądarka), w innym przypadku ghostscript zwykle użyje urządzenia bbox i wypisze na standardowe wyjście wymiary pliku postscript.

Jeśli zatem urządzenie, z którego chce się skorzystać jest pierwsze na liście, wystarczy wydać polecenie

	gs mojplik.ps

Można również sprawdzić listę dostępnych urządzeń wewnątrz Ghostscript: należy wywołać Ghostscript i wpisać

	devicenames ==

lecz pierwsze urządzenie na wynikowej liście nie musi być domyślnym urządzeniem, które można ustalić poleceniem "gs -h". Aby ustawić "AbcXyz" jako pierwotne urządzenie wyjściowe, należy dołączyć przełącznik

	-sDEVICE=AbcXyz

Na przykład, aby utworzyć wyjście do drukarki Epson, można podać

	gs -sDEVICE=epson mojplik.ps

"-sDEVICE=" musi poprzedzać pierwsze wystąpienie pliku do wydrukowania i jedynie pierwsze wystąpienie przełącznika odnosi skutek.

Można również zdefiniować domyślne urządzenie w zmiennej środowiskowej GS_DEVICE. Priorytety tych sposobów, od najwyższego do najniższego to (Ghostscript używa urządzenia zdefiniowanego najwyżej w tej liście):

   setpagedevice
   (wiersz polecenia)
   GS_DEVICE
   (pierwsze urządzenie na liście wbudowanej)

Niektóre urządzenia mogą obsługiwać różne rozdzielczości (gęstości). Aby określić rozdzielczość takiego urządzenia, należy użyć przełącznika "-r":

	gs -sDEVICE=<urządzenie> -r<xwym>x<ywym>

Np. tryb najniższej gęstości na 9 igłowym Epsonie można uzyskać przez

	gs -sDEVICE=epson -r60x72

a tryb najwyższej gęstości (najwyższej jakości druku) przez

	gs -sDEVICE=epson -r240x72.

Jeśli jako urządzenie wyjściowe wybierze się drukarkę, Ghostscript umożliwi wybór tego, gdzie urządzenie wysyła swoje wyjście -- na systemach uniksowych zwykle jest to plik tymczasowy. Aby wysłać wyjście do pliku "foo.xyz", należy użyć przełącznika

	-sOutputFile=foo.xyz

Można również zechcieć wydrukować każdą stronę oddzielnie. Aby to zrobić, można wysłać wyjście do serii plików "foo1.xyz, foo2.xyz, ..." przełącznikiem "-sOutputFile=" oraz z "%d" w szablonie nazwy pliku:

	-sOutputFile=foo%d.xyz

Każdy wynikowy plik otrzymuje po jednej stronie wyjścia, a pliki są ponumerowane. "%d" jest określeniem formatu printf, można podać również wariant taki jak "%02d".

Na systemach uniksowych i MS Windows wyjście można przesłać również przez potok. Na przykład, aby przesłać wyjście polecenia lpr (które pod wieloma systemami uniksowymi jest poleceniem przesyłającym do drukarki), należy użyć opcji

	-sOutputFile=%pipe%lpr

Proszę zauważyć, że znak "%" należy podwoić w systemach MS Windows, aby uniknąć zniekształcenia przez interpreter powłoki.

Można również wysłać wyjście na standardowe wyjście:

	-sOutputFile=-
lub
	-sOutputFile=%stdout%

W tym wypadku musisz też użyć przełącznika -q, aby uchronić Ghostscript przed drukowaniem na stdout komunikatów.

Aby wybrać inny rozmiar papieru, użyj przełącznika linii komend

	-sPAPERSIZE=<znany_rozmiar_papieru>

na przykład

	-sPAPERSIZE=a4
lub
	-sPAPERSIZE=legal

Rozpoznawanych jest większość rozmiarów papieru ISO i US. Pełną listę zawiera dokumentacja oraz definicje pliki inicjalizacyjnego "gs_statd.ps".

Ghostscript może zrobić wiele innych rzeczy niż wydruk lub wyświetlenie plików PostScript i PDF. Jeśli oczekiwane jest np. poznanie wielkości prostokąta ograniczającego z pliku PostScript (lub EPS), Ghostscript zapewnia specjalne "urządzenie", którego jedynym zadaniem jest wypisanie tej informacji.

Na przykład, korzystając z jednego z przykładowych plików rozprowadzanych razem z Ghostscript:

	gs -sDEVICE=bbox golfer.ps

wypisuje

	%%BoundingBox: 0 25 583 732
	%%HiResBoundingBox: 0.808497 25.009496 582.994503 731.809445

OPCJE

-- nazwapliku arg1 ...
    Bierze następny argument jako nazwę pliku, lecz pozostałe argumenty pobiera i definiuje nazwę "ARGUMENTS" w "userdict" (nie w "systemdict") jako tablicę tych łańcuchów, przed uruchomieniem pliku. Gdy Ghostscript zakończy wykonywanie pliku, wychodzi do powłoki.

-Dnazwa=token
-dnazwa=token
    Definiuj nazwę w "systemdict" na podaną definicję. Token musi być dokładnie jeden (jak zdefiniowano operatorem `token') i nie może zawierać białych spacji.

-Dnazwa
-dnazwa
    Definiuj nazwę w "systemdict", której wartość wynosi null.

-Snazwa=napis
-snazwa=napis
    Definiuj nazwę w "systemdict" na podaną wartość napisową. Jest to różne od -d. Na przykład, -dnazwa=35 jest równoważne fragmentowi programu
      /nazwa 35 def
    podczas gdy -snazwa=35 jest równoważne
      /nazwa (35) def

-P  Zmusza Ghostscript, aby najpierw sprawdzić katalog bieżący w poszukiwaniu plików bibliotecznych. Domyślnie, Ghostscript nie sprawdza już bieżącego katalogu o ile, oczywiście, pierwszym podanym katalogiem w -I nie jest jawne ".". Zob. też PLIKI INICJALIZACYJNE oraz dostarczony plik Use.htm, aby dowiedzieć się więcej o ścieżkach przeszukiwania i trybie wyszukiwania plików przez Ghostcript.

-q  Ciche uruchamianie: nie drukuj normalnych komunikatów startowych i rób to, co -dQUIET.

-gliczba1xliczba2
    Równoważne z -dDEVICEWIDTH=liczba1 i -dDEVICEHEIGHT=liczba2. Jest to dla użytku urządzeń (takich jak okna X11), które wymagają (lub zezwalają) na podanie wysokości i szerokości.

-rliczba
-rliczba1xliczba2
    Równoważne z -dDEVICEXRESOLUTION=liczba1 i -dDEVICEYRESOLUTION=liczba2. Jest to dla użytku urządzeń (takich jak drukarki), które obsługują wiele rozdzielczości X i Y. Jeśli podana jest tylko jedna liczba, to używana jest ona dla rozdzielczości zarówno X jak i Y.

-Ikatalogi
    Dodaje podaną listę katalogów na początek ścieżki przeszukiwania plików bibliotecznych.

-   Nie jest to tak naprawdę przełącznik, lecz wskazuje Ghostscriptowi, że standardowe wejście pochodzi z pliku lub potoku, a nie interaktywnie, z wiersza poleceń. Ghostscript odczytuje to wejście aż do końca pliku, wykonując je jak każdy inny plik, a następnie kontynuuje przetwarzanie wiersza poleceń. Po przetworzeniu całego wiersza poleceń, Ghostscript kończy działanie, zamiast przechodzić do trybu interaktywnego.

Proszę zauważyć, że zwykły plik inicjalizacji "gs_init.ps" powoduje, że "systemdict" staje się dostępny tylko dla odczytu, więc wartości nazw zdefiniowanych przez -D, d, S lub s nie mogą być zmieniane (choć oczywiście mogą być powstrzymywane przez definicje w "userdict" lub innych słownikach).

NAZWY SPECJALNE

-dNOCACHE
    Wyłącza buforowanie znaków. Przydatne tylko dla debuggowania.

-dNOBIND
    Wyłącza operator `bind'. Przydatne dla debuggowania.

-dNODISPLAY
    Powstrzymuje normalną inicjalizację urządzenia wyjściowego. Może to być przydatne dla debuggowania.

-dNOPAUSE
    Wyłącza znak zachęty i pauzowanie na końcu każdej strony. Może to być przydatne dla aplikacji, gdzie inny program kieruje Ghostscriptem.

-dNOPLATFONTS
    Wyłącza używanie fontów, przekazanych przez podlegającą platformę (np. X11). Może to być potrzebne jeśli fonty platformy wyglądają gorzej niż fonty skalowalne.

-dSAFER
    Ogranicza operacje na plikach, jakie może wykonać zadanie. Obecnie jest to domyślny tryb działania.

-dWRITESYSTEMDICT
    Pozostawia "systemdict" w stanie zezwolenia na zapis. Jest to potrzebne podczas uruchamiania specjalnych programów narzędziowych, lecz jest odradzane, ponieważ obchodzi normalne zabezpieczenia PostScript.

-sDEVICE=urządzenie
    Wybierz alternatywne początkowe urządzenie wyjściowe.

-sOutputFile=nazwapliku
    Wybierz alternatywny plik wyjściowy (lub łącze) dla początkowego urządzenia wyjściowego.

TRYB SAFER (BEZPIECZNIEJSZY)

Opcja -dSAFER ogranicza dostęp na poziomie systemu plików do tych plików i katalogów, które dozwolono odpowiednimi zmiennymi środowiskowymi (takimi jak GS_LIB) lub parametrami wiersza poleceń (więcej szczegółów pod adresem https://ghostscript.com/doc/current/Use.htm).

Tryb SAFER jest obecnie domyślnym trybem działania. Z tego względu, uruchamiając programy potrzebujące otwierać pliki lub zastrzeżone parametry, należy podać opcję wiersza poleceń -dNOSAFER lub jej synonim -dDELAYSAFER.

Działanie z NOSAFER/DELAYSAFER (jak sama nazwa sugeruje) ogranicza bezpieczeństwo, dlatego tryb ten jest zalecany TYLKO do debugowania lub w BARDZO kontrolowanych warunkach i bardzo ODRADZA się go w innych okolicznościach.

PLIKI

Położenie wielu plików uruchomieniowych Ghostscript jest wkompilowane w plik wykonywalny w momencie budowania go. Na systemach uniksowych jest to zwykle lokalizacja związana z /usr/local, lecz może być inna w zależności od systemu. W systemie DOS zwykle będzie to C:\GS, lecz może to być też całkiem inne miejsce, szczególnie jeśli Ghostscript zainstalowano za pomocą GSview. Polecenie "gs -h" pokaże położenie dokumentacji Ghostscript na danym systemie, co pozwoli dowiedzieć się więcej.

/usr/local/share/ghostscript/#.##/*
    Pliki startowe, narzędzia i podstawowe definicje fontów.

/usr/local/share/ghostscript/fonts/*
    Dodatkowe definicje fontów

/usr/local/share/ghostscript/#.##/examples/*
    Demonstracyjne pliki Ghostscript

/usr/local/share/ghostscript/#.##/doc/*
    Dokumentacja

PLIKI INICJALIZACYJNE
Szukając plików inicjalizacyjnych "gs_*.ps", plików związanych z fontami, lub pliku dla operatora "run", Ghostscript najpierw próbuje otworzyć plik o podanej nazwie w bieżącym katalogu, jeśli nie podano innego. Jeśli to się nie powiedzie, a nazwa pliku nie wskazuje jawnie katalogu lub napędu (np. nie zawiera "/" w systemach uniksowych lub "\" w MS Windows) Ghostscript próbuje skorzystać z następujących katalogów (odpowiednio w kolejności):

1.  Katalogi podane przełącznikami -I w wierszu poleceń (zob. niżej);

2.  Katalogi podane w zmiennej środowiskowej GS_LIB;

3.  Katalogi podane w makrze GS_LIB_DEFAULT, w pliku makefile Ghostscripta, gdy budowano plik wykonywalny. Przy budowaniu gs w systemach uniksowych GS_LIB_DEFAULT wynosi zwykle "/usr/local/share/ghostscript/#.##:/usr/local/share/ghostscript/fonts" gdzie "#.##" odpowiada wersji Ghostscript

Katalogi podane w ten sposób (jako GS_LIB_DEFAULT, GS_LIB i parametr -I) mogą być pojedynczymi katalogami lub listami katalogów, rozdzielonymi znakiem ":".

ŚRODOWISKO

GS_OPTIONS
    Łańcuch opcji do przetworzenia przed opcjami wiersza poleceń

GS_DEVICE
    Służy do określenia urządzenia wyjściowego

GS_FONTPATH
    Ścieżki do wyszukiwania fontów

GS_LIB
    Ścieżki z plikami inicjującymi i fontami

TEMP
    Miejsce, gdzie tworzone są pliki tymczasowe

ZASOBY X
Ghostscript, albo, ściślej, urządzenie wyświetlacza X11, szuka następujących zasobów dla programu o nazwie "Ghostscript":

borderWidth
    Szerokość ramki w pikselach (domyślnie = 1).

borderColor
    Nazwa koloru ramki (domyślnie = black).

geometry
    Rozmiar okna i jego położenie WxH+X+Y (domyślnie NULL).

xResolution
    Liczba pikseli x na cal (domyślnie obliczana z WidthOfScreen i WidthMMOfScreen).

yResolution
    Liczba pikseli y na cal (domyślnie obliczana z HeightOfScreen i HeightMMOfScreen).

useBackingPixmap
    Określa czy używać mechanizmu backing store do zachowywania okna wyświetlania (domyślnie = true).

Dokument na temat użycia programu opisuje pełniejszą listę zasobów. Aby ustawić te zasoby w systemach uniksowych, należy je wstawić do pliku, takiego jak /fI~/.Xresources/fR, w następującej postaci:

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

Następnie proszę połączyć te zasoby z bazą danych zasobów serwera X:

	% xrdb -merge ~/.Xresources

ZOBACZ TAKŻE
Różne pliki dokumentacji Ghostscript (zob wyżej), szczególnie Use.htm.

USTERKI
Zobacz http://bugs.ghostscript.com/ oraz grupę dyskusyjną Usenet comp.lang.postscript.

WERSJA
Dokument uaktualniono według stanu na Ghostscript w wersji 10.04.0.

AUTOR
Głównym opiekunem Ghostscript jest Artifex Software, Inc. Russell J. Lang, gsview at ghostgum.com.au, jest autorem większości kodu Ghostscript w systemie MS Windows.

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.