illustrator javascript експорт jpg интервали заменени с тире

Написах скрипт за експортиране на файла в jpeg. При експортиране обаче, ако името на файла съдържа интервали, те се заменят с тире. Защо? Ако експортирате от Illustrator в ръководство, тогава името на файла се показва правилно. Ако използвате fileJpg.saveDlg('');, диалоговият прозорец показва правилно името на файла, но продължава да заменя интервалите с тирета.

function ExportJpgFunction(){
    var exportOptions = new ExportOptionsJPEG();
    var type = ExportType.JPEG;
    var fileJpg = new File('D:\\for Jpg and Eps/' + myWindow.fnamePanel.fileNameText.text + '.jpg');
    fileJpg.saveDlg('');     
    exportOptions.antiAliasing = true;
    exportOptions.qualitySetting = 100;
    exportOptions.verticalScale = 420;
    exportOptions.horizontalScale = 420;
    app.activeDocument.exportFile( fileJpg, type, exportOptions );

въведете описание на изображението тук


person hdtvhdmi    schedule 25.01.2017    source източник


Отговори (3)


Можете да използвате просто решение, просто преименувайте файла с тирета, добавете тези редове в края на вашия код:

var fileJpg1 = new File("c:\\tmp\\for-Jpg-and-Eps.jpg");//path to file with dashes
fileJpg1.rename('for Jpg and Eps.jpg');
person emax    schedule 26.01.2017
comment
Напротив. Пиша името на файла без тиретата, а илюстраторът, когато експортирате, добавя тире. Добавих изображение, което ще бъде ясно. - person hdtvhdmi; 01.02.2017
comment
Не ме разбрахте погрешно, предложих ви да преименувате файла, след като илюстраторът го е запазил с това пропуснато име, използвайки функцията за преименуване. - person emax; 12.03.2017

това е грешката в скриптовете на Illustrator. За да премахнете това, трябва да смените ръчно.

person Charu    schedule 08.09.2017

Както бе отбелязано от други, това е грешка/приумица на Adobe Illustrator.

Заобиколих същия проблем, като премахнах тиретата от имената на файловете, СЛЕД като Adobe Illustrator ги създаде.

renameFile ('D:\\for Jpg and Eps/' + replaceSpacesWithDashes(myWindow.fnamePanel.fileNameText.text) + '.jpg', myWindow.fnamePanel.fileNameText.text + '.jpg');
  
function replaceSpacesWithDashes (stringToDash) {
    
    //Simulate dashed up files from undashed original 
    var dashedString = stringToDash.replace(/\s+/g, "-");

    return dashedString;

}
  
function renameFile (fileFromPath, newName) {   

      var b = new File(fileFromPath);
      b.rename(newName);
      
}

person Brian Saetre    schedule 03.01.2021