0

对于一个项目,我需要自动创建名片。现在,他们为每个名片模板提供了一个 InDesign 文件。他们将所有人的信息插入到 indesign 文件中,然后生成它的 pdf。

现在,在 Web 应用程序中输入客户信息是没有问题的,但是我将如何生成 pdf 以及如何在运行时更改 indesign 文件?

我认为以编程方式更改 indesign 文件是不可能的?

我可以从 indesign 中生成一个包含一个卡片模板的 pdf 文件吗?在运行时,我会将卡片复制到 pdf x 次。然后我需要注入人们的信息(姓名,地址,......)?

这里有什么可能?

最终的 pdf 由一台机器使用,该机器自动创建名片,剪切它们,......

4

1 回答 1

4

使用 InDesign 中的内置脚本支持,您几乎可以自动化任何事情。在 InDesign GUI 中,您可以将脚本标签分配给 InDesign 文档中的各种元素,例如文本框架。例如,如果您想替换文本框架中的某些文本,您可以在 Javascript 中应用类似这样的内容(CS4 及以下,请参见下面的注释):

var document = app.open(File("path to your InDesign file"), false);
var textFrame = document.pageItems.item("your script label");
var story = textFrame.parentStory;
story.contents = "your new content"

要创建 PDF,您可以执行以下操作:

var pdfFile = new File("path to your pdf");
document.exportFile(ExportFormat.PDF_TYPE, pdfFile);

这只是您可以做的一些示例,希望对您有所帮助。如果您不知道如何在 InDesign 中安装和运行脚本,这篇博文将解释该过程。您可以在此处找到很好的在线脚本参考。据我了解,您希望将脚本作为批处理运行。如果是这种情况,我建议您查看 InDesign Server。它基本上是 InDesign 的桌面版本,但没有 GUI 和简单的 Web 服务界面。它还作为 Windows 服务(或其他平台上的等效服务)运行。

注意:从 CS5 开始,您不能再通过其脚本标签来识别文本框架,如上所示。这里有一些关于它的讨论。最好的替代方法是使用 itemByName(name) 代替 item,name 是图层面板上的名称。这可以通过在图层面板中缓慢双击项目在GUI 中进行更改。或者,此解决方法将每个文本框架的名称设置为与其脚本标签相同。然后,您所要做的就是更改文本框架的内容:

document.textFrames.itemByName("shmullus").contents = "The Doctor";
于 2010-05-28T06:05:01.447 回答