【问题标题】:Save file in Illustrator with Javascript使用 Javascript 在 Illustrator 中保存文件
【发布时间】:2012-06-04 08:19:38
【问题描述】:

我正在尝试使用 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";

等等等等

我错过了什么?

【问题讨论】:

    标签: javascript adobe-illustrator


    【解决方案1】:

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

    var originalInteractionLevel = userInteractionLevel;
    userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
    
    ...
    
    userInteractionLevel = originalInteractionLevel;
    

    【讨论】:

      【解决方案2】:

      由于你要保存相对于你的文档,所以首先找到你当前文档的路径如下

      var path = app.activeDocument.path;
      var dest = path + "/exports/testme.pdf";
      

      您也可以检查exports文件夹是否存在,如果不存在,您可以使用脚本创建如下

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-11
        • 2012-10-12
        • 2012-01-30
        • 2014-10-03
        • 1970-01-01
        相关资源
        最近更新 更多