¿Hay alguna forma de exportar por lotes los símbolos de Illustrator como png?

Utilizo Illustrator como mi principal programa de gráficos para crear componentes de interfaz de usuario modulares.

ingrese la descripción de la imagen aquí

Contexto: Estoy explorando un software de animación, Pixate , y tendré que cargar todos los activos de la interfaz de usuario en la biblioteca del proyecto. ¿Hay alguna forma de facilitar esto exportando por lotes todos los símbolos en una biblioteca de símbolos?

Todavía no he podido encontrar una solución en línea que resuelva esto, ¡y agradecería cualquier dirección!

Hola Ksy, ¿ya revisaste este hilo? Exportar símbolo como PNG
Wow, debo ser malo para buscar cosas en Google: / Perfecto, ¡gracias! Probaré esta solución de secuencias de comandos
Esta parece ser una gran solución para elementos del mismo tamaño (p. ej., íconos); también parece requerir arrastrar y soltar todos los símbolos en una mesa de trabajo y crear una cuadrícula. Creo que esta vez lo improvisaré, pero Usaré Photoshop la próxima vez para facilitar este proceso y dividir los componentes de la interfaz de usuario :)
Aunque esta no es una forma de exportar por lotes, creo que la solución de este hilo al usar Command-Option-Shift-3 (Mac) me ahorra la mayoría de las tareas manuales.
Si tuviera todos los objetos pegados en el documento, ¿no sería más rápida la respuesta de Jonathan?
Es un archivo AI bastante denso, con varias capas dentro de las capas; en última instancia, esto se redujo a lo que funcionaría mejor con mi preferencia de flujo de trabajo actual. Es posible que esto no sea relevante para la pregunta publicada, pero decidí usar Keynote (en lugar de Pixate) para crear un prototipo. De esta manera, puedo copiar y pegar objetos con facilidad. Hay un gran enlace aquí

Respuestas (1)

El siguiente script exportará todos sus símbolos de la biblioteca de símbolos y los guardará en una carpeta elegida.

Solo tienes que asegurarte de que todas tus capas estén ocultas primero.

var doc = app.activeDocument;
var symbolCount = doc.symbols.length;

if (symbolCount >= 1) {

    if (confirm("Are all your layers hidden?")) {

        // create temp layer
        doc.layers.add();

        // create directory
        var dest = Folder.selectDialog();
        dest.create();

        // loop through symbols
        for (var i = 0; i < doc.symbols.length; i++) {

            // place a symbol instance - temp
            var s = doc.symbolItems.add(doc.symbols[i]);         

            // assign name
            var filename = (doc.symbols[i].name)

            // export symbols
            savePNG(dest, filename);

            // delete temp symbol instance
            s.remove();
        }
        // remove temp layer
        doc.layers[0].remove();
    }

    function savePNG(dest, filename) {
        // save options
        var type = ExportType.PNG24;
        var options = new ExportOptionsPNG24();
        options.transparency = true;

        // file
        var file = new File(dest + "/" + filename);

        // export
        doc.exportFile(file, type, options);
    }

} else {
    alert("You don't have any symbols in this document");
}

Puede encontrar este script en: https://gist.github.com/shaneparsons/1717f21a757f24fb4559