Работа скрипта построена на следующем допущении. Все внедряемые иллюстрации должны быть собраны в одной папке и, кроме того, пронумерованы- соответственно, первым будет импортирован файл с названием "1", следующим - с названием "2" и т. д. Скрипт сначала определяет наибольшее значение в названиях графических файлов из выбранной папки и продолжает работу со следующего. Это удобно, если работа над публикацией занимает больше одного дня. В таком случае корректная работа будет также обеспечена, поскольку скрипт продолжает импорт с последнего внедренного изображения.
for ( i=0; id. length; i++) {
if (1[i].name.charCodeAt(0)<58 && parselnt(1[i].name) > l_curr) l_curr = parselnt(1[i].name)
}
9.6. Автомат по раскладке рекламы на листе
Как правило, раскладка рекламы в специализированных изданиях- задача не самая творческая: перед вами не менее 4 полос формата АЗ, которые сплошь испещрены рекламой- крупной, мелкой, ее наберется несколько сотен. И так каждую неделю, а если еще есть региональные выпуски - то и чаще… Тут поневоле задумаешься о том, как бы облегчить себе работу. Для таких задач скриптинг подойдет как нельзя лучше. Поэтому и был создан эдакий "автомат" по раскладке рекламы. Как любая более-менее серьезная задача, она нуждается в техническом задании- в нем нужно описать весь круг задач, которые скрипт должен выполнять.
Самое главное, конечно же, - расстановка рекламы. При этом нужно учитывать определенный порядок - достаточно часто рекламодатели заказывают определенное место, оплачивая это отдельно. Для остальных реклам порядок не столь важен - тут действует правило: кто подал рекламу первым - у того она появится на листе раньше (выше) остальных.
Чтобы задача могла быть автоматизирована, названия файлов должны идти в конкретном порядке - не важно, в каком именно, главное, чтобы присутствовала определенная закономерность, например, названия либо увеличивались, либо уменьшались. Выбор в качестве отправной точки названия файла очень удачен: во-первых, этот критерий очень наглядный, во-вторых, в таком случае ничего не понадобится переделывать в производственном процессе - название файла, как правило, соответствует номеру заказа, а они, естественно, идут в возрастающем порядке.
Далее. Необходимо точно знать размер листа- не только по физическим характеристикам (см или мм), но и в логических (в рекламных модулях), поскольку мы будем работать именно на уровне этих модулей. При этом положение на листе каждого отдельного рекламного модуля будет однозначно определяться его порядковым номером.
Итак, определяем количество рядов и столбцов рекламы - нашу макетную сетку. На одном листе помещается 9 рядов, в каждом по 4 колонки. Учтем, что реклама может быть многомодульной: минимальный размер соответствует одному модулю, встречаются двух- и более модульные рекламные блоки - соответственно, нужно так продумать процесс раскладки, чтобы площадь листа использовалась максимально- ведь может случиться, что после размещения мелкой рекламы оставшееся место окажется слишком фрагментированным - при этом более крупные блоки просто не поместятся в эти фрагменты, хотя суммарная свободная площадь это позволяет. Поэтому начинаем раскладку с самой крупноразмерной рекламы и далее по убывающей, при этом мы не переживаем по поводу фрагментации - в остающиеся фрагменты всегда поместится одномодульная реклама.