我写了一个脚本将文件导出到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 );
答案 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)
正如其他人所指出的,这是 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);
}