gpt4 book ai didi

javascript - 当窗口不可见时选择/剪切/粘贴

转载 作者:行者123 更新时间:2023-11-28 02:46:03 26 4
gpt4 key购买 nike

我正在编写一个脚本,在该脚本中,我采用名片设计并使用它生成一张纸,上面有十张卡片,以匹配打印临时卡片的模板。这里最棘手的部分是出血;它们会在中间重叠,所以我需要为每个都制作剪贴蒙版。

我想出了一个系统,我制作了将成为剪贴蒙版的框架,复制卡片并将其移动到它们需要去的地方,然后或多或少做了以下操作:

dupCard[i].select();
app.cut();

frameGroupFront[i].select();
app.pasteInto();

这很好用。但因为它有点占用资源,所以我尝试在创建时隐藏工作文件并使用workingFile.windows.add();最后就像我过去所做的那样。但是当没有窗口时, select() 不起作用!我收到错误 90886,指出“没有打开文档窗口。”

如何选择我想要的项目,以便在没有可见窗口的情况下剪切和粘贴它?如果不可能,是否有替代解决方案?

编辑:

我被要求提供脚本示例,因此这是我可以提供的最基本的示例:

var newPage = app.documents.add();

var myRectangle = newPage.rectangles.add({geometricBounds:[1, 1, 5, 5]});
var myRectangle2 = newPage.rectangles.add({geometricBounds:[1, 1, 3, 3]});

myRectangle.select();
app.cut();

myRectangle2.select();
app.pasteInto();

这个脚本有效。但是,取第一行并执行 app.documents.add(false) ,但它不起作用,因为没有打开文档窗口。在此示例中,我希望能够将一个矩形放在另一个矩形内,并且没有可见的窗口。

最佳答案

您可以像这样操作矩形对象本身,而不是使用复制和粘贴:

var doc = app.documents.add(); // Add a new doc

var page = doc.pages[0]; // Get the first page

var rect = page.rectangles.add({geometricBounds:[30,30,6,6]}) // Make a new rect

var rect2 = rect.rectangles.add({geometricBounds:[20,20,6,6]}); // Add a new rect inside

这一切都可以在不打开窗口的情况下完成,因为您直接操作对象。希望这有帮助!

关于javascript - 当窗口不可见时选择/剪切/粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11851903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com