你不得不原谅我,当涉及到javascript时,我很可怕。
我正在制作一个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;
}
就目前而言,首先它从第0页开始,它应该从第2页开始。
每种颜色也输出7行,每7行输出1种颜色。
答案 0 :(得分:0)
以下是您的问题的代码
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页开始,只要第2页显示7种不同的颜色,它将移至第3页以显示另外7种颜色。希望我的回答能帮到你。享受.. :))