Последна актуализация: 20 февруари, 2025

Какво е PostScript?
PostScript (PS) е език за описание на страници (PDL), разработен от Adobe Systems през 1982 г. Той се използва предимно в десктоп публикации, печат и графичен дизайн, за да опише как текстът и изображенията трябва да бъдат изобразени на страница.

Обяснение на PostScript (PS)
PostScript (PS) е както език за описание на страници (PDL), така и програмен език, който е динамично типизиран и стеково‑базиран. Ето какво означава това:
1. Какво е език за описание на страници (PDL)?
Езикът за описание на страници определя как графиките и текстът се появяват на отпечатана страница или екран. PostScript се използва в принтери, софтуер за публикуване и цифрово наборно оформление, за точно изобразяване на шрифтове, изображения и оформления.
2. Какво е стеково‑базиран програмен език?
PostScript използва стек за обработка на команди, което означава, че следва принципа Последен влязъл, първи излязъл (LIFO). Например, за да съберете две числа в PostScript, ги поставяте в стека и след това извиквате оператор за обработка:
10 20 add
Това поставя 10 и 20 в стека, след което командата add ги изважда и поставя резултата (30) обратно в стека.
3. Динамично типизиран
PostScript не изисква явни дефиниции на типове. Променливите могат да съдържат различни типове (числа, низове, масиви и др.) без предварително зададени типове.
4. Използване на PostScript
PostScript се използва главно за десктоп публикации и електронно публикуване, което означава, че помага за създаване и печат на висококачествени документи с прецизен контрол върху шрифтове, оформление и графика.
5. Тюринг‑пълен език
Тъй като е Тюринг пълен, PostScript може, теоретично, да изпълни всяка изчислителна задача, ако разполага с достатъчно памет и време. Това означава, че може да се използва за общи програмни задачи, а не само за печат.
6. История и развитие
- Разработен от Adobe Systems между 1982 и 1984 г.
- Създаден от John Warnock, Charles Geschke, Doug Brotz, Ed Taft и Bill Paxton.
- Последната версия, PostScript 3, беше пусната през 1997 г. и донесе по‑добра производителност, управление на цветове и компресия на изображения.
История на PostScript
Произходът на PostScript се проследява до 1976, когато John Gaffney от Evans & Sutherland разработи концепции за език за описание на страници, докато работеше върху графична база данни. По това време Xerox PARC разработваше лазерни принтери и имаше нужда от стандарт за дефиниране на странични изображения. Първоначално създадоха Press format, който по-късно се превърна в Interpress през 1978, разработен от John Gaffney и Martin Newell.

През 1982 John Warnock и Chuck Geschke напуснаха Xerox PARC и създадоха Adobe Systems, където заедно с Doug Brotz, Ed Taft и Bill Paxton разработиха PostScript като по‑опростена алтернатива на Interpress. Той беше пуснат комерсиално през 1984.
Ролята на Apple в успеха на PostScript
През 1983 Steve Jobs видя потенциала на PostScript за Macintosh и го лицензира от Adobe за 1,5 млн. $, плюс 2,5 млн. $ за 20 % от акциите на Adobe. Той също се опита, без успех, да купи Adobe. Apple и Adobe след това сътрудничиха за оптимизиране на PostScript за принтера Apple LaserWriter, пуснат през 1985, което изигра ключова роля в революцията на десктоп публикациите.
Превъзходството на Adobe в рендериране и хинтинг на шрифтове направи PostScript приложим дори на по‑ниско‑резолюционни 300‑dpi Canon лазерни принтери. Adobe не патентова тази технология, за да я запази като търговска тайна.
Унищожаване и наследство на PostScript
През 80‑те и 90‑те години PostScript беше широко използван в лазерни принтери, но неговите високи изисквания за процесорна мощ и памет го правеха скъп. С намаляването на цените на принтерите и увеличаването на компютърната мощ, софтуерните решения замениха хардуерното обработване на PostScript. До 2001 повечето нискокачествени принтери преминаха от PostScript към мастилено‑струйни технологии и софт‑рендериране.
Въпреки това PostScript остава доминиращ в висококачествени професионални принтери, където отделя рендерирането от компютъра към принтера, подобрявайки производителността. Освен това, PDF (Преносим формат на документ) – пряко наследник на 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 шрифтове.
- Повече прозрачност и сенчести ефекти (по‑качествено графично рендериране).
- Заменен от PDF‑базирани работни процеси в съвременното публикуване, но все още се използва в висококачествени принтери.
PostScript в печат
Преди PostScript:
- Ранните принтери отпечатваха само текстови знаци, обикновено в ASCII, с фиксирани глифове (например клавиши на пишеща машина, метални ленти или оптични плочи).
- Принтери с матрична печат въведоха избираеми шрифтове и качване на потребителски глифове, заедно с базова растерна графика чрез escape последователности, но изискваха специфични драйвери за всеки модел.
- Векторната графика се обработваше от плотери (например HPGL‑базирани), които бяха бавни, скъпи и ограничени само до графика.
Печат с PostScript:
- Лазерните принтери комбинираха силите на матричните принтери и плотерите, позволявайки висококачествен текст и графика на една и съща страница.
- PostScript обедини управлението на печат с един език, независим от устройството, който работеше върху различни принтери и софтуер.
- За разлика от традиционните езици за контрол на принтери, PostScript е пълен програмен език, позволяващ прецизно рендериране на документи.
- Рендериране в движение: PostScript дефинира всичко (включително текста) чрез прави линии и Безиеви криви, позволявайки плавно мащабиране, завъртане и трансформации.
- Интерпретаторите на PostScript, наречени Raster Image Processors (RIPs), превръщат инструкциите в точки, нужни за окончателния отпечатък.
Управление на шрифтове в PostScript
Системата за шрифтове на PostScript използва базови графични форми за създаване на мащабируеми глифове, позволявайки шрифтовете да се преоразмеряват без загуба на качество. Хинтингът се използва, за да се гарантира, че шрифтовете остават ясни и четими дори при малки размери или ниска резолюция. Шрифтовете на PostScript се съхраняват в различни специализирани „Type“ формати, всеки с различни възможности.

Система за шрифтове на PostScript
- Използва графични примитиви за дефиниране на мащабируеми глифове.
- Хинтингът осигурява високо качество на рендериране, дори при ниски резолюции.
- Шрифтовете се съхраняват в специализирани Type формати с различни възможности.
Типове шрифтове в PostScript
PostScript предлага различни формати за шрифтове. Adobe първоначално лицензира висококачествени шрифтове Type 1, докато шрифтовете Type 3, без стандартен хинтинг, се използваха от други. Форматите Type 2 и CFF намалиха размерите на файловете и проправиха пътя към OpenType. CID‑Keyed шрифтовете поддържат големи азиатски набори и могат да използват както Type 1, така и Type 2 структури.
Type 1 Font (T1):
- Проприетарен компресиран и криптиран шрифтов формат от Adobe.
- Използва се за висококачествени, хинтени шрифтове.
- Adobe първоначално лицензира Type 1 технология срещу такса.
Type 3 Font (T3):
- Позволява пълни PostScript функции, но без стандартизиран хинтинг.
- Използва се от тези, които не могат да лицензираат Type 1.
Type 2 Font (T2) & Compact Font Format (CFF):
- Намаляват размера на шрифтовия файл за ефективност.
- Стават основата за OpenType шрифтове.
CID‑Keyed Fonts:
- Проектирани за азиатски (CJK) набори с големи кодови пространства.
- Могат да използват Type 1 или Type 2 за различни структури.
Еволюция на формати за шрифтове
Apple създаде TrueType шрифтове, за да се конкурира с Adobe‑овите шрифтове. Това принуди Adobe да сподели как работят техните шрифтове. По‑късно Adobe и Microsoft се обединиха, за да създадат OpenType шрифтове, които комбинират най‑доброто от двете технологии и станаха стандартният шрифтов формат, който използваме днес.
TrueType (1991):
- Разработен от Apple като конкурент на системата на Adobe.
- Принуди Adobe да публикува спецификацията на Type 1 за публична употреба.
OpenType (края на 90‑те):
- Съвместно разработен от Adobe & Microsoft.
- Обединява функционалността на Type 1 и TrueType.
- Става индустриален стандарт за съвременни шрифтове.
Край на поддръжката на Type 1
- Adobe официално прекрати поддръжката на Type 1 шрифтове през януари 2023 в полза на OpenType.
Преносим формат на документ (PDF) и PostScript
PDF срещу PostScript
PDF и PostScript са два формата за документи, които дават идентичен отпечатан резултат, защото използват една и съща графична система. Ключовата разлика е в тяхната структура: PostScript е пълен програмен език, позволяващ динамични операции, докато PDF е по‑опростен, статичен формат, проектиран за ефективно преглеждане и навигация. Въпреки тези разлики, файловете могат да се конвертират един в друг.

- Подобен модел за изображение – И PDF, и PostScript използват една и съща графична система, осигурявайки идентичен отпечатан резултат.
- Каква е разликата?
- PostScript е Тюринг‑пълен програмен език, способен на динамични операции.
- PDF е статична структура от данни, оптимизирана за ефективен достъп и навигация, което я прави по‑подходяща за интерактивно преглеждане.
- Взаимна конвертируемост – PDF‑файлове могат да се конвертират в PostScript, и обратно.
Езикът PostScript
PostScript е стеково‑базиран програмен език с динамично типизиране, подобен на Forth, но с Lisp‑подобни структури от данни. Той използва обратна полска нотация (Reverse Polish Notation), изискваща внимателно управление на паметта. PostScript използва масиви и речници, обработва типизирането по време на изпълнение и включва събиране на боклука. Коментарите започват с „%“, а програмите обикновено започват с „%!PS“.
- Тюринг‑пълен & стеково‑базиран – Подобен на Forth, но с динамично типизиране и Lisp‑подобни структури.
- Обратна полска нотация (RPN) – Операторите действат върху стек, изисквайки внимателно управление.
- Управление на паметта –
- Използва скоупирана памет.
- Въведено събиране на боклука в PostScript Level 2.
- Структури от данни –
- Използва масиви & речници.
- Няма формални декларации на типове – типизирането се управлява по време на изпълнение.
- Коментари & структура на програмата –
- % въвежда коментари.
- Програмите обикновено започват с "%!PS", за да указват PostScript формат.
Как се използва PostScript
- Предимно генериран от софтуер, а не писан ръчно.
- Може да се използва като пълен програмен език за автоматизация.
- Интерпретиран от принтери (RIP‑ове) или прегледачи на екрана.
Пример за прост PostScript файл
Ето прост пример за PostScript (.ps) файл, който отпечатва „Hello, World!“ на страница:
%!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→ Инструктира принтера да отпечата страницата.
Можете да запазите това като hello.ps и да го отворите с PostScript прегледач (например GSview, Ghostscript) или да го изпратите към PostScript принтер.
Hello.ps след рендериране

Списък с софтуер за рендериране на PostScript
Прегледачи и интерпретатори на PostScript
- Ghostscript (Open‑source) – Популярен интерпретатор за PostScript и PDF.
- GSview – GUI фронтенд за Ghostscript.
- MuPDF – Лек прегледач, поддържащ PostScript и PDF.
- Xpdf – Open‑source PDF прегледач с частична поддръжка на PostScript.
- Evince – GNOME документен прегледач, който може да обработва PostScript файлове.
- Okular – KDE документен прегледач с поддръжка за PostScript.
- Apple Preview – Вграден прегледач в macOS, поддържащ PostScript & PDF.
PostScript принтери и растеризатори
- Adobe Acrobat Distiller – Конвертира PostScript в висококачествени PDF‑ове.
- CUPS (Обща Unix печатна система) – Управлява печатане на PostScript в Unix/Linux.
- PPR (Printer Production Release) – PostScript спулер и растеризатор.
Векторна графика и DTP софтуер
- Adobe Illustrator – Може да отваря и редактира PostScript файлове.
- CorelDRAW – Поддържа PostScript за векторна графика.
- Scribus – Open‑source DTP софтуер с поддръжка за PostScript.
- Inkscape – Може да импортира/експортира PostScript (чрез Ghostscript).
Команден ред и инструменти за конвертиране
- ps2pdf (част от Ghostscript) – Конвертира PostScript в PDF.
- pstopdf (инструмент за команден ред в macOS) – Конвертира PostScript в PDF.
- ImageMagick – Може да рендерира PostScript файлове в изображения.
ЧЗВ
Q1 - Какво са PS файловете и как се отварят?
Отговор:
PS означава PostScript — файл с език за описание на страници, главно използван за печат. PS файловете се създават за подготовка на цифрова графика и текст за висококачествен печат. Можете да изпратите PS файл директно към принтер без да го отваряте в конкретно приложение. Въпреки това, PS файловете не са най‑универсалните, тъй като има само няколко програми, които могат да ги отворят директно.
Тъй като PS е по‑стар формат, много потребители предпочитат да конвертират PS файлове в PDF, който е по‑лесен за преглеждане и споделяне между различни устройства.