Adobe Illustrator - Сбой скрипта при попытке подогнать команду монтажных областей

activeDocument.fitArtboardToSelectedArt()

При вызове этой команды происходит сбой AI на 32-битных и 64-битных версиях AI 5.1/6. Я могу использовать команду из меню. Кто-нибудь сталкивался с этим? Кто-нибудь знает обходной путь?

Полный код.

    function exportFileToJPEG (dest) {
    if ( app.documents.length > 0 ) {

        activeDocument.selectObjectsOnActiveArtboard()
        activeDocument.fitArtboardToSelectedArt()//crashes here
        activeDocument.rearrangeArtboards()

        var exportOptions = new ExportOptionsJPEG();
        var type = ExportType.JPEG;
        var fileSpec = new File(dest);
        exportOptions.antiAliasing = true;
        exportOptions.qualitySetting = 70;
        app.activeDocument.exportFile( fileSpec, type, exportOptions );
    }
}
var file_name = 'some eps file.eps'
var eps_file = File(file_name)


var fileRef = eps_file;



if (fileRef != null) {
    var optRef = new OpenOptions();
    optRef.updateLegacyText = true;
    var docRef = open(fileRef, DocumentColorSpace.RGB, optRef);
}

exportFileToJPEG ("output_file.jpg")

person Nick Maroulis    schedule 16.07.2012    source источник


Ответы (1)


Я могу воспроизвести ошибку с AI CS5.

Кажется, что fitArtboardToSelectedArt() принимает индекс артборда в качестве необязательного параметра. Когда параметр установлен, Illustrator не аварийно завершает работу. (вероятно, ошибка в коде, обрабатывающем ситуацию отсутствия переданного параметра)

В качестве обходного пути вы можете использовать:

activeDocument.fitArtboardToSelectedArt(
               activeDocument.artboards.getActiveArtboardIndex()
                                       );

чтобы передать индекс активной монтажной области в функцию. Надеюсь, это сработает и для вас.

Также рекомендуется никогда не опускать точку с запятой в конце оператора.

person Jonas    schedule 17.07.2012
comment
Это все еще проблема в Illustrator CC 2017 (версия 22.0.1). В документации (средство просмотра объектной модели) по-прежнему указано, что индекс монтажной области является необязательным параметром, но Illustrator неизбежно аварийно завершает работу при его пропуске. Спасибо за это решение, @Jonas! - person Andreas Jansson; 12.03.2018