Last Updated: 20 Feb, 2025

Що таке PostScript?
PostScript (PS) — це мова опису сторінок (PDL), розроблена Adobe Systems у 1982 році. Вона переважно використовується в десктоп‑паблішингу, друку та графічному дизайні для опису того, як текст і зображення мають відображатися на сторінці.

Пояснення PostScript (PS)
PostScript (PS) — це як мова опису сторінок (PDL), так і мова програмування, яка є динамічно типізованою і стековою. Ось що це означає:
1. Що таке мова опису сторінок (PDL)?
Мова опису сторінок визначає, як графіка та текст виглядають на друкованій сторінці або екрані. PostScript використовується в принтерах, програмному забезпеченні для публікації та цифровій наборці для точного відтворення шрифтів, зображень та макетів.
2. Що таке стекова мова програмування?
PostScript використовує стек для обробки команд, що означає, що він працює за принципом Last-In, First-Out (LIFO). Наприклад, щоб додати два числа в PostScript, ви кладете їх у стек, а потім викликаєте оператор для їх обробки:
10 20 add
Це кладе 10 і 20 у стек, потім команда add витягує їх і кладе результат (30) назад у стек.
3. Динамічно типізована
PostScript не вимагає явних визначень типів. Змінні можуть містити різні типи (числа, рядки, масиви тощо) без попередньо визначених типів.
4. Використання PostScript
PostScript головним чином використовується для десктоп‑паблішингу та електронного паблішингу, що означає, що він допомагає створювати та друкувати високоякісні документи з точним контролем над шрифтами, макетом та графікою.
5. Мова Тьюрінга‑повна
Бути Тьюрінга‑повна означає, що PostScript теоретично може виконати будь-які обчислення, якщо є достатньо пам’яті та часу. Це означає, що його можна використовувати для загальних програмних завдань, а не лише для друку.
6. Історія та розвиток
- Розроблена Adobe Systems у період між 1982 і 1984 роками.
- Створена Джоном Ворноком, Чарльзом Гешке, Дугом Броцзом, Едом Тафтом та Біллом Пакстоном.
- Остання версія, PostScript 3, була випущена у 1997 році і додала кращу продуктивність, управління кольором та стиснення зображень.
Історія PostScript
Походження PostScript сягає 1976 року, коли Джон Гаффні у Evans & Sutherland розробив концепції мови опису сторінок, працюючи над графічною базою даних. Приблизно в той же час Xerox PARC розробляла лазерні принтери і потребувала стандарту для визначення зображень сторінок. Спочатку вони створили формат Press, який пізніше еволюціонував у Interpress у 1978 році, розроблений Джоном Гаффні та Мартіном Ньюеллом.

У 1982 році Джон Ворнок і Чак Гешке залишили Xerox PARC і заснували Adobe Systems, де вони разом з Дугом Броцзом, Едом Тафтом та Біллом Пакстоном розробили PostScript як простішу альтернативу Interpress. Комерційно він був випущений у 1984 році.
Роль Apple у успіху PostScript
У 1983 році Стів Джобс побачив потенціал PostScript для Macintosh і ліцензував його у Adobe за 1,5 мільйона доларів, плюс 2,5 мільйона доларів за 20 % акцій Adobe. Він також без успіху намагався купити Adobe. Apple і Adobe потім співпрацювали над оптимізацією PostScript для принтера Apple LaserWriter, випущеного у 1985 році, що зіграло вирішальну роль у революції десктоп‑паблішингу.
Прорив Adobe у рендерингу шрифтів та хінтингу зробив PostScript придатним навіть для низькороздільних лазерних принтерів Canon 300 dpi. Adobe не патентувала цю технологію, залишивши її комерційною таємницею.
Спадок та занепад PostScript
Під час 1980‑х і 1990‑х років PostScript був широко використаний у лазерних принтерах, але його високі вимоги до обчислювальної потужності та пам’яті робили його дорогим. Коли принтери стали дешевшими і комп’ютери потужнішими, програмні рішення замінили апаратну обробку PostScript. До 2001 року більшість недорогих принтерів відмовилися від підтримки PostScript на користь струйних технологій та програмного рендерингу.
Однак PostScript залишається домінуючим у висококласних професійних принтерах, де він переносить рендеринг з комп’ютера на принтер, підвищуючи продуктивність. Крім того, PDF (Portable Document Format) — прямий нащадок PostScript — став стандартом для електронного розповсюдження документів.
Рівні PostScript
PostScript еволюціонував через різні рівні, кожен з яких покращував функціональність, продуктивність та ефективність. Існує три основних рівня:

1. PostScript Level 1 (1984)
Оригінальна PostScript (Level 1, випущена у 1984) дозволяла користувачам точно контролювати макет сторінки за допомогою текст, графіка та зображення, і використовувалася в ранніх лазерних принтерах. Однак вона була обмежена відтінками сірого, повільно обробляла складну графіку та створювала великі файли через відсутність стиснення зображень.
- Оригінальна версія, випущена Adobe у 1984.
- Надавала незалежні від пристрою описання сторінок для тексту, графіки та зображень.
- Дозволяла точний контроль над типографікою та макетом.
- Використовувалася у перших принтерах PostScript, включаючи Apple LaserWriter.
- Обмеження:
- Не підтримувала кольори (тільки відтінки сірого).
- Повільна обробка складної графіки.
- Відсутнє вбудоване стиснення зображень, що призводило до великих розмірів файлів.
2. PostScript Level 2 (1991)
PostScript Level 2 (1991) підвищив продуктивність, додав кольоровий друк, стиснення файлів, покращив шрифти та прискорив обробку складної графіки.
- Покращена продуктивність та ефективність використання пам’яті.
- Додана підтримка кольорового друку (CMYK та спот‑кольори).
- Впроваджено стиснення даних для зменшення розмірів файлів.
- Покращене керування шрифтами (шрифти Type 1 та Type 3).
- Введено Pattern, Forms та Composite Fonts для кращого рендерингу тексту.
- Швидша обробка складної графіки порівняно з Level 1.
3. PostScript 3 (1997)
PostScript 3 (1997) був великим оновленням з швидшим рендерингом, кращим кольором, підтримкою надвисокої роздільної здатності, покращеними шрифтами та розширеними графічними ефектами. Хоча сьогодні використовується рідше, він все ще застосовується у деяких висококласних принтерах.
- Велике оновлення з ефективнішим рендерингом.
- Покращене управління кольором за допомогою ICC‑профілів.
- Покращена підтримка друку високої роздільної здатності (понад 2400 dpi).
- Краща робота зі шрифтами, включаючи підтримку Multiple Master fonts.
- Більше ефектів прозорості та затінення (кращий рендеринг графіки).
- Замінено робочими процесами на основі PDF у сучасному видавництві, проте все ще використовується у висококласних принтерах.
PostScript у друку
До PostScript:
- Перші принтери друкували лише текстові символи, зазвичай у ASCII, з фіксованими гліфами (наприклад, клавіші друкарської машинки, металеві смужки або оптичні пластини).
- Дот‑матриця принтери ввели можливість вибору шрифтів та завантаження власних гліфів, а також базову растрову графіку через escape‑послідовності, але вимагали спеціальних драйверів для кожної моделі принтера.
- Векторну графіку обробляли плотери (наприклад, на базі HPGL), але вони були повільними, дорогими та обмеженими лише графікою.
Друк за допомогою PostScript:
- Лазерні принтери поєднали переваги дот‑матриці та плотерів, дозволяючи високоякісний текст і графіку на одній сторінці.
- PostScript уніфікував керування друком за допомогою однієї, незалежної від пристрою мови, що працювала на різних принтерах та в різному ПЗ.
- На відміну від традиційних мов керування принтером, PostScript — це повноцінна мова програмування, що дозволяє точний рендеринг документу.
- Растеризація в реальному часі: PostScript визначає все (включаючи текст) за допомогою прямих ліній та кривих Безьє, що дозволяє плавне масштабування, обертання та трансформації.
- Інтерпретатори PostScript, звані Raster Image Processors (RIPs), перетворюють інструкції у крапки, необхідні для фінального виводу.
Обробка шрифтів PostScript
PostScript’s font system uses basic graphic shapes to create scalable glyphs, allowing fonts to be resized without losing quality. Font hinting is used to ensure that шрифти remain clear and legible even at small sizes or low resolutions. PostScript fonts are stored in various specialized “Type” formats, each offering different capabilities.

PostScript Font System
- Використовує графічні примітиви для визначення масштабованих гліфів.
- Хінтинг шрифтів забезпечує високоякісний рендеринг навіть при низькій роздільності.
- Шрифти зберігалися у спеціалізованих форматах Type з різними можливостями.
Шрифт Type 1 (T1):
- Пропрієтарний стиснутий та зашифрований формат шрифту від Adobe.
- Використовується для високоякісних, хінтованих шрифтів.
- Adobe спочатку ліцензувала технологію Type 1 за плату.
Шрифт Type 3 (T3):
- Дозволяв повний набір функцій PostScript, але не мав стандартизованого хінтингу.
- Використовували ті, хто не міг ліцензувати технологію Type 1.
Шрифт Type 2 (T2) та Compact Font Format (CFF):
- Зменшував розмір файлу шрифту для ефективності.
- Став основою для шрифтів OpenType.
Шрифти CID-Keyed:
- Призначені для азіатських (CJK) наборів символів з великими просторами кодування.
- Можуть використовувати Type 1 або Type 2 для різних структур шрифтів.
Font Format Evolution
Apple created TrueType fonts to compete with Adobe’s шрифти. This made Adobe share how their fonts worked. Later, Adobe and Microsoft joined together to make OpenType fonts, which combined the best of both and became the standard font format we use today.
TrueType (1991):
- Розроблений Apple як конкурент системі Adobe.
- Змусив Adobe опублікувати специфікацію Type 1 для публічного використання.
OpenType (кінець 1990-х):
- Спільно розроблений Adobe та Microsoft.
- Об’єднав функціональність Type 1 та TrueType.
- Став галузевим стандартом для сучасних шрифтів.
End of Type 1 Support
- Adobe офіційно припинив підтримку шрифтів Type 1 у січні 2023 року на користь OpenType.
Формат Portable Document Format (PDF) та PostScript
PDF проти PostScript
PDF and PostScript are two document formats that produce identical printed output because they use the same underlying graphics system. The key difference lies in their structure: PostScript is a full-fledged programming language, allowing for dynamic operations, while PDF is a more streamlined, static format designed for efficient viewing and navigation. Despite these differences, it’s possible to convert files between the two formats.

- Подібна модель зображення – і PDF, і PostScript використовують одну і ту ж графічну систему, забезпечуючи ідентичний друкований результат.
- У чому різниця?
- PostScript — це Тьюрінга‑повна мова програмування, здатна до динамічних операцій.
- PDF — це статична структура даних, оптимізована для ефективного доступу та навігації, що робить її кращою для інтерактивного перегляду.
- Взаємна конвертованість – PDF можна перетворити у PostScript, і навпаки.
The PostScript Language
PostScript is a stack-based programming language with dynamic typing, similar to Forth but with Lisp-like data structures. It uses Reverse Polish Notation, requiring careful memory management. PostScript uses arrays and dictionaries, handles typing at runtime, and includes garbage collection. Comments start with “%”, and programs typically begin with “%!PS”.
- Тьюрінга‑повна та стекова – схожа на Forth, але з динамічною типізацією та структурами даних, подібними до Lisp.
- Зворотна польська нотація (RPN) – оператори працюють зі стеком, вимагаючи уважного управління.
- Memory Management –
- Використовує обмежену пам’ять.
- Впроваджено збір сміття у PostScript Level 2.
- Data Structures –
- Використовує масиви та словники.
- Немає формальних оголошень типів — типізація керується під час виконання.
- Comments & Program Structure –
- % починає коментарі.
- Програми зазвичай починаються з "%!PS", щоб вказати формат PostScript.
How PostScript is Used
- Переважно генерується програмним забезпеченням, а не пишеться вручну.
- Може використовуватись як повноцінна мова програмування для автоматизації.
- Інтерпретується принтерами (RIPs) або переглядачами на екрані.
Приклад простого файлу PostScript
Here’s a simple example of a PostScript (.ps) file that prints “Hello, World!” on a page:
%!PS
/Times-Roman findfont 24 scalefont setfont
100 700 moveto
(Hello, World!) show
showpage
Пояснення:
%!PS→ Ідентифікує файл як документ PostScript./Times-Roman findfont 24 scalefont setfont→ Вибирає шрифт Times-Roman розміром 24.100 700 moveto→ Переміщує курсор до координат (100, 700) на сторінці.(Hello, World!) show→ Друкує “Hello, World!” у зазначеній позиції.showpage→ Наказує принтеру надрукувати сторінку.
You can save this as hello.ps and open it with a PostScript viewer (e.g., GSview, Ghostscript) or send it to a PostScript printer.

Список програмного забезпечення для рендерингу PostScript
PostScript Viewers & Interpreters
- Ghostscript (Open-source) – Популярний інтерпретатор для PostScript та PDF.
- GSview – графічний інтерфейс для Ghostscript.
- MuPDF – легкий переглядач, що підтримує PostScript та PDF.
- Xpdf – відкритий PDF‑переглядач з частковою підтримкою PostScript.
- Evince – переглядач документів GNOME, який може працювати з файлами PostScript.
- Okular – переглядач документів KDE з підтримкою PostScript.
- Apple Preview – вбудований переглядач macOS, що підтримує PostScript та PDF.
PostScript Printers & Rasterizers
- Adobe Acrobat Distiller – Конвертує PostScript у високоякісні PDF.
- CUPS (Common Unix Printing System) – Обробляє друк PostScript у Unix/Linux.
- PPR (Printer Production Release) – спулер та рендерер PostScript.
Vector Graphics & DTP Software
- Adobe Illustrator – може відкривати та редагувати файли PostScript.
- CorelDRAW – підтримує PostScript для векторної графіки.
- Scribus – відкритий софт для десктоп‑паблішингу з підтримкою PostScript.
- Inkscape – може імпортувати/експортувати PostScript (через Ghostscript).
Command-Line & Conversion Tools
- ps2pdf (частина Ghostscript) – конвертує PostScript у PDF.
- pstopdf (командний інструмент macOS) – конвертує PostScript у PDF.
- ImageMagick – може рендерити файли PostScript у зображення.
Питання та відповіді
Q1 - Що таке файли PS і як їх відкрити?
Відповідь:
PS означає PostScript — файл мови опису сторінок, який в основному використовується для друку. Файли PS призначені для підготовки цифрових графік та тексту до високоякісного друку. Ви можете надіслати файл PS безпосередньо на принтер, не відкриваючи його в окремій програмі. Однак файли PS не надто універсальні, оскільки існує лише кілька програм, які можуть їх відкривати безпосередньо.
Оскільки PS — це старіший формат, багато людей обирає конвертувати файли PS у PDF, які легше переглядати та поширювати між різними пристроями.