Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript在Illustrator中保存文件_Javascript_Adobe Illustrator - Fatal编程技术网

使用Javascript在Illustrator中保存文件

使用Javascript在Illustrator中保存文件,javascript,adobe-illustrator,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

我试图用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 );
    }
}
var“dest”将文件保存到我的Mac用户帐户的根目录中。我只是想将文件相对于源文档保存在子文件夹中,因此我尝试了以下方法:

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

我也尝试了这些,但运气不好:

var dest = "exports/testme";
var dest = "/exports/testme.pdf";
var dest = "testme.pdf";
等等等等


我缺少什么?

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

var originalInteractionLevel = userInteractionLevel;
userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;

...

userInteractionLevel = originalInteractionLevel;

由于要相对于文档进行保存,请首先按如下所示查找当前文档的路径

var path = app.activeDocument.path;
var dest = path + "/exports/testme.pdf";
    var path = app.activeDocument.path;
    var exportFolder = Folder(path + "/exports");
    if(!exportFolder.exists){
        exportFolder.create();
    }
    var dest = exportFolder + "/testme.pdf";
您还可以检查exports文件夹是否存在,如果不存在,您可以使用脚本创建,如下所示

var path = app.activeDocument.path;
var dest = path + "/exports/testme.pdf";
    var path = app.activeDocument.path;
    var exportFolder = Folder(path + "/exports");
    if(!exportFolder.exists){
        exportFolder.create();
    }
    var dest = exportFolder + "/testme.pdf";