Indesign脚本:如何粘贴物品

时间:2015-09-22 07:44:45

标签: scripting adobe-indesign

我有这个脚本找到一个段落样式,在最后放置一个库中的项目并应用对象样式:

myDoc = app.documents[0];

myLib = app.libraries[0];

myObjectStyle = myDoc.objectStyles.item ("marker");



app.findTextPreferences = app.changeTextPreferences = null; 

          app.findTextPreferences.appliedParagraphStyle = "Custom"

        var myFound = app.activeDocument.findText(true);

        alert (myFound.length);

try {

   for (i = 0; i < myFound.length; i++) {

      myIcon = myLib.assets.itemByName("winieta_tr").placeAsset (myFound[i].insertionPoints[-2])[0];

      myIcon.appliedObjectStyle = myObjectStyle;

     // myFound[i].remove ();

      }

   }

catch (e) {alert (e.message)}

我不知道如何更改它,所以这些项目不是从图书馆获得的,而是形成粘贴板 - 任何帮助都将不胜感激。

是否可以按名称查找文档中的元素,就像库元素一样?

2 个答案:

答案 0 :(得分:0)

  

是否可以按名称查找文档中的元素,就像库元素一样?

您可以将脚本标签应用于粘贴板上的框架,为其命名。

答案 1 :(得分:0)

是的,您可以通过名称找到一个对象(您可以在图层面板中指定该名称),只需使用

myDoc.pageItems.itemByName("myItemName");

如果您在特定点差上寻找相同的内容(例如,如果多个点差上的多个项目具有相同的名称),您可以使用

myDoc.spreads[0].pageItems.itemByName("myItemName");

或者,如果您只想使用当前有效的点差

app.activeWindow.activeSpread.pageItems.itemByName("myItemName");

请确保不要使用该页面来处理粘贴板上的页面项,因为粘贴板不属于任何页面。