Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将indesign文件批量导出为pdf格式,并为每个客户端提供自定义页脚_Javascript_Pdf Generation_Adobe Indesign - Fatal编程技术网

Javascript 将indesign文件批量导出为pdf格式,并为每个客户端提供自定义页脚

Javascript 将indesign文件批量导出为pdf格式,并为每个客户端提供自定义页脚,javascript,pdf-generation,adobe-indesign,Javascript,Pdf Generation,Adobe Indesign,我有一个相当大的Indesign文件,其中包含一个文本字段,每个客户机都需要一个不同的文本。客户端的名称必须出现在文本字段中。例如,当我有100个客户端时,我想自动导出100个PDF,每个PDF在该字段中都有自己的自定义文本。客户端的名称必须附加到导出PDF的文件名中 例如: 公文包_1_contoso.pdf,文本字段中带有“contoso” Portfolio_2_stackexchange.pdf,文本字段中带有“stackexchange” 我曾考虑在indesign中使用javascr

我有一个相当大的Indesign文件,其中包含一个文本字段,每个客户机都需要一个不同的文本。客户端的名称必须出现在文本字段中。例如,当我有100个客户端时,我想自动导出100个PDF,每个PDF在该字段中都有自己的自定义文本。客户端的名称必须附加到导出PDF的文件名中

例如:

公文包_1_contoso.pdf,文本字段中带有“contoso”

Portfolio_2_stackexchange.pdf,文本字段中带有“stackexchange”


我曾考虑在indesign中使用javascript实现这一点,但我不知道如何实现这一点(以前从未实现过)。是否有人知道如何执行此操作,或者是否有可用的脚本可以执行此操作?

首先,您需要在文本字段上设置一个脚本标签,以便为每个客户端设置不同的脚本标签。假设您应用了标签“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);
}
var doc=app.open(文件(“您的indesign文件的路径”),false);
var textbox=doc.pageItems.item(“ClientName”);
对于(变量i=0;i
第一个问题是唯一文本来自何处?您是将其导入InDesign还是从页面上的现有文本中提取?您是尝试命名文件还是将此文本插入文档中

我不确定我是否理解你写的问题