LatchObj("NOT CMYK", myGraphic.parent); if (myGraphic.effectivePpi[0]<myMinimalResolution || myGraphic.effectivePpi[1]<myMinimalResolution)

LatchObj("LOW RESOLUTION", myGraphic.parent); if ((myGraphic.effectivePpi[0]>300 && myGraphic.effectivePpi[1]>300)) ResolutionArray.push(File(myGraphic.itemLink.filePath))

}

Далее идут редко используемые каверзные "финты", но, тем не менее, об их присутствии также лучше знать (листинг 11.11).

; Листинг 11.11. Проверка экзотики

if(myGraphic.blendMode!=BlendMode.NORMAL}

LatchObj("NOT NORMAL BLENDING MODE", myGraphic.parent); if (myGraphic.opacity!=100)

LatchObj("TRANSPARENCY", myGraphic.parent); Шаг третий Наконец, самое интересное - проверка иллюстраций в форматах EPS и PDF. Если таковые в публикации имеются (EPS_flag=true), устанавливаем соответствующий признак (нужен запуск Illustrator) и записываем все пути к ним в текстовый файл. Параллельно проверяем содержимое массива ErrArray, куда на протяжении работы скрипта собиралась информация о всех потенциально опасных моментах публикации, и выдаем ее в виде предупреждения. Если массив ErrArray не пуст, значит, в публикации существуют подозрительные элементы, и все дальнейшие операции прекращаются. Если же массив пуст, значит, все нормально, можно спокойно продолжать.

Один тонкий момент связан с обработкой объектов, вставленных в InDesign через системный буфер. Дело в том, что при определенных условиях (например, фрагмент слишком сложный, чтобы его оставлять в виде кривой) InDesign автоматически конвертирует объект в формат EPS и в таком виде помещает его в публикацию. При этом возникает ситуация, когда, с одной стороны, формат файла действительно EPS, а с другой - он не имеет ссылки на файл на диске (myGraphic. itemLink=null), что нам также приходится учитывать. Наконец, запись ссылок к внешним иллюстрациям в соответствующие файлы (листинг 11.12).

' Листинг 11.12. Проверка связанных иллюстраций

if (myGraphic. constructor .name='EPS' | | myGraphic.constructor.name=='PDF'){ linkPath = decodeURI(File(myGraphic.itemLink.filePath)); if (myGraphic. itemLink=null) {

alert("Some vector graphics were pasted from Clipboard")}

EPS_Storage.push(linkPath);

}else EPSArray.push(linkPath);

}

// Запись в файлы

if(EPSArray.length>0 SS (File(linksEPSFile).length>0) writeLinks(EPSArray, linksEPSFile); if(ResolutionArray.length>0 & File(linksPSDFile).length>0) writёLinks(ResolutionArray, linksPSDFile);}

function writeLinks (arrName, fileName) (

if(arrName.length>0 SS (!File(fileName).exists II File (fileName) . length=0) ) { txtFile = new File(fileName); txtFile.open('w'); txtFile.write(arrName.join('\r')); txtFile.close(); delete txtFile;

}

}

Итак, оба шага, составляющие первый этап проверки, завершены. На текущий момент выполнены следующие задачи:

проведена предпечатная проверка сборочного файла публикации;

проверены все задействованные растровые изображения;


⇐ вернуться назад | | далее ⇒