2017-08-11 34 views
0

你不得不原谅我,说到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种颜色。

我附加了输出的屏幕截图。 enter image description here

回答

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,一旦7种不同的颜色显示第2页,它移动到第3页,显示其他7种颜色。希望我的回答会帮助你。享受.. :)

相关问题