Hi Everyone,
I am looking to improve a save as pdf workflow and was hoping to get some direction. Here is the background...
I routinely have to save numerous files as 2 separate PDFs with different settings (a high res printable version and a low res email version). Each file has to be renamed as follows...
Original filename = MikesPDF.ai
High Res PDF Filename = MikesPDF_HR.pdf
Low Res PDF Filename = MikesPDF_LR.pdf
I was able to alter the default "SaveAsPDF" script to save the files to my desired settings and to add the suffix to the name. So with these scripts here is how the workflow operates...
1. Open all files I wish to save as pdfs
2. Select script to save files as high res pdfs
3. Illustrator asks me to choose a destination.
4. Illustrator adds the appropriate suffix and saves each file as a pdf to my desired setting. ("Save As" not "Save a Copy").
5. Now all of the open windows are the new pdfs, not the original ai files.
6. Now I have to close each window. For some reason Illustrator asks me if I want to save each document when I tell it to close window, even though the file was just saved. I tell it to not save and everything seems to be fine.
7. Reopen all the files I just saved as high res pdfs.
8. Repeat the entire process except I run the script specifically designed for the low res pdfs.
What I would like to do is to combine these two processes so that there will be one script that saves both pdfs. From what I understand, the script can't support "Save A Copy" so the workflow would go as follows...
1. Open all files I wish to save as pdfs
2. Select single script to save files as both high res and low res pdfs
3. Illustrator asks me to choose a destination.
4. Illustrator saves each file as a High Res PDF and adds the the "_HR" suffix.
5. Illustrator then re-saves the open windows as a Low Res PDF and replaces the "_HR" suffix with "_LR".
Here is the code for the High Res script, The Low Res script is pretty much the same except for a different preset name and different suffix. Any pointer that anyone could give me would be most appreciated. I am pretty much a noob to this stuff so please keep that in mind.
Thanks!
Mike
---------------------------CODE----------------------------
/** Saves every document open in Illustrator
as a PDF file in a user specified folder.
*/
// Main Code [Execution of script begins here]
try {
// uncomment to suppress Illustrator warning dialogs
// app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS;
if (app.documents.length > 0 ) {
// Get the folder to save the files into
var destFolder = null;
destFolder = Folder.selectDialog( 'Select folder for PDF files.', '~' );
if (destFolder != null) {
var options, i, sourceDoc, targetFile;
// Get the PDF options to be used
options = this.getOptions();
// You can tune these by changing the code in the getOptions() function.
for ( i = 0; i < app.documents.length; i++ ) {
sourceDoc = app.documents[i]; // returns the document object
// Get the file to save the document as pdf into
targetFile = this.getTargetFile(sourceDoc.name, '.pdf', destFolder);
// Save as pdf
sourceDoc.saveAs( targetFile, options );
}
alert( 'Documents saved as PDF' );
}
}
else{
throw new Error('There are no document open!');
}
}
catch(e) {
alert( e.message, "Script Alert", true);
}
/** Returns the options to be used for the generated files. --------------------CHANGE PDF PRESET BELOW, var NamePreset = ----------------
@return PDFSaveOptions object
*/
function getOptions()
{var NamePreset = 'Proof High Res PDF';
// Create the required options object
var options = new PDFSaveOptions();
options.pDFPreset="High Res PDF";
// See PDFSaveOptions in the JavaScript Reference for available options
// Set the options you want below:
// For example, uncomment to set the compatibility of the generated pdf to Acrobat 7 (PDF 1.6)
// options.compatibility = PDFCompatibility.ACROBAT7;
// For example, uncomment to view the pdfs in Acrobat after conversion
// options.viewAfterSaving = true;
return options;
}
/** Returns the file to save or export the document into.----------------CHANGE FILE SUFFIX ON LINE BELOW, var newName = ------------------
@param docName the name of the document
@param ext the extension the file extension to be applied
@param destFolder the output folder
@return File object
*/
function getTargetFile(docName, ext, destFolder) {
var newName = "_HR";
// if name has no dot (and hence no extension),
// just append the extension
if (docName.indexOf('.') < 0) {
newName = docName + ext;
} else {
var dot = docName.lastIndexOf('.');
newName = docName.substring(0, dot)+newName;
newName += ext;
}
// Create the file object to save to
var myFile = new File( destFolder + '/' + newName );
// Preflight access rights
if (myFile.open("w")) {
myFile.close();
}
else {
throw new Error('Access is denied');
}
return myFile;
}