使用Javascript在Illustrator中保存文件

dbo*_*lle 5 javascript adobe-illustrator

我正在尝试使用Javascript在Illustrator中保存文件,但我一直收到错误.

这是有效的,但不是我想要的:

// save as
var dest = "~/testme.pdf";

saveFileToPDF(dest);

function saveFileToPDF (dest) {
    var doc = app.activeDocument;
    if ( app.documents.length > 0 ) {
        var saveName = new File ( dest );
        saveOpts = new PDFSaveOptions();
        saveOpts.compatibility = PDFCompatibility.ACROBAT5; 
        saveOpts.generateThumbnails = true; 
        saveOpts.preserveEditability = true;
        alert(saveName);
        doc.saveAs( saveName, saveOpts );
    }
}
Run Code Online (Sandbox Code Playgroud)

var"dest"将文件保存到我的Mac用户帐户的根目录.我只是想在子文件夹中保存相对于源文档的文件,所以我尝试了这个:

var dest = "exports/testme.pdf";
Run Code Online (Sandbox Code Playgroud)

这会突出显示".pdf"对话框,正确等待我已创建的"exports"文件夹中的输入.我可以键入一些内容并保存,但它会忽略代码中指定的文件名"testme.pdf".我可以在它知道我想要的突出显示的".pdf"上键入"cheese",它会将"cheese.pdf"保存在"exports"文件夹中.

我也试过这些没有运气:

var dest = "exports/testme";
var dest = "/exports/testme.pdf";
var dest = "testme.pdf";
Run Code Online (Sandbox Code Playgroud)

等等

我错过了什么?

Mar*_*ing 5

要在saveAs没有弹出对话框的情况下使用,您需要使用全局属性userInteractionLevel:

var originalInteractionLevel = userInteractionLevel;
userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;

...

userInteractionLevel = originalInteractionLevel;
Run Code Online (Sandbox Code Playgroud)