2017-08-11 61 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種顏色。希望我的回答會幫助你。享受.. :)

相關問題