¿Cómo exportar capas de Illustrator como imágenes individuales?

15

Tengo un archivo de Illustrator que contiene patrones. Me gustaría exportar cada patrón como una imagen individual para usar en este nuevo programa que estoy intentando llamar Sketch. ¿Existe un script de procesamiento por lotes que exporta capas como PNG o SVG? Me gustaría tener cada patrón geométrico disponible como PNG, no como un archivo grande.

¿Alguna idea?

png

Charles
fuente

Respuestas:

14

Si los patrones están en capas individuales, puede usar secuencias de comandos para exportar cada capa como un png individual.

Carlos Canto escribió un guión para Illustrator y lo publicó en los foros de Adobe.

En caso de rotura del enlace, aquí está el script de Carlos:

#target Illustrator

//  script.name = exportLayersAsCSS_PNGs.jsx;
//  script.description = mimics the Save for Web, export images as CSS Layers (images only);
//  script.requirements = an open document; tested with CS5 on Windows. 
//  script.parent = carlos canto // 05/24/13; All rights reseved
//  script.elegant = false;


/**
* export layers as PNG
* @author Niels Bosma
*/
// Adapted to export images as CSS Layers by CarlosCanto


if (app.documents.length>0) {
    main();
}
else alert('Cancelled by user');


function main() {
    var document = app.activeDocument;
    var afile = document.fullName;
    var filename = afile.name.split('.')[0];


    var folder = afile.parent.selectDlg("Export as CSS Layers (images only)...");


    if(folder != null)
    { 
        var activeABidx = document.artboards.getActiveArtboardIndex();
        var activeAB = document.artboards[activeABidx]; // get active AB        
        var abBounds = activeAB.artboardRect;// left, top, right, bottom


        showAllLayers();
        var docBounds = document.visibleBounds;
        activeAB.artboardRect = docBounds;


        var options = new ExportOptionsPNG24();
        options.antiAliasing = true;
        options.transparency = true;
        options.artBoardClipping = true;

        var n = document.layers.length;
        hideAllLayers ();
        for(var i=n-1, k=0; i>=0; i--, k++)
        {
            //hideAllLayers();
            var layer = document.layers[i];
            layer.visible = true;


            var file = new File(folder.fsName + '/' +filename+ '-' + k +".png");

            document.exportFile(file,ExportType.PNG24,options);
            layer.visible = false;
        }

        showAllLayers();
        activeAB.artboardRect = abBounds;
    }


    function hideAllLayers()
    {
        forEach(document.layers, function(layer) {
            layer.visible = false;
        });
    }


    function showAllLayers()
    {
        forEach(document.layers, function(layer) {
            layer.visible = true;
        }); 
    }


    function forEach(collection, fn)
    {
        var n = collection.length;
        for(var i=0; i<n; ++i)
        {
            fn(collection[i]);
        }
    }
}

Copie y pegue esto en un archivo de texto y guarde el archivo de texto con un sufijo .jsx. Luego, coloque el archivo .jsx en Adobe Illustrator CS (x) / Presets / [su idioma] / Scripts. Después de relanzar Illustrator, la secuencia de comandos debe ser visible a través de File > ScriptsIllustrator.

Scott
fuente
Para su información, el script publicado anteriormente no funciona en Illustrator CC, me da: Error 8, error de sintaxis. Línea 1:
1
El guión funciona absolutamente bien en Illustrator CC aquí.
Scott
2
También recibí un error de sintaxis en la línea 1. Cuando volví a abrir el .jsx había un código adicional sobre la línea original 1 del código anterior. Eliminé todo lo que se encuentra arriba #target Illustrator guardó el archivo .jsx. Relancé Illustrator y el guión funciona bien ahora. También estoy usando CC
Aquí hay una versión actualizada que usa el nombre de la capa en el nombre del archivo en lugar de un contador numérico (por lo tanto, "mydoc-layername.png" en lugar de "mydoc-1.png") ... si alguien más necesita lo que yo hice. gist.github.com/34e54d199de123b8e3c50a305f23115e
Chris Emerson
5

Para simplificar y acelerar el flujo de trabajo, probablemente usaría la herramienta de división para crear divisiones para los patrones individuales, luego Guardar para Web, asegurándome de que se seleccionó "Todas las divisiones" en el menú desplegable "Exportar:". Si estuviera construyendo desde cero, pondría cada patrón en su propia mesa de trabajo (que aún podría hacer) y usaría Archivo> Exportar con la opción "Usar mesas de trabajo" marcada.

Alan Gilbertson
fuente