[ID CC2024] Скрипт генерации pdf

KegP

Топикстартер
20 лет на форуме
Сообщения
42
Реакции
1
Добрый день.

Нужен скрипт.
В приложенном файле есть 3 слоя с названиями:
lines
info
back
Название файла - filename.indd

Мне нужно, что бы в результате работы скрипта получилось 3 pdf файла, с выводом отдельно из каждого слоя и названия у pdf были сгенерированы из названия .indd файла и названии слоёв.

То есть, должно получиться:
первый pdf - filename_lines.pdf в котором данные только из слоя lines;
второй pdf - filename_info.pdf в котором данные только из слоя info;
третий pdf - filename_back.pdf в котором данные только из слоя back.

Названия слоёв не меняется.
Название файла меняется.
Важно то, что pdf должен получится не результате экспорта, а результате печати.

Может уже есть подобное?
Если нет - кто сможет взяться за написание?

Спасибо...
 

Вложения

Слушай-те, да..
Вы правы.
Экспорт тоже подойдёт - эт даже лучше будет..
 
На названия, видимость и количество слоев плевать :) Выведет все.
Код:
#target indesign
var doc = app.activeDocument;
var myPDFExportPreset = "[High Quality Print]"; // Название PDF-пресета (PDF preset name)
var fName = String(doc.fullName).substring(0, String(doc.fullName).lastIndexOf('.'));
var layersArr = [], nameArr = [], visibleArr = [];
for ( var i = 0; i < doc.layers.length; i++ ) {
    layersArr[i] = doc.layers[i];
    nameArr[i] = layersArr[i].name;
    visibleArr[i] = layersArr[i].visible;
    layersArr[i].visible = false;
};

for ( var i = 0; i < layersArr.length; i++ ) {
    layersArr[i].visible = true;
    doc.exportFile(ExportFormat.PDF_TYPE, File(fName + "_" + nameArr[i] + ".pdf"), false, app.pdfExportPresets.item(myPDFExportPreset));
    layersArr[i].visible = false; 
};

for ( var i = 0; i < layersArr.length; i++ ) {
    layersArr[i].visible = visibleArr[i];
}
 
Последнее редактирование:
  • Спасибо
  • Огонь
Реакции: Flame, ~RA~ и densen