创建一个illustrator脚本来输出色板并列出它们
问题描述:
你不得不原谅我,说到JavaScript我很糟糕。创建一个illustrator脚本来输出色板并列出它们
我正在使用Illustrator脚本创建一个充满颜色的小册子,我有这个工作好,现在有点乱,但它的工作原理。
我现在需要创建额外的页面,列出那些Pantone颜色和他们在哪些页面上。
例如,本书从第2页开始,将有7种颜色,然后再转到第3页,再加上7种颜色,直到没有剩下颜色为止。
所以我需要做的是编辑下面的脚本说,经过7个项目由1
增加页码下面是脚本的一部分:
main();
function main()
{
var doc = app.activeDocument;
var selectedSwatches = doc.swatches.getSelected();
if (selectedSwatches.length > 0)
{
var text = 'var spots = new Array(\n';
for (var i = 0; i < selectedSwatches.length; i++)
{
var swatch = selectedSwatches[i]
var color = swatch.color;
// Spot
if (color.typename == "SpotColor") {
for(var j = 1; j < 8; j++){
text += '"' + color.spot.name + "page" + i+ '", ' + "\n";
}
color = color.spot.color;
}
}
var textend = ');';
saveTxt(text + textend);
}
else {
alert("No Swatches Selected.");
}
}
function saveTxt(txt)
{
var name = app.activeDocument.name.replace(/\.[^\.]+$/, '');
var path = (app.activeDocument.path != "") ? app.activeDocument.path : "~";
var saveFile = new File(path + "/" + name + "-SPOT.txt");
if(saveFile.exists)
saveFile.remove();
saveFile.encoding = "UTF8";
saveFile.open("e", "TEXT");
saveFile.writeln(txt);
saveFile.close();
alert("Saved to File:\n" + saveFile.fullName)
}
这是一部分害我的问题,我认为:
// Spot
if (color.typename == "SpotColor") {
for(var j = 1; j < 8; j++){
text += '"' + color.spot.name + "page" + i+ '", ' + "\n";
}
color = color.spot.color;
}
既然这样,第一O f所有它从第0页开始,它应该从第2页开始。
它也为每种颜色输出7行,每7行应输出1种颜色。
答
这里是你的问题的代码
main();
function main() {
var doc = app.activeDocument;
var selectedSwatches = doc.swatches.getSelected();
var pageNumber = 2;
var count = 0;
if (selectedSwatches.length > 0) {
var text = 'var spots = new Array(\n';
for (var i = 0; i < selectedSwatches.length; i++) {
var swatch = selectedSwatches[i]
var color = swatch.color;
// Spot
if (color.typename == "SpotColor") {
count++;
text += '"' + color.spot.name + " page" + pageNumber + '", ' + "\n";
color = color.spot.color;
if (count % 7 == 0)
pageNumber++;
}
}
var textend = ');';
saveTxt(text + textend);
} else {
alert("No Swatches Selected.");
}
}
function saveTxt(txt) {
var name = app.activeDocument.name.replace(/\.[^\.]+$/, '');
var path = (app.activeDocument.path != "") ? app.activeDocument.path : "~";
var saveFile = new File(path + "/" + name + "-SPOT.txt");
if (saveFile.exists)
saveFile.remove();
saveFile.encoding = "UTF8";
saveFile.open("e", "TEXT");
saveFile.writeln(txt);
saveFile.close();
alert("Saved to File:\n" + saveFile.fullName)
}
该代码将开始与号为2,一旦7种不同的颜色显示第2页,它移动到第3页,显示其他7种颜色。希望我的回答会帮助你。享受.. :)