5 Replies Latest reply on Feb 10, 2017 10:49 AM by Kasyan Servetsky

    Batch Automation of label changes in InDesign


      I have need of a way to automate making repetitive labeling changes to labels created in InDesign. Sometimes we have to change out just one symbol on hundreds of labels and change the letter of the revision to the next revision letter. It takes tons of man power to open hundreds of files, swap out the symbol from a library and change the revision letter, and then make PDFs and BMPs of the files. Seems like by now there ought to be a way to do this more efficiently then that. So far I have found no solutions. At one point my company was working on developing their own tool for this, but somehow it fell through the cracks and was never re-visited. In a way that is good job security for me, but ultimately not very efficient for my company.

        • 1. Re: Batch Automation of label changes in InDesign
          Joel Cherney Adobe Community Professional & MVP

          In a way that is good job security for me, but ultimately not very efficient for my company.

          Hoo boy, I know that feeling. Billing myself as a workflow consultant really hasn't been working for me as an income stream; instead, I just get new jobs, and then automate myself out of those jobs.


          Without a much closer look at your project, it's hard to make suggestions. I would look at storing your content outside of InDesign (in a database, or perhaps something as simple as an Excel spreadsheet) and then generating labels on the fly (with a plugin like InData, or perhaps something as simple as InDesign's native Data Merge tool). Then, once you have good InDesign files, automation of export of PDF and BMP would not be hard. Peter Kahrel's excellent batch conversion script would be a place to start - it can export some image formats, but not bitmaps.

          • 2. Re: Batch Automation of label changes in InDesign
            Sandee Cohen Adobe Community Professional

            You need to hire a scripting company to help you automate this. It's not a big project for a scripting company to do.

            • 3. Re: Batch Automation of label changes in InDesign
              rperry22 Level 1

              You may be right. Then we would be able to validate it ourselves. I guess I'll have to ask my manager if there is budget for this type of development. Otherwise they'll just have to keep me copying and pasting over and over until my hand falls off. Guess technology just hasn't evolved far enough in the InDesign world yet for things like this. We've tried data merge for type. But I don't know if it works for graphic elements.

              • 4. Re: Batch Automation of label changes in InDesign
                Kasyan Servetsky Level 5

                Currently I'm working on a new version of the "Batch process scripts" script.

                11-01-2017 17-16-00.png

                It's designed as a sort of analog of Photoshop's Batch and Action features. Of course, we don't have them in InDesign now; and it's hardly we'll see them in any foreseeable future. (Though there was an attempt to create Action Recorder by Rorohiko.) But what we can do now is to write a simple script, or a series of simple scripts and run it/them against, say, all the documents in the selected folder. I guess in most cases you even don't have to write it because it's already written by somebody and can be found, for example, on the Adobe InDesign scripting forum. Or you can post a request there to have it written for you: it won't take long to write a simple script so there's a good chance that someone would make it.

                For instance, it took for me only a couple of minutes to write a script which exports to PDF:

                function main() {
                    // The frontmost document
                    var doc = app.activeDocument;
                    // PDF-preset name
                    var pdfPreset = app.pdfExportPresets.itemByName("[High Quality Print]");
                    // PDF file will be created in the same folder as the indd-file: the file path remains the same -- only extension is changed
                    var pdfFile = new File(doc.fullName.absoluteURI.replace(/indd$/, "pdf"));
                    // Export to PDF in foreground
                    doc.exportFile(ExportFormat.PDF_TYPE, pdfFile, false, pdfPreset);


                It's so simple so (I think) even non-scripter can modify it (e.g. in Notepad or TextEdit) to his needs -- for example, change the preset name.


                You say you need to export to BMP, but you can't do this directly from directly-- only JPEG and PNG are available. But it's possible (and easy) to make a script -- using the BridgeTalk feature (which has nothing to do with the Bridge app) -- that would export the file to JPEG/PNG, open it in Photoshop and save it as BMP. So for the user it would look like Indy exports directly to BMP.


                I don't have idea what you mean by labels -- labels under images, labels on the envelopes, etc. -- and how you make them (I'm not a native English speaker) but I'm quite sure that if you're able to do this manually in InDesign, it's also possible to do this by script.




                1 person found this helpful
                • 5. Re: Batch Automation of label changes in InDesign
                  Kasyan Servetsky Level 5

                  Here I wrote the Batch Find-Change by list script which should be used with the batch processor. It works in the same way as the pre-installed with InDesign FindChangeByList.jsx but you can run it against a number of files in one go.


                  Hope this helps.


                  — Kas