How do I apply a warp effect to an object from an Illustrator script (JavaScript)?

up vote 1 down vote accepted

There's two ways to go about this:

  1. Already have an existing graphic style that you can apply to an item. (https://forums.adobe.com/message/4380742#4380742#4380742) The example from Muppet Mark reads:

    var doc = app.activeDocument;
    var fuzz = doc.graphicStyles.getByName( 'fuzz' );
    fuzz.applyTo( doc.pageItems[0] );

  2. The more complicated method is to use the live-effect XML string, a special command syntax for Illustrator scripting that has only been revealed to us in the last couple of years. For complex graphic styles or effects it still may take a lot of work to even determine what the correct string is because this feature is completely undocumented. For your warp needs, this should suffice though. See this link here (https://forums.adobe.com/message/9356527#9356527)

#target illustrator function test(){ var doc = app.activeDocument; var p = doc.selection[0]; var effectStr_2 = '<LiveEffect name="Adobe Deform"><Dict data="R DeformValue 0.45 R DeformVert 0 B Rotate 0 I DeformStyle 1 R DeformHoriz 0 "/></LiveEffect>'; p.applyEffect(effectStr_2); }; test();

  • 1
    I got the LiveEffect approach to work. Thanks. – Justin Kredible Nov 28 at 0:45
  • That's just incredible! – Silly-V Nov 28 at 2:19

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.