Como exportar camadas do Illustrator como imagens individuais?

15

Eu tenho um arquivo do Illustrator que contém padrões. Gostaria de exportar cada padrão como uma imagem individual para usar neste novo programa que estou tentando chamar Sketch. Existe um script de processamento em lote que exporte camadas como PNG ou SVG? Gostaria de ter cada padrão geométrico disponível como PNG, não como um arquivo grande.

Alguma ideia?

png

Charles
fonte

Respostas:

14

Se os padrões realmente estiverem em camadas individuais, você poderá usar scripts para exportar cada camada como um png individual.

Carlos Canto escreveu um script para o Illustrator e o postou nos fóruns da Adobe.

No caso de podridão do link, aqui está o 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 e cole isso em um arquivo de texto e salve o arquivo de texto com um sufixo .jsx. Em seguida, coloque o arquivo .jsx no Adobe Illustrator CS (x) / Presets / [seu idioma] / Scripts. Depois de reiniciar o Illustrator, o script deve ficar visível File > Scriptsno Illustrator.

Scott
fonte
Para sua informação, o script postado acima não funciona no Illustrator CC, ele fornece: Erro 8, erro de sintaxe. Linha 1:
11
O script funciona absolutamente bem no Illustrator CC aqui.
Scott
2
Também estava recebendo erro de sintaxe na linha 1. Quando reabri o arquivo .jsx, havia um código adicional acima da linha 1 original do código acima. Excluí tudo acima do #target O Illustrator salvou o arquivo .jsx. Relancei o Illustrator e o script funciona bem agora. Eu também estou usando CC
Aqui está a versão atualizada que usa o nome da camada no nome do arquivo em vez de um contador numérico (então "mydoc-layername.png" em vez de "mydoc-1.png") ... se alguém mais precisar, como eu. gist.github.com/34e54d199de123b8e3c50a305f23115e
Chris Emerson
5

Para simplificar e agilizar o fluxo de trabalho, eu provavelmente usaria a ferramenta de fatia para criar fatias para os padrões individuais e, em seguida, Salvar para a Web, certificando-me de que "Todas as fatias" foi selecionada no menu suspenso "Exportar". Se eu estivesse construindo do zero, colocaria cada padrão em sua própria prancheta (o que você ainda pode fazer) e usaria Arquivo> Exportar com a opção "Usar pranchetas" marcada.

Alan Gilbertson
fonte