Я бы не сказал, что преобразование PS-> PDF работает при рендеринге операций рисования PostScript, что подразумевает растровое изображение.В общем случае операции маркировки копируются, а затем эквивалентные операции маркировки пишутся с использованием конструкций PDF.
Теперь PDF - это язык описания, а не язык программирования.Это означает, что при запуске из PDF мы сразу получаем описание объекта вместо запуска программы для его генерации.Так что гораздо проще выполнить задачу, взяв каждое описание и превратив его в программу PostScript.
На самом деле многие такие преобразования фактически работают, определяя операторы PDF как процедуры PostScript, а затем просто выгружают операции PDF напрямую,Например:
/m /moveto load def
/l /lineto load def
/c /curveto load def
/v { currentpoint 6 2 roll curveto } bind def
/y { 2 copy curveto } bind def
/re {
4 2 roll moveto exch dup 0 rlineto 0 3 -1 roll rlineto neg 0 rlineto
closepath
} def
Настоящая проблема возникает при работе с функциями PDF, которые не могут быть представлены в PostScript, в основном это означает прозрачность.Поскольку невозможно создать векторные описания PostScript для соответствия описаниям PDF (различие в графических моделях), в этом случае прозрачные области, по крайней мере, должны быть отображены в растровое изображение, а изображение вставлено в программу PostScript.