5 Replies Latest reply on Sep 22, 2015 12:03 AM by Korgpolly

    script to save .pdf with different presets generates wildly different lo-res file size to interactive operation


      The script below is adapted in part from the one given with Illustrator and other bits and pieces I've picked up from the forum.  When I run it on a 15.3Mg .ai file it produces

      .pfs the same size as it would if I created them manually for HQ print and Default; but the low-res option comes out at 9Mg as opposed to the 439K it "should" be.


      Please would some kind person advise me how I can amend the script to work as I wish it to: I'd been relying on my custom preset doing the job for me.  Thanks in anticipation.


         var jiName=app.activeDocument.name
         var pos = jiName.indexOf(".ai"); 
            if (pos > 0){
          var pos = jiName.indexOf(".pdf"); 
            if (pos > 0){
          var saveProof = new Window ("dialog", "Save Proof");
              saveProof.alignChildren = "center";
        var sPGroup1 = saveProof.add ("group");
              sPGroup1.add ("statictext", undefined, "File Name");
        var save_pdf = sPGroup1.add ('edittext {text:"", characters: 30, justify: "center", active: true}');
        var sPdQButtonGroup = saveProof.add ("group");
              sPdQButtonGroup.alignment = "center"; 
              sPdQButtonGroup.add ("statictext", undefined,"File Quality");
        var HQ=sPdQButtonGroup.add ("radiobutton", undefined, "  HI-RES  ");
        var IDefault=sPdQButtonGroup.add ("radiobutton", undefined, "  Standard  ");
        var lowres=sPdQButtonGroup.add ("radiobutton", undefined, "  low-res  ");
              sPdQButtonGroup.children[1].value = false;
              sPdQButtonGroup.children[3].value = false;
              sPdQButtonGroup.children[2].value = true;
        var sPButtonGroup = saveProof.add ("group");
              sPButtonGroup.alignment = "center"; 
        var sPok=sPButtonGroup.add ("button", undefined, "Save Proof");
        var sPcancel=sPButtonGroup.add ("button", undefined, "Exit");
              sPButtonGroup.active = true;
              sPcancel.onClick = function() {
              sPok.onClick = function() {
                    app.executeMenuCommand('save'); // save existing Illustrator file
                    var my_pdf= new File("users/Les/Desktop/PROOFS/"+save_pdf.text); //Full File Path 
                    function saveFileToPDF(myFile){  
                    //Setup Save Options for PDF  
                    var saveOpts = new PDFSaveOptions();  
                    saveOpts.compatibility = PDFCompatibility.ACROBAT6;
                    saveOpts.generateThumbnails = true;  
                    saveOpts.preserveEditability = true;
                    saveOpts.requirePermissionPassword = true;  
                    saveOpts.permissionPassword = "*-*-*-*-*-*";
                    saveOpts.compressArt = true; //default
                   saveOpts.embedICCProfile = true;
                   saveOpts.enablePlainText = true;
                   saveOpts.generateThumbnails = true; // default
                   saveOpts.optimization = true;
                   saveOpts.pageInformation = true;
                    if (HQ.value==true){
                      saveOpts.pDFPreset = '[High Quality Print]';
                    if (IDefault.value==true){
                      saveOpts.pDFPreset = '[Illustrator Default]';
                    if (lowres.value==true){
                      saveOpts.compatibility = PDFCompatibility.ACROBAT4;
                      saveOpts.pDFPreset = 'Smallest File Size v4';
                    var originalInteractionLevel = userInteractionLevel;        //save the current user interaction level  
                    app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;      //Set user interaction level to suppress alerts  
                    app.activeDocument.saveAs(myFile,saveOpts);        //Save File  
                    userInteractionLevel = originalInteractionLevel;        //Set user interaction level back to original settings