gpt4 book ai didi

javascript - Adobe Illustrator JavaScript - 循环将数据集应用于每个打开的文档

转载 作者:行者123 更新时间:2023-11-30 20:28:04 28 4
gpt4 key购买 nike

我编写了一个简单的脚本来在 Adob​​e Illustrator 中打开两个文档(文件 -> 脚本)并对这些文档应用一些命令。

脚本的目的;如果没有在 Illustrator 中打开文档,脚本将:

  1. 打开所需文件。
  2. 将 XML 变量库加载到这些文档中。
  3. 显示该库中的数据集(只有一个数据集)。
  4. 将文件保存在给定位置。
  5. 关闭文件。

脚本:

try
{
var doc_1 = open(File("C:/file1.ai"));
var doc_2 = open(File("C:/file2.ai"));

var sourceDoc;
var targetFile;

var options = new IllustratorSaveOptions();

for (var i = 0; i < app.documents.length; i++ )
{
sourceDoc = app.documents[i];

sourceDoc.importVariables(new File("C:/variables.xml"));

sourceDoc.dataSets[0].display();

targetFile = new File("C:/output" + sourceDoc.name + '.ai');

sourceDoc.saveAs( targetFile, options );

sourceDoc.close();
}
}
catch(err)
{
alert(err);
}

此代码仅适用于最后打开的文件 (file2.ai)。 file1.ai 从未被触及,几乎就像没有循环一样。

这可能是什么原因造成的?

最佳答案

当关闭循环中的第一个文件时,您只是将 app.documents[1] 移动到 app.documents[0]

你想要 top 向后循环

尝试你的循环

for (var i = app.documents.length; i >0 ; i-- ) 

关于javascript - Adobe Illustrator JavaScript - 循环将数据集应用于每个打开的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50665541/

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