私は名刺のデザインを取り、それを使用して、一時的なカードを印刷するためのテンプレートと一致する10枚のカードを含む1枚の紙を生成するスクリプトに取り組んでいます。ここで注意が必要なのはブリードです。それらは真ん中で重なるので、それぞれにクリッピングマスクを作成する必要があります。
クリッピングマスクとなるフレームを作成し、カードを複製して必要な場所に移動し、多かれ少なかれ次のことを行うシステムを思いつきました。
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)を実行すると、開いているドキュメントウィンドウがないため、機能しません。この例では、ウィンドウが表示されていない状態で、一方の長方形をもう一方の長方形の内側に配置できるようにしたいと思います。