views:

60

answers:

1

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?

A: 

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);
}
Petter Wigle