If you need to save an InDesign document as separate pages or separate spreads, Extract Pages is for you.
Tested on Windows and Mac, works on CS6 upwards.
(The main product page for this script is here.)
- Specify multiple ranges, and save as separate pages, spreads, or sections
- Retain the original page numbers
- Save as individual, separate pages, even when the original document is set up as facing pages.
- Automatically create an InDesign book (.indb) from all the separate files.
- Split entire document according to paragraph style! Separate a long file into separate files, one per chapter, and combine them into an InDesign book in a few clicks!
- Split entire document according to the predefined document sections!
- Save each alternate layout in your document as a separate file!
This robust script is now available for only $49. Click on the Buy Now button to add it to the Cart.
As with all our scripts, Extract Pages comes with a 30-day money-back guarantee. If it fails to work as advertised, just get in touch for a full refund.
Note: Extract Pages is based on the script which I published below many months ago, and which is still available for free. However, there are issues with that script, some of which are described below. Extract Pages is the pro, fully-tested, robust implementation of the free script. It also works with spreads. It is now recommended for most purposes.
Over on the Adobe forums, someone asked if there was a way to save an InDesign file as a series of separate pages, each page being a standalone InDesign file. This is somewhat similar to Acrobat Pro’s “Extract Pages” feature, whereby you can save a PDF as a series of separate 1-page PDF files. But here, the poster was asking to save an InDesign file itself as a series of separate 1-page InDesign files.
The script below is what I came up with. The way it works is to save a copy of the current active InDesign file. Then, it copies a single page from the old file, and tags it on to the end of the new file. It then deletes all the other pages from the second file, leaving only the copied page at the end. It then saves that 1-page ID file into a user-selected folder. The script loops through all pages in the active InDesign file, and so the end result is a folder full of 1-page InDesign files that together make up the entire active InDesign file. Q.E.D!
Is this the most efficient way of doing things? Probably not. It seems unnecessary to have to save a copy of the entire active ID file just for the sake of copying a single page. But consider this: an InDesign file consists of many document-wide preferences. Simply creating a new file and copying the page over will mean that all these preferences are reset, including things like bleed and slug settings, and so on. Of course, all these properties could be copied over one by one, along with the page dimensions and anything else, but this would make the script much longer, if more efficient.
There is also the question of what to do with unused paragraph styles, character styles, swatches, and layers, etc. If we only copy over a single page, only those properties (styles, layers, swatches, etc.) that are used on that particular page are going to be copied over. This may or may not be desirable.
Hence the simplest solution: Simply make a complete copy of the entire document, and then delete all unnecessary pages. As this does the trick, that is how the script below works. Perhaps I’ll come back to it at some future point to refine it.
If you have any suggestions on how better to do this, I’d be interested to read your comments.
// BS"D // Extract Pages // An InDesign script by TAW (c) 2016 Id-Extras.com. All rights reserved. // Free to use, but may not be commercially distributed // Please do not delete this copyright notice // This script will save each page of the current InDesign file as a separate InDesign file // To use: Open a document, run the script, select your target folder in which to save the files, and click OK. // Note: Works best on a document that is not set up as facing pages. myDoc = app.activeDocument; myPages = app.activeDocument.pages; myFolder = Folder.selectDialog('Choose the folder in which to save the pages...'); if (myFolder == null) exit(); for (i = 0; i < myPages.length; i++){ myDoc.saveACopy(File(myFolder+"/Page_"+myPages[i].name+".indd")); newDoc = app.open(File(myFolder+"/Page_"+myPages[i].name+".indd"), false); myDoc.pages[i].duplicate(LocationOptions.AT_END, newDoc.pages[-1]); newDoc.pages.itemByRange(newDoc.pages[0], newDoc.pages[-2]).remove(); newDoc.close(SaveOptions.YES); } alert("Done!"); myFolder.execute();
Mana
August 11, 2020 10:11 pmHi Ariel,
Is there any way to be able to replace older versions with the new extracted materials within the destination folder?
Ariel
August 12, 2020 4:17 pmHi Mana,
Currently not. To avoid losing precious files, Extract Pages currently will not overwrite existing files with the same name, but will save the new file with a unique suffix.
So you would need to delete the files that need to be replaced first, or select a new directory to save to.
Ariel
Michael
February 21, 2019 11:48 amHi, is your script “Save InDesign Document as Separate Pages” still being updated? It looks like the solution for our current project, where we want to save different page ranges of a big master folder into specific country versions with less pages. Does your script only generate single pages documents or is it able to save a complete new file of my range while retaining the page numbers?
Thanks for help!
Ariel
February 21, 2019 12:31 pmHi Michael,
Absolutely, it’s being updated and sounds like it should do what you want (presuming that the word “folder” in your question is a typo for “file” – otherwise I haven’t quite understood the question).
The main product page is here: http://www.id-extras.com/products/extract-pages/
KD
September 14, 2018 9:19 pmI need a script that will save every 2 pages as its own separate indd file. This script looks like it might be what I need. What would be the most efficient route to do that using this script? Also, how does file naming work with this script? Thanks!
Ariel
September 15, 2018 11:10 pmHi KD: This script will do that. Best way is to create a list of the pages (e.g. 1-2, 3-4, 5-6, 7-8, etc.) and paste that into the “Range” field.
The naming options are very flexible, depending on what you need (including by paragraph style, GREP search, and more). Please note that the main product page is here: http://www.id-extras.com/products/extract-pages, and all the information about the naming options are here: http://www.id-extras.com/extract-pages-file-naming-help
Jeff Wilson
February 8, 2018 12:51 amWorks well with CC2018 though I think the full license would work better for us.
I have been trying to make contact to purchase Extract Pages (need 15 copies) but no one will get back with me.
Any help you can lend would e appreciated.
Thx.