【问题标题】:Batch export indesign file to pdf with custom footer for each client将 indesign 文件批量导出为 pdf,并为每个客户提供自定义页脚
【发布时间】:2011-04-14 05:38:42
【问题描述】:
我有一个相当大的 Indesign 文件,其中的文本字段需要为每个客户提供不同的文本。客户名称必须出现在文本字段中。例如,当我有 100 个客户时,我想自动导出 100 个 PDF,并且每个 PDF 在该字段中都有自己的自定义文本。客户名称必须附加到导出的 PDF 的文件名中。
例子:
Portfolio_1_contoso.pdf 在文本字段中带有“Contoso”。
Portfolio_2_stackexchange.pdf 在文本字段中带有“Stackexchange”。
我正在考虑在 indesign 中使用 javascript 来执行此操作,但我不知道如何进行此操作(以前从未这样做过)。有谁知道如何做到这一点,或者是否有可用的脚本可以做到这一点?
【问题讨论】:
标签:
javascript
pdf-generation
adobe-indesign
【解决方案1】:
第一个问题是唯一文本来自哪里?您是导入 InDesign 还是从页面上的现有文本中提取它?您是在尝试命名文件还是将此文本插入到文档中。
我不确定我是否从你写的内容中理解了你的问题。
【解决方案2】:
首先,您需要在文本字段上设置一个脚本标签,以便每个客户端都不同。假设您应用标签“ClientName”。然后你可以从 Javascript 中找到文本字段。然后,您可以遍历所有客户端并替换文本框中的文本并导出为 pdf。像这样的东西会起作用:
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);
}