复制图像而不是移动它们 |在设计中 Javascript
Copy Images instead of Moving them | InDesign Javascript
我写了一个 InDesign javascript 脚本,可以将所有图像(分别是图像的帧)移动到脚本创建的新图层“Webbilder”(如果不存在)。
如何自定义才能让图片不移动而是复制?
这是我当前的脚本:
if (app.documents.length == 0) {
alert("Es ist kein Dokument geöffnet, das Skript kann nicht ausgeführt werden.");
console.log("Es ist kein Dokument geöffnet, das Skript kann nicht ausgeführt werden.")
exit;
}
copyImages();
function copyImages() {
var myDoc = app.activeDocument;
var myImageFrameArray = new Array();
var myPageItems = myDoc.allPageItems;
var myNewLayer;
try {
myNewLayer = myDoc.layers.add({name:"Webbilder"})
} catch (e) {
myNewLayer = myDoc.layers.item("Webbilder");
}
for (i = 0; i < myPageItems.length; i++) {
var myFrames = myPageItems[i];
if (myFrames == "[object Group]") {
var myGroupFrames = myFrames.allPageItems;
for (j = 0; j < myGroupFrames.length; j++) {
var myArrayGroupFrames = myGroupFrames[j];
if (myArrayGroupFrames instanceof Rectangle || myArrayGroupFrames instanceof Polygon || myArrayGroupFrames instanceof Oval) {
myImageFrameArray.push(myArrayGroupFrames);
}
}
}
else if (myFrames instanceof Rectangle || myFrames instanceof Polygon || myFrames instanceof Oval) {
myImageFrameArray.push(myFrames);
}
}
for (g = 0; g < myImageFrameArray.length; g++) {
var myArrayImageFrameArray = myImageFrameArray[g];
try {
var myLinkedItem = myArrayImageFrameArray.pageItems[0];
var myLinkName = myLinkedItem.itemLink.name;
myArrayImageFrameArray.itemLayer = "Webbilder";
} catch (e) {}
}
alert("Skript erfolgreich ausgefuehrt.")
}
有没有人有任何想法,或者我是否需要完全改变我的方法?
提前感谢您的反馈。
诺尔
尝试换行:
myArrayImageFrameArray.itemLayer = "Webbilder";
有了这个:
myArrayImageFrameArray.duplicate().itemLayer = "Webbilder";
我写了一个 InDesign javascript 脚本,可以将所有图像(分别是图像的帧)移动到脚本创建的新图层“Webbilder”(如果不存在)。
如何自定义才能让图片不移动而是复制?
这是我当前的脚本:
if (app.documents.length == 0) {
alert("Es ist kein Dokument geöffnet, das Skript kann nicht ausgeführt werden.");
console.log("Es ist kein Dokument geöffnet, das Skript kann nicht ausgeführt werden.")
exit;
}
copyImages();
function copyImages() {
var myDoc = app.activeDocument;
var myImageFrameArray = new Array();
var myPageItems = myDoc.allPageItems;
var myNewLayer;
try {
myNewLayer = myDoc.layers.add({name:"Webbilder"})
} catch (e) {
myNewLayer = myDoc.layers.item("Webbilder");
}
for (i = 0; i < myPageItems.length; i++) {
var myFrames = myPageItems[i];
if (myFrames == "[object Group]") {
var myGroupFrames = myFrames.allPageItems;
for (j = 0; j < myGroupFrames.length; j++) {
var myArrayGroupFrames = myGroupFrames[j];
if (myArrayGroupFrames instanceof Rectangle || myArrayGroupFrames instanceof Polygon || myArrayGroupFrames instanceof Oval) {
myImageFrameArray.push(myArrayGroupFrames);
}
}
}
else if (myFrames instanceof Rectangle || myFrames instanceof Polygon || myFrames instanceof Oval) {
myImageFrameArray.push(myFrames);
}
}
for (g = 0; g < myImageFrameArray.length; g++) {
var myArrayImageFrameArray = myImageFrameArray[g];
try {
var myLinkedItem = myArrayImageFrameArray.pageItems[0];
var myLinkName = myLinkedItem.itemLink.name;
myArrayImageFrameArray.itemLayer = "Webbilder";
} catch (e) {}
}
alert("Skript erfolgreich ausgefuehrt.")
}
有没有人有任何想法,或者我是否需要完全改变我的方法?
提前感谢您的反馈。
诺尔
尝试换行:
myArrayImageFrameArray.itemLayer = "Webbilder";
有了这个:
myArrayImageFrameArray.duplicate().itemLayer = "Webbilder";