Skip to main content
Participant
March 21, 2022
Question

Save Layers as individual PDFs

  • March 21, 2022
  • 1 reply
  • 197 views

Hey guys! 

I'm new in the script-business and I need your help.

 

I need to save business cards with qr-codes. 1000 different qr-codes. 

It's okay to do this in steps. But, not to change 1000 qr-codes and save it with a new name. 

 

I tried this script, but nothing happens (no error or something):

https://community.adobe.com/t5/illustrator-discussions/saving-layers-within-a-folder-to-separate-pdf-s-complete-n00bie-warning/m-p/2702986

 

Maybe it's too old? 

 

And I'm not sure how to do it with the layers. Should be the qr-codes in seperate layers or in one layer?  

 

Thanks for your help!

This topic has been closed for replies.

1 reply

MGärtnerAuthor
Participant
March 21, 2022
#target illustrator 

var docRef = app.activeDocument;

with (docRef) {

    var docName = baseName(name)

    var pdfOptions = new PDFSaveOptions();

    pdfOptions.pDFPreset = '[High Quality Print]';
    
    // Turn all first layers text frames off
    
    for (var i = 0; i < layers[0].textFrames.length; i++) {
    
        layers[0].textFrames.hidden = true;
    
    }
   
    redraw();
    
    // Turn each first layers text frames off
   
    for (var i = 0; i < layers[0].textFrames.length; i++) {
        
        if (i == 0) {
           
            layers[0].textFrames.hidden = false;
           
            redraw();
           
            var guestName = layers[0].textFrames.contents;
           
            var saveAsPath = new File('~/Desktop/' + docName + '_' + guestName + '.pdf')
           
            saveAs(saveAsPath, pdfOptions);
       
        } else {
            
            layers[0].textFrames[i-1].hidden = true;
            
            layers[0].textFrames.hidden = false;
           
            redraw();
           
            var guestName = layers[0].textFrames.contents;
           
            var saveAsPath = new File('~/Desktop/' + docName + '_' + guestName + '.pdf')
           
            saveAs(saveAsPath, pdfOptions);
        
        } 
    
    }
   
    //close(SaveOptions.DONOTSAVECHANGES); 

} function baseName(fileName) {
    
    var nameString = '';
    
    var extOffset = fileName.lastIndexOf('.');
    
    if (extOffset == -1) {
    
        nameString = fileName;
    
    } else {
    
        nameString = fileName.substr(0, extOffset);
    
    } 
    
    return nameString; }