GS(1) Ghostscript GS(1)

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

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

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ść takiej drukarki, 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

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.

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.

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

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
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.
Ciche uruchamianie: nie drukuj normalnych komunikatów startowych i rób to, co -dQUIET.
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.

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.
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).

Wyłącza buforowanie znaków. Przydatne tylko dla debuggowania.
Wyłącza operator `bind'. Przydatne dla debuggowania.
Powstrzymuje normalną inicjalizację urządzenia wyjściowego. Może to być przydatne dla debuggowania.
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.
Wyłącza używanie fontów, przekazanych przez podlegającą platformę (np. X Window System). Może to być potrzebne jeśli fonty platformy wyglądają gorzej niż fonty skalowalne.
Ogranicza operacje na plikach, jakie może wykonać zadanie. Obecnie jest to domyślny tryb działania.
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.
Wybierz alternatywne początkowe urządzenie wyjściowe.
Wybierz alternatywny plik wyjściowy (lub łącze) dla początkowego urządzenia wyjściowego.

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.

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

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

Łańcuch opcji do przetworzenia przed opcjami wiersza poleceń
Służy do określenia urządzenia wyjściowego
Ścieżki do wyszukiwania fontów
Ścieżki z plikami inicjującymi i fontami
Miejsce, gdzie tworzone są pliki tymczasowe

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

Szerokość ramki w pikselach (domyślnie = 1).
Nazwa koloru ramki (domyślnie = black).
Rozmiar okna i jego położenie WxH+X+Y (domyślnie NULL).
Liczba pikseli x na cal (domyślnie obliczana z WidthOfScreen i WidthMMOfScreen).
Liczba pikseli y na cal (domyślnie obliczana z HeightOfScreen i HeightMMOfScreen).
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 "~/.Xresources", 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

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

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

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

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 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 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.

18 września 2024 r. 10.04.0