我需要用给定文件替换 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 脚本非常陌生,所以我在这里迷路了。我正在阅读文档和其他资源,但我很困惑。例如,为什么doc.textFrames.itemByID
其他框架没有类似的东西?我是否必须迭代doc.allPageItems
和比较 id?