Создание файла Postscript в AE

Spirit412

Топикстартер
15 лет на форуме
Сообщения
870
Реакции
128
Нужно сделать контрольное поле на рельсах. Количество контрольных полей для каждой сепарации от 0 до 3. Значение растра % от 1 до 100
Всего сепараций от 1 до 10 (max количество секций).
Данные в wf поступают из excel файла. Он через скрипт в xml преобразуется.
Код для красок выглядит примерно так. Примерно, потому как если нужно, можно и переделать структуру и вид.
XML:
<?xml version="1.0" ?>
<JOBS>
  <ColorsPole>
    <ColorPole Color="PANTONE 485 C" IDpole="1" tint="0.24"></ColorPole>
    <ColorPole Color="PANTONE 485 C" IDpole="2" tint="0.14"></ColorPole>
.......
    </Colors>
</JOBS>

IDpole - порядковый номер поля.
tint - процентовка. 1=100%

Код для PS - создаём один многостраничный ps заданного размера, заданной заливки и % растра
wfp в []. Расписывать не вижу смысла. Посмотрев код xml будет понятно куда что подставляется.
Код:
%!PS-Adobe-3.0 EPSF-3.0
%%Extensions: CMYK
%%EndComments
/Xcoord 3.5 def % Задаём переменную ширины страницы
/Ycoord 3.5 def % Задаём переменную высоты страницы
% Функция cmm перевод mm
/cmm {
    72.0 mul 25.4 div
} def % Функция cmm перевод mm
<< /PageSize [Xcoord cmm Ycoord cmm] >> setpagedevice % размер страницы
/square %Функция - рисует квадрат
{
newpath
0 0 moveto %начало координат в левый нижний угол
3.5 cmm 0 lineto
3.5 cmm 3.5 cmm lineto
0 3.5 cmm lineto
closepath fill
} def


% - ниже кусок кода который повторяем с переменными.

%%Pages:[IDpole] [IDpole]
0 0 moveto % x y меняем начало координат.
0 0 1 0 ([Color]) 0 % CMYK colorname tint - Задаём именной цвет, цвет которого задаётся в CMYK
/tint exch def
findcmykcustomcolor
false setoverprint % оверпринт=нет
tint [tint] exch sub setcustomcolor
square
fill
showpage

% дальше, пока не закончится

%%EOF

После Map data я ставлю тикет "Normalize PostScript / PDF / Illustrator 8.0 File". Затем S&R
В принципе можно сразу сделать. Передвигая начало координат и рисуя квадрат с заданной заливкой. Но у меня данный вариант не получился. Почему то возникли проблемы с findcmykcustomcolor, в результате только первые несколько пантонов отображались, поля остальных цветов белые.

Как по мне, PS язык неудобен. Синтаксис - голову сломаешь. Два дня разбирался в основах.
Но результат того стоит. WF в разы быстрее работает, экономит ресурсы и время.
1575958986218.png

Если набить руку на написании PS, то можно разнообразить варианты создания PDF.
На github можно найти примера генераторов баркода и т.п. Даже подключаемые библиотеки есть.
 
  • Спасибо
Реакции: Skvoznyak и Fragarach

lev

Модератор
20 лет на форуме
Сообщения
2 146
Реакции
2 071
3.5 мм, почти равны 10 pt, можно было, в данном конкретном случае, обойтись без функции конверсии cmm
 

Spirit412

Топикстартер
15 лет на форуме
Сообщения
870
Реакции
128
3.5 мм, почти равны 10 pt, можно было, в данном конкретном случае, обойтись без функции конверсии cmm
Можно.
Но у меня 3,5 могут превратиться в 3,7. Так что лучше уж пусть будет в метрической системе.