2017-06-27 36 views
0

ストロークカラーをグレーに変更し、すべてのラインのストローク幅を.2ptに変更する必要がある約200のSVGファイルがあります。Javascript Adob​​e Illustratorスクリプト - すべてのアイテムのストローク幅を変更する

私は、インターフェイスで行うことに相当するものを「Select ALL」とし、ストローク幅の.2 ptを手動で入力することをスクリプト化したいと思います。

現在、私のスクリプトでは、すべての色が灰色(細かい点)で、行の一部が行幅が.2ptに変更されています。

app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS; 
var doc = app.activeDocument; 

for (i = 0; i <doc.pathItems.length; i++) { 
pathArt = doc.pathItems[i]; 
pathArt.strokeWidth = .2; 
pathArt.strokeColor = makeColor(153,153,153); 
pathArt.filled = false; 
} 

function makeColor(r,g,b){ 
var c = new RGBColor(); 
c.red = r; 
c.green = g; 
c.blue = b; 
return c; 
} 

おそらく、スクリプトを通じてすべてのオブジェクトを正しく選択していませんか? CTRL-Aと同等の目的を達成するための正しい方法と手動での操作を上記のように選択していますか?

ありがとうございました!

答えて

0

AI CS3では、パスがストロークされていない場合、プロパティは適用されませんが、.strokeColorプロパティが適用されます。

はまた、あなたがここでCompoundPathItems

0

を反復していないことに注意して、あなたの問題を解決するためのコードを追加しますpathArt.Stroked = True;は、フォルダを選択するように求められます完全なスクリプトです。 200個のSVGファイルを持つフォルダを選択してください。このスクリプトは、選択したフォルダ内のすべてのSVGファイルを処理し、ストロークの色をグレーに変更し、その幅も変更します。

var folder = Folder.selectDialog(); 
if (folder) { 
    app.userInteractionLevel = UserInteractionLevel.DONTDISPLAYALERTS; 
    var color = makeColor(153, 153, 153); 
    var files = folder.getFiles("*.svg"); 
    for (var j = 0; j < files.length; j++) { 
     app.open(files[j]); 
     var doc = app.activeDocument; 
     for (i = 0; i < doc.pathItems.length; i++) { 
      pathArt = doc.pathItems[i]; 
      pathArt.stroked = true; 
      pathArt.strokeWidth = .2; 
      pathArt.strokeColor = color; 
      pathArt.filled = false; 
     } 
     doc.close(SaveOptions.SAVECHANGES); 
     doc = null; 
    } 

} 

function makeColor(r, g, b) { 
    var c = new RGBColor(); 
    c.red = r; 
    c.green = g; 
    c.blue = b; 
    return c; 
} 

あなたがロックされ、隠されたアイテムのために処理したい場合にもロックされ、隠されたアイテムのためのスクリプトを変更することができます。

関連する問題