插画家javascript导出jpg空格由短划线取代

时间:2017-01-25 22:41:40

标签: javascript export jpeg adobe-illustrator

我写了一个脚本将文件导出到jpeg。但是,在导出时,如果文件名包含空格,则用短划线替换它们。为什么?如果从手册中的Illustrator导出,则会正确显示文件名。如果您使用fileJpg.saveDlg('');,则dialgoue窗口会正确显示文件名,但会一直用短划线替换空格。

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 );

enter image description here

3 个答案:

答案 0 :(得分:1)

您可以使用简单的解决方法,只需使用短划线重命名文件,在代码末尾添加以下行:

var fileJpg1 = new File("c:\\tmp\\for-Jpg-and-Eps.jpg");//path to file with dashes
fileJpg1.rename('for Jpg and Eps.jpg');

答案 1 :(得分:0)

这是Illustrator脚本中的错误。要删除它,您必须手动替换。

答案 2 :(得分:0)

正如其他人所指出的,这是 Adob​​e Illustrator 的一个错误/怪癖。

我通过在 Adob​​e 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);
      
}