PDF Export

In a production environment, you want to quickly export PDF files of single artboards or entire documents without having your document renamed. This script lets you export to PDF using presets, and intelligently name the exported file using the original linked file name, the document color mode, the artboard name and the PDF preset name used and more.

PDF Options

  • PDF Preset - We recommend creating some custom PDF settings in Illustrator for your workflow, Such as a PDF setting dedicated for printing or proofing, you can set these in Illustrator in the [EDIT > Adobe PDF Presets…] Menu
  • Run spell checking before creating PDF- Better to be safe!
  • Preserve Illustrator Editing Capabilities - If turned off, will reduce the size of the PDF
  • Secure with password - Stops the PDF from being used and uses the password set in the Settings tab. Note that passwords in PDF files are not 100% secure; there are online tools to bypass passwords. This should be considered a deterrent, such as hindering the printing of a low-resolution proof but not protecting the artwork from copying.
  • Open PDF after export - Opening the PDF in the computer's default reader after export
  • Open Folder after export - Opens the destination in Windows Explorer or OSX Finder.
  • Copy filenames to Clipboard after export - Once the files as successfully exported copy the filenames to the clipboard, If you want to copy the full filename including path see the history below

Artboard Range

Select the pages to be exported.

Additional Marks

Add an additional confidence strip to check for consistent printing.

The artwork scale setting only affects the scale of the marks, it does not scale the PDF file.

Save To

Choose a Location where to save your PDF


You can run Extendscript (Illustrator's built-in version of Javascript) to modify the file and path. Your code will be wrapped in a function, so ensure that you include a return statement with the required data structure.

  • Return an array with the find and replace values such as [{ find: “ABC”, replace: “123”},{find: “Cat”, replace: “Dog”}], which will be applied to the filename template
  • Return false to cancel without error
  • Return string to show as an error.

Variables passed your code

  • 'path' is the destination path.
  • 'filename' is the filename template.
  • 'index' is the current artboard index.
  • 'range' is the page range being used. i.e '2-4'


  • Call getData(variable) to get the standard data from the table below, such as getData('doc.filename')
  • Call setPath(path) to change the destination path
  • Call setFilename(filename) to set the filename template (overwriting the existing filename template)


// This example will extract the ID number from a filename and 
// save the  PDF to a master folder based on the ID in the X: drive
// "Example filename "Customer F123246 Test File.pdf"

// Get the current document filename
var docName = getData('doc.filename');

// Use a Regular Expression to get the ID
var matches = docName.match(/F(\d+)/);
if (matches) {
  setPath('X:/' + matches[1] + '/');
  return [];

return 'Can not find a valid ID in the filename';


You can setup the filename template, and the values in the template will be replaced as the PDF file is exported.

  • {doc.filename} - {artboard.name}.pdf
  • {doc.filename} - {artboard.name} - {doc.colorSpace} - [{pdf.preset}] - {artboard.number} of {artboard.count}.pdf
  • {doc.filename} - {artboard.name} - {artboard.number} of {artboard.count}.pdf
  • {doc.filename} - PROOF Ver{?Proof Version}.pdf (This will ask for the version number)
  • {doc.filename} - PAGE {artboard.number} - {artboard.width}x{artboard.height} {doc.rulerunits}.pdf
  • {doc.filename} - {export.number} of {export.count} PROOF.pdf
  • * Archive of {doc.filename} - [{weekday} {day}-{month}-{year}].pdf
{Variable}Description**Example Output*
timestampTimestamp 2024-02-03 14:33:12
timeTime HH:MM:SS14:33:12
shortweekdayShort WeekdayMon
linked.filenameFilename of First Linked File*Empty if none found
pdf.presetPDF Preset Name
artboard.widthArtboard Width in document units
artboard.heightArtboard Height in document units
artboard.numberArtboard Page Number
artboard.nameThe first Artboard Name in the range
artboard.countTotal Artboard Count
export.numberCurrent count of pages being exported
export.countTotal Number of pages being exported
doc.rulerunitsRuler Unitsmm
doc.colorSpaceDocument Color SpaceRGB
doc.filenameDocument filenameexample.ai
?QuestionUses the text to ask a question {?Customer Name} will prompt for “Customer Name”


The script will save the last 100 items exported to a history list, you can view the exported files, copy the filename or full filename with paths, and open the file (double click on the filename) or open the folder

Release Notes


  • Added a Javascript option to allow changing of the path and filename for more automated workflows; for example, use the filename to set the correct path to save to.
  • Allowed Subfolder creation in filename template.
  • Added History to record exported files and reopen them.


  • Added option to check spelling before creating PDF


  • Fixed issue where UI was crashing


  • Requires PowerScripts 3.4.2
  • CC2018 Compatability Fixes


  • Export artboards as separate files (NEW in 2.0.)
  • Secure the PDF with just a click using a common password
  • Add printers confidence strips for large format printers
  • Export just the currently selected artboard, a range of pages or the entire document
  • Automatically name the PDF, including adding: (NEW in 2.0.0)
    • Custom text
    • Timestamp, weekday name, day, month, year
    • The Linked filename of a placed document
    • Artboard size or name
    • Artboard number
    • Total number of Artboards
    • Exported page count
    • Document color mode (Helps to capture export errors downstream)
    • Document filename
    • Add in custom values which will ask for user input, such as a revision number
  • Set a destination to save (NEW in 2.0.0)
    • Last Exported to Folder
    • Documents Folder
    • Fixed Location
    • Current document working folder
    • Sub folder - creating it if it does not exist
  • Prompt for filenames or save each file without asking
  • Open the destination folder after exporting (NEW in 2.0.0)
  • Set different defaults to use for quick reuse