This AppleScript exports Indesign documents to PDFs and/or Images (JPEGs and/or PNGs) with the following features!
- Export individual pages
Each page of the Indesign document can be exported to it’s own specially named PDF, JPEG or PNG.
- Custom file naming
The individual PDFs and image files can have custom names sourced from one of the following options:
- Indesign filename & suffix-of-your-choice & page number.
- CSV or text file (names separated by returns).
- The content of a character style from each page.
- The content of a paragraph style from each page.
- Combine images into a single PDF
You can export images and have them combined into a single PDF meaning that every page of the PDF is a rasterised image.
- It exports files straight to the Indesign file folder
The script knows the file path of your Indesign file and can export the files directly to it. Otherwise the script can automatically file it into a sub folder of your choice.
- Export all documents
You have the option to export all the Indesign documents that are currently open.
- Remembers the settings
Choosing the same settings as last time? Just hit return.
For example, set up your favourite PDF export to quickly export low resolution PDFs to the Indesign document folder.
Click on the image below to see a bigger version in a new tab.
- The script needs the Yosemite operating system or later.
- If you choose a CSV for the naming of the images or individual PDFs, it should only have just one column, that being the list of names and no column heading. There should be at least as many names as there are pages in the Indesign document. If you choose a text file, the list of filenames should each be on their own line.
- Alternatively, choosing a character style or paragraph style for the naming of the exported images or individual PDFs can be useful if you have a title on each page. For example business cards or invitations may have include person’s name. Format the text in your chosen style and the script will use that text for the name of the file for that page.
Download the free trial version
The trial version has full functionality but with a limitation of 10 pages at a time on the separate pages option.
Download the full version for $14.99
The paid version has no limitations and comes with free updates as new versions are developed.
- 6 July 2017. Version R8. Fixed an error with the page range option.
- 12 July 2017. Version R10. Added the option to export PNGs.
- 3 November 2017. Version R12. Added the option of leading zeros for numbered pages choice.
- 17 July 2018. Version R13. Custom page names (section prefixes) are now supported. The leading zeros feature has been removed since page numbering styles (e.g. “0001,0002…”) can be applied in the document’s Numbering and Section options.
- 22 July 2018. Version R14. Improved support for character styles and paragraph styles.
- 8 February 2020. Version R21. New page range field. Paragraph styles now include the whole paragraph, not just the first line. No more pesky dialog box at the end. Script now checks for missing fonts and images before proceeding.
Hello. You have written a great script. Congratulations!
But I am trying to export each page individually and it always exports all the pages in the same pdf document. It does not create individual and separated pdf files for each page of the indesign document.
I am working with inDesign CC 2017.
Could you tell me how to solve this, please? Thanks a lot!
Hi Luis, thanks for reporting that error. I’ve fixed the page range option in the latest version so it exports multiple single page PDFs and also the correct page range for PDFs and JPEGs if you choose that option.
How do I install? Am I overlooking instructions?
Hi Brian, to install just move the script into the Indesign scripts folder and activate it by double clicking its name in the Indesign scripts panel. See further details on the home page http://www.drscripto.com
Is it possible to export interactive PDFs with this script? I’m trying to export PDFs with clickable links.
Hi Kelly, if you only need hyperlinks and bookmarks you can set up a PDF preset in the Adobe PDF for print section that includes those features. That can then be used with this script. For all the other interactive features like page transitions and media, you will have to export the document manually because Indesign does not allow saved presets for interactive PDFs.
Would it be possible to have a “Check Document Links” feature added? This would make an already great script even greater!
Thanks for the feedback Mike, that’s a good suggestion!
Hi, is there a way to add single jpgs instead of single pdfs outputs as an option??
Yes the script already does this. Just click the checkbox in the top right hand side of the dialog box. You can save the pages as JPEGs and/or PNGs.
Doctor, so much of my life has been wasted… and then I met your scripts. Keep them coming!
I have one question on this very useful script — is it possible for the page numbering to appear as the prefix in the file name instead of suffix? This capability would be the cherry on top of a very large hot fudge sundae for me.
thanks for the feedback. It’s always great to hear these scripts are saving people time.
In regards to changing the position of the page number, there could be many options for example, each filename could start with the page number or have some static text before the page number, and there could be the option of having static text after the page number but before the filename. The same could apply if the page number was put after the filename. In other words, too many options to fit in the dialog box!
The best method for custom page naming is to prepare a CSV or plain text file with the list of your page names. Then use this under the CSV option of the script.
Hello Can i add the Beeed by export as PDF?
Yes, just create a PDF export preset that includes bleed, then choose this preset when you output using this script.
Hi drscripto! Great script, thanks a lot! It satisfies my need to export pdf and jpgs in one go. One question: is it possible to fiddle with options to export as jpgs spreads not pages and put in jpg name sequential numbers no page numbers?
Hi Andris, I’ve put the option to export spreads onto my to-do list. Also adding numbers to the filename independently of the page numbers is an interesting idea too. Thanks for the feedback!
I’m really trying to get this to work for us! Great script, thank you. I feel like I’m close. But I don’t know what to do.
Here’s my situation. Weekly 20-page print ad. Each InDesign document is made up of a 2 page spread. Our printer requires single page PDFs in a naming convention of: DDYY_PP.pdf
I don’t want to use the filename of the document, because we have the spread numbers in the name with the date. Example “0128_04-05.indd” The PDFs are getting named 0128_04-05_01.pdf and 0128_04-05_02.pdf We need them named 0128_04.pdf and 0128_05.pdf Should I be making a CSV file for each InDesign document? I don’t know how to make a CSV file though.
Oh, guess what?… I made a CSV file and it works great! I was over-complicating things because it was SO easy. Thank you.
Hi Ann, glad to know it worked for you. The CSV is probably the best solution for custom naming conventions. Apart from a CSV it also works with a plain text file, it just has to be a list of names each one on its own line.
Once again a GREAT SCRIPT!
It would help me a lot if there was an option to create a PDF every n pages. (So the first PDF containing page 1-3 the second PDF 4-6 the third PDF 7-9.)
Then I could create 3 master pages with merged data from an Excel file to endup with 90 pages. Then save a PDF every 3 pages. I would then have 30 PDF files each containing 3 pages. (for creating personalized contracts for example)
Keep up the good work !!
Thanks for the feedback Ekim. This is a good idea to have the option of a different number of pages in each PDF (not just single pages). But what should the script use to name each 3 page PDF?
A default name with a sequence number + Plus the super extra CSV technique 😉
P.s. great site! I’m gonna share this URL a lot. Grz
Hi John, I haven’t given the script the option of outputting spreads yet. Will let you know when it’s done.
This script is brilliant – saves me hours and hours of manual renaming.
I’m using filenames sourced from csv/text. One improvement for my specific use case – and possibly others – would be to have a prefix (or suffix) as a constant in addition to the variable names I have in my txt file. I create 8 different sized jpegs for use with Google Retargeting and the sizes of each jpeg need to be in the file name. If I could nominate ‘product name’ as a constant prefix (in the script dialogue box) and then append the 8 sizes I have saved in .txt, that woudl be perfect. At the moment, I’m using Find/Replace in the .txt, but if I could leave this file untouched to avoid inadvertent changes, that would be perfect.
I used csv initially, but the first file name had 3 random characters at the beginning. I tried a couple of things to fix, but couldn’t. No problem for me to use .txt., but just flagging this may be a bug??
This script has helped expedite my final export process exponentially. I was wondering if there are plans to further enrich the selection of pages for export; for example, being able to select page 1,5,8-10 opposed to just a solid range?
Hi Brittany, I’ve just added this into the latest version. Thanks for the good suggestion!
This is my most favorite, most used script! I’ve thanked you before, but let me repeat it now, before I post my (very minor) gripes! Thank you!
I’ve gotten into the habit of creating all my new multi page documents with a non printing layer called “page name”, a text frame on that layer on the master, and a paragraph style sheet called the same. This way, I can name my pages ONCE and forever more export them correctly named! Of course, if there’s a paragraph style in use on every page, that would work, but if even one page doesn’t have that paragraph style (even if you’re not exporting that page) you’ll get an error message.
I recently had to resize a large batch of pdf files, so I made a picture frame in the master with a live caption (invisible type) and each page had the name of the pdf on it, ready to export.
Now for the gripes:
1. Can you get rid of that “document has been exported” button? Or at least don’t insist I click “OK”. If I navigate away from the page while it’s exporting, I need to go back to Indesign, click back in the finder to find the message, and click back in Indesign to click ok!
2. Any way to check for missing links or fonts?
3. When exporting individual pages, I can tab through everthing, but then I need to actually click on the page range button. Otherwise it exports all. When I needed just a few pages in a 500 page document, that hurts!
Thanks for the feedback Mrs Civi. I’ve emailed you a new copy of the script that will overcome the problem of pages with missing character styles or paragraph styles. Let me know if it works for you and I’ll update the one on drscripto.
In relation to the “OK” dialog box, I can take that away since the regular export or print function within Indesign does not do this. A check for missing fonts and images can be achieved and a warning message can be displayed. With the tabbing to the page range button, I think this is a limitation to AppleScript dialog box so you will need to continue to click on the page range button. Good suggestions for the next version, thanks!
I bought the script this week – it’s super helpful, though I’m having one problem. When I export with the naming method of Paragraph style, and there is a line break within the referenced paragraph, the name is only taken from the portion before the break, (for clarity it is definitely a single paragraph)
Please can you advise on a way around this?
Hi Jon, I did make the decision to use only the first line since the line breaks will play havoc with the filenames. I could instead get the script to simply remove line breaks in the filename. Would that suit you better?
I’ve updated the script that should fix the problem. If it finds any returns within the paragraph, it will change them to a space, then it removes any double spaces, leading and trailing spaces. It will choose the first paragraph on each page with the target paragraph style. Note that the first paragraph is the one that was created first on that page and has nothing to do with its position on the page (just in case there is more than one instance). Also something to remember is that filenames on the Mac are limited to 255 characters so make sure your paragraphs aren’t too long.
Other changes include checking for missing fonts and images before proceeding; I’ve eliminated the message at the end that tells you the script has finished; and there is a new page range field e.g. (1,2, 7-10).
Thanks so much David, I just tested the updated script and it worked perfectly as desired! Brilliant update and excellent customer service 🙂
Great script:) I guess it dont work at pc?
Thanks Mlkael and Roberto, there is no Windows version. Maybe one day…
Wow! This is the script I´ve been looking for! Almost perfect 😛 It would be awesome if it could just add the text set with a specific paragraph style. Instead of completely change the exported name. Like this: MyFileName_AddParagraphTextHere.pdf
Or even better – also being able to add a suffix manually after the added paragraph text when doing the export. When exporting a print pdf I want to add “HighRes” at the end of the file name.
Hi Rikard, thanks for your thoughtful comments. I’ve been thinking of making the renaming section more versatile with a single text area for the user to enter a string. The string could accept codes like ~f~ for filename, ~p~ for paragraph style text, ~#~ for page number etc and everything else in the string could be your own text. To follow your example, this would be “~f~_~p~_MyManuallyAddedSuffix”
Thank you for answering so fast. That sounds fantastic! Would be awesome to be able to do like:
Maybe also a option to use Script Label instead of character/paragraph style. Don´t get me wrong, I love the script already, as it is 🙂
Great script it’s saved me so much time !!
I was wondering if there was a way of exporting the individual PDF’s from a document with the filename + the Character style/Paragraph style e.g
There is an option to do with with the page number already ?
Hi Matthew, currently there is no way to combine these two naming conventions but I think it will be solved with the next update. See my response above to Rikard.
Hi there! I keep getting error message “Failed to find character style on at least one page. Please check. Can’t get last character of “”.
Can you help?
Hi Carla, for the character style or paragraph style option to work, there must be an instance of text styled with that character or paragraph style on every page. If it’s on a master page, that doesn’t count – it has to literally be on each page. So if you have a character style only on the master page, you’ll need to either override all master page options for selected pages or (shift) + (command) + (click) on the master page item on each page that you want to make it exist on.
Thank you Dr Scripto, I love this script so much!
Do you have a version for PC or know where I could find one that is similar? I have some PC user friends that would really appreciate the help. Thanks
Hello, can i export single page pdf with crop marks and bleeds? Thanks a lot
Sure, you just have to save a PDF export setting first and then select that one in the script’s dialog box.
Hi Dr. Scripto!
Thanks for this awesome script. But is it possible to add a functionality?
It would be great if the filename can be combined with a paragraph (or character) style? (Tried it by adding a filename variable, but it doesn’t add that to the filename of the exported documents)
Would be a nice add-on if this can be added?
Thanks in advance.
Hi Patrick, this reminds me to update the naming section. As mentioned in a previous comment I’ve been thinking of making the renaming section more versatile with a single text area for the user to enter a string. The string could accept codes like ~f~ for filename, ~p~ for paragraph style text, ~#~ for page number etc and everything else in the string could be your own text.
Oh yes, I see you already mentioned this before. That sounds like a good solution. How can you specify a specific paragraph style?
Like so ~specific style~ ?!
Looking forward to see this update!