У меня есть 6 разных логотипов, каждый из которых можно сохранить отдельно как
Есть ли скрипт, который может это сделать, или мне нужно делать это вручную?
Возможно, это не идеальный ответ, но в комментариях просто не хватило места для этого.
Чтобы начать со скриптов, первое, что вам нужно посмотреть, это, вероятно, справочный сайт по скриптам Illustrator . Там, если вы откроете справочный pdf для javascript
. Вы найдете список методов и несколько примеров сценариев.
Если вы выполните поиск: " exporting to
" и просмотрите результаты поиска, вы найдете примеры сценариев для экспорта текущего документа в различные форматы. Два других условия поиска будут " saving to
" и " saving with
". Эти примеры сценариев помогут вам приблизиться к тому, что вам нужно.
Вы можете найти свойства экспорта и сохранения над этими примерами скриптов.
Кроме того, это хороший ресурс и иногда намного лучше, чем «официальная» ссылка. В этом может быть сложно ориентироваться, поэтому я обычно просто гуглю такие вещи, как " jongware illustrator document
" или " jongware illustrator pdfsaveoptions
". @Jongware, ты мой герой <3
Теперь вернемся к настройке скрипта.
Если вы возьмете один из этих примеров сценариев из эталонного файлаjavascript
, вставите его в файл .jsx и запустите, ничего не произойдет. Вам нужно вызвать функцию следующим образом:
Вот saveFileToPDF
функция, которую вы можете найти там
Я только что добавил эту первую строку ниже. Очевидно, вам нужно использовать свой собственный путь.
saveFileToPDF("/Users/joonas/Desktop/file.pdf");
// Saves the current document as PDF to dest with specified options
// dest contains the full path and file name to save to
function saveFileToPDF(dest) {
var doc = app.activeDocument;
if ( app.documents.length > 0 ) {
var saveName = new File ( dest );
saveOpts = new PDFSaveOptions();
saveOpts.compatibility = PDFCompatibility.ACROBAT5;
saveOpts.generateThumbnails = true;
saveOpts.preserveEditability = true;
doc.saveAs( saveName, saveOpts );
}
}
При этом скрипт сохранит ваш текущий документ в виде файла PDF с каждой монтажной областью в виде отдельной страницы.
Теперь, если вы получите примеры сценариев для каждого формата файла, который вы хотите сохранить, и вызовете функции, как показано выше, вы быстро получите сценарий, который сохраняет текущий документ в любом количестве форматов, которое вы хотите.
Форматы JPG и PNG могут немного усложнить ситуацию, если вы хотите сделать что-то вроде того, что я объяснил в своем комментарии: вручную создайте разные параметры цвета в разных монтажных областях, а затем запустите скрипт. Ну, ни один из этих форматов не поддерживает свойство artboardRange
при экспорте. Это означает, что он сохраняет только один файл со всем содержимым документа. Однако вы можете обойти это:
Я в основном завернул метод " exportFile
" в цикл for, изменил имя файла и удалил fileSpec
переменную " ". Я также добавил artBoardClipping
свойство " ". С этими изменениями скрипт должен сохранить file1.jpg
, file2.jpg
и file3.jpg
при условии, что у вас есть 3 монтажных области.
exportFileToJPEG("/Users/joonas/Desktop/file");
// Exports current document to dest as a JPEG file with specified
// options, dest contains the full path including the file name
function exportFileToJPEG (dest) {
if ( app.documents.length > 0 ) {
var exportOptions = new ExportOptionsJPEG();
var type = ExportType.JPEG;
// var fileSpec = new File(dest);
exportOptions.artBoardClipping = true; // If true, the exported image should be clipped to the artboard.
exportOptions.antiAliasing = true;
exportOptions.qualitySetting = 100;
// Gets the length (amount) of artboards in the current document.
var artboard_length = app.activeDocument.artboards.length;
// Loop that runs the code as many times as there are artboards...
for (var i = 0; i < artboard_length; i++ ) {
// Set the active artboard based on the loop number
app.activeDocument.artboards.setActiveArtboardIndex(i);
// Exports the current artboard as a jpeg file
app.activeDocument.exportFile( new File( dest + (i+1) + ".jpg" ), type, exportOptions );
}
}
}
Теперь предположим, что вы хотите использовать текущее имя документа в качестве основы для имен файлов, вы можете использовать такую переменную в верхней части документа:
var docName = app.activeDocument.name.split('.')[0];
... и тогда вы могли бы использовать его так:
exportFileToJPEG("/Users/joonas/Desktop/" + docName );
Йоонас