Экспорт в JPG

Статус
Закрыто для дальнейших ответов.

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Господа, подскажите, коим образом можно экспортировать Artboard в CS5 по отдельности как JPG в указанную папку и с соответствующим именем: Artboard 1, Artboard 2, и т.д.
 

splxgf

12 лет на форуме
Сообщения
7 744
Реакции
3 425
Ответ: Экспорт в JPG

Как вариант экспорт в pdf, а затем из него jpg.
 

similideus

12 лет на форуме
Сообщения
671
Реакции
349
Ответ: Экспорт в JPG

Разве появились какие-то принципиальные отличия от CS4?

В справке всё описано по-старому: Включить галку 'Use Artboards' при экспорте, выбрать все артборды или нужный диапазон, указать папку и вперёд. Назвать файл 'Artboard.jpg', а номер допишется автоматом, правда не с пробелом, а через дефис.

Upd. Черт, не заметил, что про скриптинг. Прошу прощения.
 

similideus

12 лет на форуме
Сообщения
671
Реакции
349
Ответ: Экспорт в JPG

PHP:
var docRef = app.activeDocument;
var artboardsNum = docRef.artboards.length;

var destFolder = Folder.selectDialog('Select the folder to export the JPG files to:');

for (var i = 0; i < artboardsNum; i++) {
	docRef.artboards.setActiveArtboardIndex(i);
	
	if (destFolder) {
		var destFile = new File(destFolder + '/Artboard ' + i + '.jpg');	
		var jpgExportOptions = new ExportOptionsJPEG();
		jpgExportOptions.artBoardClipping = true;
		docRef.exportFile (destFile, ExportType.JPEG, jpgExportOptions);	
	}
}
 

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Ответ: Экспорт в JPG

Спасибо! То, что нужно.
 

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Ответ: Экспорт в JPG

Иногда в папке для экспорта находятся одноименные файлы. Можно ли добавить в скрипт опцию переименования автоматом? Добавить к старому файлу "OLD" иои цифру?
 

similideus

12 лет на форуме
Сообщения
671
Реакции
349
Ответ: Экспорт в JPG

PHP:
#target illustrator

var docRef = app.activeDocument; 
var artboardsNum = docRef.artboards.length; 

var destFolder = Folder.selectDialog('Select the folder to export the JPG files to:'); 

for (var i = 0; i < artboardsNum; i++) { 
    docRef.artboards.setActiveArtboardIndex(i); 

    if (destFolder) { 
        
        // Gheck file exists and rename
        if (File(destFolder + '/Artboard_' + i + '.jpg').exists) {

            //modTime — number of milliseconds since midnight January 1,1970 UTC
            //for the date of the referenced file's last modification..
            var modTime = File(destFolder + '/Artboard_' + i + '.jpg').modified.getTime();
            
            File(destFolder + '/Artboard_' + i + '.jpg').
                 rename (destFolder + '/Artboard_' + i + "_" + modTime +'.jpg')
            }

        var destFile = new File(destFolder + '/Artboard_' + i + '.jpg'); 
 
        var jpgExportOptions = new ExportOptionsJPEG(); 
        jpgExportOptions.artBoardClipping = true; 
        docRef.exportFile (destFile, ExportType.JPEG, jpgExportOptions);     
    } 
}

Вместо количества миллисекунд правильнее вставить дату прописью, но отчего-то у меня не получилось, а разбираться сейчас лениво :)
 

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Ответ: Экспорт в JPG

Спасибо! Отшумят праздники, сяду поэкспериментирую!
 

chesen

Топикстартер
15 лет на форуме
Сообщения
553
Реакции
49
Ответ: Экспорт в JPG

Да...староват я для программирования, видимо. Похожий скрипт я использую в Photoshop CS2, для быстрого сохранения всего документа в JPG.Местонахождения папки сохраняется в ini-файле. Попытался добавить новую функцию из Вашего скрипта-увы. Подозреваю, что ошибка в банальных азах скриптинга. Хотя вопрос затронут не в соответствующей теме, очень надеюсь на Ваше снисхождение в решении вопроса.
Мой вариант ниже:
PHP:
//save the layer as jpeg
var fileRef = new File ("~save_text_jpeg.ini");
fileRef.open ("r:");
var x = fileRef.read ();
var b = Folder.selectDialog ("Select a folder", x);
fileRef.open ("w:");
fileRef.write (b)
//оpen an ini file
var fileRef = new File ("~save_text_jpeg.ini");
fileRef.open ("r:");
var b = fileRef.read ();
//set up dialogmode
app.displayDialogs = DialogModes.NO;
//determine if a top layer object is a layer or a layerset
//in case of being a layerset select it's top layer as an active layer
//otherwise select a top layer object as an active layer
var y = app.activeDocument.layers [0];
//read the name content of an active layer
var c = app.activeDocument.activeLayer.name;

for (var i = 0; i < activeLayer; i++) {  
    docRef.app.activeDocument.activeLayer.name(i);  

    if (OutputFolder) {  
         
        // Gheck file exists and rename 
        if (File(OutputFolder + "/" + i +".jpg").exists) { 

            //modTime — number of milliseconds since midnight January 1,1970 UTC 
            //for the date of the referenced file's last modification.. 
            var modTime = File(OutputFolder+ "/" + i +".jpg").modified.getTime(); 
             
            File(destFolder + "/" + i +".jpg")
                 rename (OutputFolder + "/" + i + "_" + modTime +".jpg")
                  
 var OutputFile = new File(OutputFolder + c + i + '.jpg');                  
             
//save the file as jpeg
var OutputFolder = b
var jpegOptions = new JPEGSaveOptions();
jpegOptions.quality = 8;
app.activeDocument.saveAs (new File (OutputFolder + "/" + c +".jpg"), jpegOptions)
    }  
}
 
Статус
Закрыто для дальнейших ответов.