Question

I have a fairly large Indesign file with a text field that needs to have a different text for each client. The name of the client must come in the text field. When I have for example 100 clients, I want to automaticly export 100 PDF's and each PDF has its own custom text in that field. The name of the client must be appended to the filename of the exported PDF.

Example:

Portfolio_1_contoso.pdf with "Contoso" in the text field.

Portfolio_2_stackexchange.pdf with "Stackexchange" in the text field.

I was thinking about doing this with javascript in indesign, but I have no clue how to make this (never done this before). Does anyone know how to this or if there is a script available that can do this?

Was it helpful?

Solution

First of all you need to set a script label on the text field that you want to be different for each client. Let's say you apply the label "ClientName". Then you can find the text field from Javascript. You can then loop through all your clients and replace the text in the textbox and export as a pdf. Something like this would work:

var doc= app.open(File("path to your indesign file"), false);
var textbox = doc.pageItems.item("ClientName);
for (var i = 0; i < clients.length; i++) {
   textbox.ParentStory.contents = clients[i];
   var pdfFile = new File("your base file name" + clients[i] + ".pdf");
   doc.exportFile(ExportFormat.PDF_TYPE, pdfFile);
}

OTHER TIPS

The first question is where does the unique text coming from? Are you importing into InDesign or picking it up from existing text on the page? Are you trying to name the file or insert this text into the document.

I'm not sure I understand your question from what you wrote.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top