Ostatnia aktualizacja: 20 lutego 2025

Co to jest PostScript?
PostScript (PS) to język opisu stron (PDL) opracowany przez Adobe Systems w 1982 roku. Jest głównie używany w publikacji desktopowej, drukowaniu i projektowaniu graficznym do opisywania sposobu renderowania tekstu i obrazów na stronie.

Wyjaśnienie PostScript (PS)
PostScript (PS) to zarówno język opisu stron (PDL), jak i język programowania, który jest dynamicznie typowany oraz stosowy. Oto co to oznacza:
1. Czym jest Język Opisu Stron (PDL)?
Język opisu stron definiuje, jak grafika i tekst mają się prezentować na wydrukowanej stronie lub ekranie. PostScript jest używany w drukarkach, oprogramowaniu wydawniczym i cyfrowym składzie tekstu do precyzyjnego renderowania czcionek, obrazów i układu.
2. Czym jest Język Programowania na Rzeczypospolitej?
PostScript używa stos do przetwarzania poleceń, co oznacza, że działa w oparciu o metodę Last-In, First-Out (LIFO). Na przykład, aby dodać dwie liczby w PostScript, umieszczasz je na stosie, a następnie wywołujesz operator, który je przetwarza:
10 20 add
To umieszcza 10
i 20
na stosie, a polecenie add
zdejmuje je i umieszcza wynik (30
) z powrotem na stosie.
3. Dynamicznie Typowany
PostScript nie wymaga jawnych definicji typów. Zmienne mogą przechowywać różne typy (liczby, ciągi, tablice itp.) bez z góry określonych typów.
4. Zastosowania PostScript
PostScript jest głównie używany do publikacji desktopowej i elektronicznej, co oznacza, że wspomaga tworzenie i drukowanie wysokiej jakości dokumentów z precyzyjną kontrolą nad czcionkami, układem i grafiką.
5. Język Turing-Complete
Bycie Turing-complete oznacza, że PostScript może, teoretycznie, wykonać dowolne obliczenie przy wystarczającej ilości pamięci i czasu. To znaczy, że może być używany do ogólnych zadań programistycznych, nie tylko do drukowania.
6. Historia i Rozwój
- Opracowany przez Adobe Systems w latach 1982-1984.
- Stworzony przez Johna Warnocka, Charlesa Geschke, Douga Brotza, Eda Tafta i Billa Paxtona.
- Najnowsza wersja, PostScript 3, została wydana w 1997 i dodała lepszą wydajność, zarządzanie kolorami i kompresję obrazów.
Historia PostScript
PostScript swoje korzenie ma w 1976 roku, kiedy John Gaffney w Evans & Sutherland opracowywał koncepcje języka opisu stron, pracując nad bazą danych grafiki. W tym samym czasie Xerox PARC rozwijało drukarki laserowe i potrzebowało standardu do definiowania obrazów stron. Najpierw stworzyli format Press, który później ewoluował w Interpress w 1978 roku, opracowany przez Johna Gaffneya i Martina Newella.

W 1982 roku John Warnock i Chuck Geschke odeszli z Xerox PARC i założyli Adobe Systems, gdzie wraz z Dougiem Brotzem, Edem Taftem i Billem Paxtonem opracowali PostScript jako prostszą alternatywę dla Interpress. Został wydany komercyjnie w 1984 roku.
Rola Apple w Sukcesie PostScript
W 1983 roku, Steve Jobs dostrzegł potencjał PostScript dla Macintosh i licencjonował go od Adobe za 1,5 miliona dolarów, plus 2,5 miliona dolarów za 20% akcji Adobe. Również próbował, bez powodzenia, kupić Adobe. Apple i Adobe następnie współpracowały nad optymalizacją PostScript dla drukarki LaserWriter Apple, która wprowadzona na rynek w 1985 roku odegrała kluczową rolę w rewolucji wydawnictwa desktopowego.
Przełom Adobe w renderowaniu czcionek i hintingu uczynił PostScript użytecznym nawet na drukarkach laserowych o niskiej rozdzielczości 300 dpi Canon. Adobe nie opatentowało tej technologii, aby utrzymać ją jako tajemnicę handlową.
Upadek i Dziedzictwo PostScript
W latach 80. i 90. PostScript był szeroko używany w drukarkach laserowych, ale jego wysokie wymagania dotyczące mocy obliczeniowej i pamięci czyniły go drogim. W miarę jak drukarki stawały się tańsze a komputery bardziej wydajne, rozwiązania oparte na oprogramowaniu zastępowały sprzętowe przetwarzanie PostScript. Do 2001 roku większość tanich drukarek zrezygnowała z wsparcia PostScript na rzecz technologii atramentowej i renderowania oprogramowania.
Jednak PostScript pozostaje dominujący w wysokiej klasy drukarkach profesjonalnych, gdzie zdejmując renderowanie z komputera na drukarkę, poprawiają wydajność. Dodatkowo, PDF (Portable Document Format)—bezpośredni potomek PostScript—stał się standardem w dystrybucji dokumentów elektronicznych.
Poziomy PostScript
PostScript ewoluował przez różne poziomy, z których każdy ulepszając funkcjonalność, wydajność i efektywność. Istnieją trzy główne poziomy:

1. PostScript Poziom 1 (1984)
Oryginalny PostScript (Poziom 1, wydany w 1984 roku) pozwalał użytkownikom precyzyjnie kontrolować układ strony za pomocą tekstu, grafiki i obrazów i był używany w pierwszych drukarkach laserowych. Jednak miał ograniczenia do skali szarości, wolno przetwarzał złożoną grafikę i produkował duże pliki z powodu braku kompresji obrazu.
- Oryginalna wersja, wydana przez Adobe w 1984 roku.
- Dostarczała niezależnych od urządzenia opisów stron dla tekstu, grafiki i obrazów.
- Pozwalała na precyzyjną kontrolę nad typografią i układem.
- Używana w pierwszych drukarkach PostScript, włącznie z drukarką LaserWriter Apple.
- Ograniczenia:
- Brak wsparcia dla koloru (tylko skala szarości).
- Wolne przetwarzanie złożonej grafiki.
- Brak wbudowanej kompresji obrazu, co prowadziło do dużych rozmiarów plików.
2. PostScript Poziom 2 (1991)
PostScript Poziom 2 (1991) zwiększył wydajność, dodał drukowanie kolorowe, skompresował pliki, poprawił czcionki i przyspieszył przetwarzanie złożonej grafiki.
- Zwiększona wydajność i efektywność pamięci.
- Dodano wsparcie dla drukowania w kolorze (CMYK i kolory spotowe).
- Wprowadzono kompresję danych w celu zmniejszenia rozmiarów plików.
- Ulepszono obsługę czcionek (czcionki Type 1 i Type 3).
- Wprowadzono Wzory, Formularze i Złożone Czcionki dla lepszego renderowania tekstu.
- Szybsze przetwarzanie złożonej grafiki w porównaniu do Poziomu 1.
3. PostScript 3 (1997)
PostScript 3 (1997) był dużą aktualizacją z szybszym renderowaniem, lepszym kolorem, wsparciem dla bardzo wysokiej rozdzielczości drukowania, ulepszonymi czcionkami i udoskonalonymi efektami graficznymi. Mimo że jest teraz rzadziej używany, nadal jest stosowany w niektórych wysokiej klasy drukarkach.
- Duża aktualizacja z bardziej wydajnym renderowaniem.
- Wzmocnione zarządzanie kolorami z profilami ICC.
- Ulepszone wsparcie dla wysokiej rozdzielczości (ponad 2400 dpi).
- Lepsza obsługa czcionek, w tym wsparcie dla czcionek Multiple Master.
- Więcej efektów przezroczystości i cieniowania (lepsze renderowanie grafiki).
- Zastąpiony przez pracowników na bazie PDF we współczesnym publikowaniu, ale nadal używany w wysokiej klasy drukarkach.
PostScript w Druku
Przed PostScript:
- Wczesne drukarki drukowały tylko znaki tekstu, zazwyczaj w ASCII, z ustalonymi glifami (np. klawisze maszyny do pisania, metalowe taśmy lub płyty optyczne).
- Drukarki igłowe wprowadziły wybieralne czcionki i możliwość przesyłania niestandardowych glifów, a także podstawową grafikę rastrową przez sekwencje ucieczki, ale wymagały specyficznych sterowników dla każdego modelu drukarki.
- Grafika wektorowa była obsługiwana przez plotery (np. oparte na HPGL), ale były one wolne, drogie i ograniczone do grafiki.
Drukowanie PostScript:
- Drukarki laserowe połączyły zalety drukarek igłowych i ploterów, umożliwiając wysokiej jakości tekst i grafikę na tej samej stronie.
- PostScript zjednoczył kontrolę druku za pomocą jednego, niezależnego od urządzenia języka, który działa na różnych drukarkach i oprogramowaniu.
- W przeciwieństwie do tradycyjnych języków sterowania drukarek, PostScript jest pełnym językiem programowania, umożliwiającym precyzyjne renderowanie dokumentów.
- Rasteryzacja na bieżąco: PostScript definiuje wszystko (w tym tekst) za pomocą linii prostych i krzywych Béziera, umożliwiając płynne skalowanie, obracanie i transformacje.
- Interpretatory PostScript, zwane Procesorami Obrazów Rasterowych (RIP), przekształcają instrukcje na punkty potrzebne do końcowego wydruku.
Obsługa Czcionek PostScript
System czcionek PostScript używa podstawowych kształtów graficznych do tworzenia skalowalnych glifów, pozwalając czcionkom na zmianę rozmiaru bez utraty jakości. Hinting czcionek jest stosowany, aby zapewnić, że czcionki pozostaną wyraźne i czytelne nawet w małych rozmiarach lub niskich rozdzielczościach. Czcionki PostScript są przechowywane w różnych specjalizowanych formatach “Typ”, z których każdy oferuje inne możliwości.

System Czcionek PostScript
- Używa prymitywów graficznych do definiowania skalowalnych glifów.
- Hinting czcionek zapewnia wysokiej jakości renderowanie, nawet przy niskich rozdzielczościach.
- Czcionki były przechowywane w specjalizowanych formatach Typów z różnymi zdolnościami.
Typy Czcionek PostScript
PostScript oferował różne formaty czcionek. Wysokiej jakości czcionki Type 1 firmy Adobe były początkowo licencjonowane, podczas gdy czcionki Type 3, pozbawione standardowego hintingu, były używane przez inne firmy. Format Type 2 i CFF zmniejszały rozmiary plików i torowały drogę dla OpenType. Czcionki CID-Keyed wspierały duże zbiory znaków azjatyckich i mogły używać struktury Type 1 lub Type 2.
Type 1 Font (T1):
- Własnościowy skompresowany i zaszyfrowany format czcionki firmy Adobe.
- Używany do wysokiej jakości, hintowanych czcionek.
- Adobe początkowo licencjonowało technologię Type 1 za opłatą.
Type 3 Font (T3):
- Pozwalał na pełne funkcje PostScript, ale brakowało zunifikowanego hintingu.
- Używany przez tych, którzy nie mogli licencjonować technologii Type 1.
Type 2 Font (T2) & Compact Font Format (CFF):
- Zmniejszały rozmiar pliku czcionki dla efektywności.
- Stały się podstawą dla czcionek OpenType.
Czcionki CID-Keyed:
- Zaprojektowane dla azjatyckich (CJK) zestawów znaków z dużymi przestrzeniami kodowania.
- Mogły używać Type 1 lub Type 2 dla różnych struktur czcionek.
Ewolucja Formatów Czcionek
Apple stworzyło czcionki TrueType jako konkurencję dla czcionek Adobe. To spowodowało, że Adobe ujawniło sposób działania swoich czcionek. Później Adobe i Microsoft połączyły siły, by stworzyć czcionki OpenType, łącząc najlepsze cechy obu formatów, co stało się standardowym formatem czcionek używanym obecnie.
TrueType (1991):
- Stworzony przez Apple jako konkurencja dla systemu Adobe.
- Zmusiło Adobe do publikacji specyfikacji Type 1 do użytku publicznego.
OpenType (późne lata 90.):
- Wspólne dzieło Adobe & Microsoft.
- Zjednoczone funkcje Type 1 i TrueType.
- Stały się standardem branżowym dla współczesnych czcionek.
Koniec Wsparcia dla Type 1
- Adobe oficjalnie zakończyło wsparcie dla czcionek Type 1 w styczniu 2023 na rzecz OpenType.
Portable Document Format (PDF) i PostScript
PDF vs. PostScript
PDF i PostScript to dwa formaty dokumentów, które uzyskują identyczny wydruk dzięki użyciu tego samego systemu grafiki. Główna różnica leży w ich strukturze: PostScript jest pełnoprawnym językiem programowania, umożliwiającym dynamiczne operacje, podczas gdy PDF to bardziej uproszczony, statyczny format zaprojektowany do efektywnego przeglądania i nawigacji. Pomimo tych różnic, możliwe jest konwertowanie plików między tymi dwoma formatami.

- Podobny Model Obrazowania – Zarówno PDF, jak i PostScript korzystają z tego samego systemu grafik, co zapewnia identyczny drukowany rezultat.
- Jaka jest różnica?
- PostScript to Turing-kompletny język programowania z możliwością dynamicznych operacji.
- PDF to statyczna struktura danych, zoptymalizowana pod kątem efektywnego dostępu i nawigacji, dzięki czemu lepiej nadaje się do interaktywnego przeglądania.
- Wzajemna konwersja – PDF-y mogą być konwertowane na PostScript, i odwrotnie.
Język PostScript
PostScript to język programowania stosowy z dynamicznym typowaniem, podobny do Forth ale z strukturami danych przypominającymi Lisp. Używa Notacji Polskiej Odwróconej, wymagając starannego zarządzania pamięcią. PostScript używa tablic i słowników, obsługuje typowanie w czasie wykonywania i obejmuje zbieranie śmieci. Komentarze zaczynają się od “%”, a programy zazwyczaj zaczynają się od “%!PS”.
- Turing-kompletny i Stosowy – Podobny do Forth, ale z dynamicznym typowaniem i strukturami danych przypominającymi Lisp.
- Notacja Polska Odwrócona (RPN) – Operatory działają na stosie, wymagając ostrożnego zarządzania.
- Zarządzanie Pamięcią –
- Używa pamięci zakresowej.
- Wprowadził zbieranie śmieci w PostScript Poziom 2.
- Struktury Danych –
- Używa tablic i słowników.
- Brak formalnych deklaracji typów—typowanie jest zarządzane w czasie wykonywania.
- Komentarze i Struktura Programu –
- % wprowadza komentarze.
- Programy zazwyczaj zaczynają się od "%!PS", aby wskazać format PostScript.
Jak Używa się PostScript
- Przeważnie generowany przez oprogramowanie, nie pisany ręcznie.
- Może być używany jako pełnoprawny język programowania do automatyzacji.
- Interpretowany przez drukarki (RIP-y) lub przeglądarki ekranowe.
Przykład Prostego Pliku PostScript
Oto prosty przykład pliku PostScript (.ps), który drukuje “Hello, World!” na stronie:
%!PS
/Times-Roman findfont 24 scalefont setfont
100 700 moveto
(Hello, World!) show
showpage
Wyjaśnienie:
%!PS
→ Identyfikuje plik jako dokument PostScript./Times-Roman findfont 24 scalefont setfont
→ Wybiera czcionkę Times-Roman o rozmiarze 24.100 700 moveto
→ Przenosi kursor do współrzędnych (100, 700) na stronie.(Hello, World!) show
→ Drukuje “Hello, World!” w określonym miejscu.showpage
→ Każe drukarce wydrukować stronę.
Możesz zapisać to jako hello.ps i otworzyć za pomocą przeglądarki PostScript (np. GSview, Ghostscript) lub wysłać do drukarki PostScript.
Hello.ps Po Renderowaniu

Lista Oprogramowania do Renderowania PostScript
Przeglądarki i Interpretatory PostScript
- Ghostscript (Open-source) – Popularny interpreter dla PostScript i PDF.
- GSview – Interfejs graficzny dla Ghostscript.
- MuPDF – Lekki przeglądarka wspierająca PostScript i PDF.
- Xpdf – Open-source przeglądarka PDF z pewnym wsparciem PostScript.
- Evince – Przeglądarka dokumentów dla GNOME, która może obsługiwać pliki PostScript.
- Okular – Przeglądarka dokumentów KDE z obsługą PostScript.
- Apple Preview – Wbudowana przeglądarka macOS wspierająca PostScript i PDF.
Drukarki PostScript i Rasteryzatory
- Adobe Acrobat Distiller – Konwertuje PostScript do wysokiej jakości PDF.
- CUPS (Common Unix Printing System) – Obsługuje drukowanie PostScript na Unix/Linux.
- PPR (Printer Production Release) – Kolejka drukarek PostScript i renderer.
Grafika Wektorowa i Oprogramowanie DTP
- Adobe Illustrator – Może otwierać i edytować pliki PostScript.
- CorelDRAW – Obsługuje PostScript dla grafiki wektorowej.
- Scribus – Open-source oprogramowanie do publikacji desktopowej z obsługą PostScript.
- Inkscape – Może importować/eksportować PostScript (przez Ghostscript).
Narzędzia Linii Komend i Konwersji
- ps2pdf (część pakietu Ghostscript) – Przekształca PostScript do PDF.
- pstopdf (narzędzie linii komend macOS) – Przekształca PostScript do PDF.
- ImageMagick – Może renderować pliki PostScript na obrazy.