Link in Zwischenablage kopieren
Kopiert
In order to keep shapes as shape layers in Photoshop when exporting from .ai to .psd, one has to convert all shapes to Compound Shapes.
At the moment, i'm using an action that converts the shape, then selects the shape above. Starting with the bottom shape, i have to click
the action for every shape.
Is there a way to make a script cycle through all shapes and groups, converting them to Compound Shapes?
At the end of the script, it would be nice to have it make an export of the file to .psd aswell.
I'm somewhat familiar to javascript, but i would really appreciate some guidelines in creating this.
Link in Zwischenablage kopieren
Kopiert
Are you using CC, or at least CS6? Are the items you need to be thus converted just top-level items in a top-level layer? Because that can be done! Otherwise, it can also be done with more work..
Link in Zwischenablage kopieren
Kopiert
I'm on CS5. I don't fully understand what you are suggesting i'm sorry. I need all shapes in all layers to be converted.
I've come up with a script that converts all shapes to compound shapes, but they need to be converted via the options
in the Pathfinder panel. Otherwise Photoshop won't make them into shape layers. I don't know why this is.
Link in Zwischenablage kopieren
Kopiert
Okay, CS5.. are you on PC or Mac now?
Link in Zwischenablage kopieren
Kopiert
Windows 7 64bit.
Link in Zwischenablage kopieren
Kopiert
Ok, do you use AutoHotKey already? The solution I am thinking of, involves using AHK scripts to trigger the action which makes the compound shape.
Link in Zwischenablage kopieren
Kopiert
Yes i do use AHK for some minor stuff. I've never done any big complex scripts.
Do you have any ideas how i should build it?
The only thing i can come up with is to map the action to an F-key. Then make the
AHK perform som click-actions when i press the F-key. But how will AHK know when there
is'nt any more shapes to convert?
As i said, i'm not anywhere near a true AHK-haxXer
Link in Zwischenablage kopieren
Kopiert
It okay is, because this will be great learning for our minds! There is a way, to have your Extendscript execute the AHK script which tells it to "send" the F-keys as if it came from your keyboard. The action will go, but I am not very clear on how out of synch the action will be with the script. At first thought , putting $.sleep() may do the trick, especially if your action does not take long & there's not a big chance of it having to take long. Well, anywho, after the time break, it will go do its script thing, which is select the next shape or group (pageItem). And at the end, hey, you can try tacking on the PSD saving using the export with ExportOptionsPhotoshop- but that's later! imagecollection has some examples here of executing an AHK script from the jsx script, check 'em out!
Link in Zwischenablage kopieren
Kopiert
Thanks for the support!
I can't find any posts on the subject over at imagecollections profile, could you be more precise?
Link in Zwischenablage kopieren
Kopiert
I am going to try and put a snippet together of the example proposed above, but it's all new to me
Link in Zwischenablage kopieren
Kopiert
I'll chime in.
first to get a handle on what your doing.
by shape do you mean pathItem.
can you show or explain what your action does step by step?
it sound like you just want a script to loop through all items converting each one to a compound Path.
Link in Zwischenablage kopieren
Kopiert
The Compound Shape is different from Compound Path, especially to us because it is a "PluginItem" according to the DOM. A plugin item is like a mystery box! Also, any fancy CS6+ commands to run actions aren't an option because CS5.
Link in Zwischenablage kopieren
Kopiert
create a shortcut for the action.
go to the last step in the action(Select next object above)
hit record, then press shortcut for the action.
stop recording.
So now the action calls itself.
select the bottom item on the page.
run action.
it will loop through all items then finish by getting stuck in a loop.
so you do need to press stop.
Quicker then running it over and over manually.
Link in Zwischenablage kopieren
Kopiert
Actually i tried that, but it's not possible for an action to record a playback of itself.
I did managage to get it working though combining two actions.
It is working, but i don't like the fact that i have to manually stop it.
Link in Zwischenablage kopieren
Kopiert
I Got it to work by assigning shift+F11 to the action then while recording pressed that short cut.
its not ideal at all bit much quicker then pressing shift+F12 over and over.
if you had a later version that allowed actions run from javascript it would be cleaner.
Weitere Inspirationen, Events und Ressourcen finden Sie in der neuen Adobe Community
Jetzt ansehen