2017-08-11 1 views
0

JavaScriptを使用するとひどいです。イラストレータースクリプトを作成してスウォッチを出力して一覧表示する

私はイラストレーターのスクリプトを使って色の入った小冊子を作成しています。これはうまく動作していますが、現時点ではちょっと乱雑ですが、動作します。

ここで、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; 

}現状では

、第1のO fページが0から始まる場合は、2ページ目から開始する必要があります。

また、各色ごとに7行を出力するので、7行ごとに1色を出力する必要があります。

出力のスクリーンショットを添付しました。ここで

答えて

0

enter image description hereは、このコードは、それは別の7色を表示するために、3ページに移動しますとすぐに7色違いが2ページに表示されているように、ページ番号2で開始します

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) 
} 

問題のコードです。私の答えがあなたを助けることを願っています。お楽しみください.. :)

関連する問題