【发布时间】:2015-08-14 00:14:25
【问题描述】:
我需要用给定文件替换 InDesign 文档中的一些图像。使用 InDesign 服务器会发生这种情况,但脚本编写与常规 InDesign 几乎相同,只是无法进行用户交互。
我有一个 InDesign 文档,包含一些图像的 Rectangle 的 ID 和应该替换图像的新图像的路径。
图像应该被替换,但 FitOptions 等设置应该保持不变。此外,新文件应嵌入 InDesign 文档中。已经有一些可以工作的代码:
function changeImages(doc) {
var arrayLength = changeImage.length;
for (var i = 0; i < arrayLength; i++) {
var fr = doc.textFrames.itemByID(1 * changeImage[i].id);
if (!fr)
continue;
var file = File(imagePath + changeImage[i].file);
fr.place(file);
fr.fit (FitOptions.CONTENT_TO_FRAME);
fr.fit (FitOptions.PROPORTIONALLY);
fr.fit (FitOptions.CENTER_CONTENT);
}
}
这似乎不对。为什么当对象是矩形时使用doc.textFrames?我真的很困惑这甚至有效。
它也只是设置了一些 FitOptions,但我想保留现有的。
我对 InDesign 脚本非常陌生,所以我在这里迷路了。我正在阅读docs 和other resources,但我很困惑。例如,为什么有 doc.textFrames.itemByID 而其他框架却没有这样的东西?我是否必须迭代 doc.allPageItems 并比较 id?
【问题讨论】:
标签: javascript adobe-indesign indesign-server