#target Illustrator
var scale = "250.0"; // задаем масштаб в процентах
if (app.activeDocument.artboards.length == 1) {
action(scale);
redraw();
};
function action(scale) {
//redraw();
var ActionString = [ '/version 3',
'/name [ 12',
' 536372697074416374696f6e',
']',
'/isOpen 1',
'/actionCount 1',
'/action-1 {',
' /name [ 14',
' 5363616c656453656c6563746564',
' ]',
' /keyIndex 0',
' /colorIndex 0',
' /isOpen 0',
' /eventCount 3',
' /event-1 {',
' /useRulersIn1stQuadrant 0',
' /internalName (adobe_commandManager)',
' /localizedName [ 16',
' 416363657373204d656e75204974656d',
' ]',
' /isOpen 0',
' /isOn 1',
' /hasDialog 0',
' /parameterCount 3',
' /parameter-1 {',
' /key 1769238125',
' /showInPalette -1',
' /type (ustring)',
' /value [ 19',
' 73656c656374616c6c696e617274626f617264',
' ]',
' }',
' /parameter-2 {',
' /key 1818455661',
' /showInPalette -1',
' /type (ustring)',
' /value [ 22',
' 53656c65637420416c6c20496e20417274626f617264',
' ]',
' }',
' /parameter-3 {',
' /key 1668114788',
' /showInPalette -1',
' /type (integer)',
' /value 1934727834',
' }',
' }',
' /event-2 {',
' /useRulersIn1stQuadrant 0',
' /internalName (adobe_scale)',
' /localizedName [ 5',
' 5363616c65',
' ]',
' /isOpen 1',
' /isOn 1',
' /hasDialog 1',
' /showDialog 0',
' /parameterCount 4',
' /parameter-1 {',
' /key 1970169453',
' /showInPalette -1',
' /type (boolean)',
' /value 1',
' }',
' /parameter-2 {',
' /key 1818848869',
' /showInPalette -1',
' /type (boolean)',
' /value 1',
' }',
' /parameter-3 {',
' /key 1935895653',
' /showInPalette -1',
' /type (unit real)',
' /value '+scale,
' /unit 592474723',
' }',
' /parameter-4 {',
' /key 1668247673',
' /showInPalette -1',
' /type (boolean)',
' /value 0',
' }',
' }',
' /event-3 {',
' /useRulersIn1stQuadrant 0',
' /internalName (adobe_deselectAll)',
' /localizedName [ 12',
' 446573656c65637420416c6c',
' ]',
' /isOpen 0',
' /isOn 1',
' /hasDialog 0',
' /parameterCount 0',
' }',
'}'].join('\n');
var f = new File('~/ScriptAction.aia');
f.open('w');
f.write(ActionString);
f.close();
loadAction (f);
f.remove();
var myScriptString = [ 'var ar = app.activeDocument.artboards[0].artboardRect;',
'var artLayer = app.activeDocument.layers.add();',
'var rect = artLayer.pathItems.rectangle (ar[1], ar[0], ar[2]-ar[0], ar[1]-ar[3]);',
'app.doScript("ScaledSelected", "ScriptAction");',
'unloadAction("ScriptAction", "");',
'var k = '+scale+'/100-1;',
'app.activeDocument.artboards[0].artboardRect=[ar[0]-(ar[2]-ar[0])*k/2, ar[1]-(ar[3]-ar[1])*k/2, ar[2]+(ar[2]-ar[0])*k/2, ar[3]+(ar[3]-ar[1])*k/2];',
'artLayer.remove();'].join('\n');
var bt = new BridgeTalk;
bt.target = "illustrator";
bt.body = myScriptString;
bt.send();
ActionString = null;
};