Bagaimana cara mengekspor lapisan Illustrator sebagai gambar individual?

15

Saya memiliki file Illustrator yang berisi pola. Saya ingin mengekspor setiap pola sebagai gambar individual untuk digunakan dalam program baru ini yang saya coba bernama Sketch. Apakah ada skrip pemrosesan batch yang mengekspor layer sebagai PNG atau SVG? Saya ingin masing-masing pola geometris tersedia sebagai PNG, bukan sebagai satu file besar.

Adakah pikiran?

png

Charles
sumber

Jawaban:

14

Jika polanya benar-benar ada di masing-masing lapisan, Anda mungkin dapat menggunakan skrip untuk mengekspor setiap lapisan sebagai png individu.

Carlos Canto menulis naskah untuk Illustrator dan mempostingnya di forum Adobe.

Dalam kasus pembusukan tautan, inilah skrip 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]);
        }
    }
}

Salin dan tempel ini ke file teks dan simpan file teks dengan akhiran .jsx. Kemudian tempatkan file .jsx ke dalam Adobe Illustrator CS (x) / Preset / [bahasa Anda] / Skrip. Setelah meluncurkan Illustrator, skrip akan terlihat melalui File > ScriptsIllustrator.

Scott
sumber
FYI, skrip yang diposting di atas tidak berfungsi di Illustrator CC, ini memberi saya: Kesalahan 8, Kesalahan sintaksis. Baris 1:
1
Skrip berfungsi dengan baik di Illustrator CC di sini.
Scott
2
Saya juga mendapatkan kesalahan sintaks pada baris 1. Ketika saya membuka kembali .jsx ada kode tambahan di atas baris 1 asli dari kode di atas. Saya menghapus semua yang di atas #target Illustrator menyimpan file .jsx. Saya meluncurkan Illustrator dan skrip berfungsi dengan baik sekarang. Saya juga menggunakan CC
Inilah versi yang diperbarui yang menggunakan nama lapisan dalam nama file alih-alih penghitung angka (jadi "mydoc-layername.png" alih-alih "mydoc-1.png") ... jika ada orang lain yang perlu seperti saya. gist.github.com/34e54d199de123b8e3c50a305f23115e
Chris Emerson
5

Untuk kesederhanaan dan kecepatan alur kerja, saya mungkin akan menggunakan alat irisan untuk membuat irisan untuk pola individu, lalu Simpan untuk Web, memastikan bahwa "Semua Irisan" dipilih dalam dropdown "Ekspor:". Jika saya membangun dari awal, saya akan meletakkan setiap pola pada artboardnya sendiri (yang masih bisa Anda lakukan) dan menggunakan File> Ekspor dengan opsi "Gunakan Artboards".

Alan Gilbertson
sumber