UNPKG

openmoji

Version:

Open source emojis for designers, developers and everyone else!

112 lines (95 loc) 3.25 kB
#target Illustrator function exportDoc(doc, artboardIndex, dirOut) { removeAllArtboardsBut(doc, artboardIndex) unlockAll(doc); doc.artboards.setActiveArtboardIndex(0); doc.selectObjectsOnActiveArtboard(); // remove all items not on active artboard // https://ten5963.wordpress.com/illustrator-ccver-22-menu-commands-list/ app.executeMenuCommand("Inverse menu item"); app.executeMenuCommand("clear"); // find grid and group it var gridLayer = doc.layers.getByName("grid"); selectItems(gridLayer.pageItems); app.executeMenuCommand("group"); // expand styles and resize artboard to grid bounds and remove layer afterwards app.executeMenuCommand("expandStyle"); var grid = gridLayer.groupItems[gridLayer.groupItems.length-1]; // last item doc.artboards[0].artboardRect = grid.geometricBounds; gridLayer.remove(); // delete everything else doc.selectObjectsOnActiveArtboard(); app.executeMenuCommand("Inverse menu item"); app.executeMenuCommand("clear"); // remove layer "description" var descriptionLayer = doc.layers.getByName("description"); descriptionLayer.remove(); // export var fileName = doc.name.replace(/\.svg|\.ai|\.eps|\.pdf/gi, ""); // exportPng(doc, new File(dirOut.fsName+"/72x72/"+fileName+".png")); // exportPng(doc, new File(dirOut.fsName+"/618x618/"+fileName+".png"), 858.3); exportSvg(doc, new File(dirOut.fsName+"/svg/"+fileName+".svg")); } function selectItems(items) { for (var i = 0; i < items.length; i++) { items[i].selected = true; } } function removeAllArtboardsBut(doc, index) { for (var i = doc.artboards.length-1; i >= 0; i--) { if (i === index) continue; doc.artboards[i].remove(i); } } function exportPng(doc, newFile, scale) { var pngOptions = new ExportOptionsPNG24(); if (scale) { pngOptions.horizontalScale = scale; pngOptions.verticalScale = scale; } pngOptions.antiAliasing = true; pngOptions.transparency = true; pngOptions.artBoardClipping = true; doc.exportFile(newFile, ExportType.PNG24, pngOptions); } function exportSvg(doc, newFile) { var svgOptions = new ExportOptionsSVG(); svgOptions.embedRasterImages = false; svgOptions.DTD = SVGDTDVersion.SVG1_1; svgOptions.cssProperties = SVGCSSPropertyLocation.PRESENTATIONATTRIBUTES; svgOptions.fontSubsetting = SVGFontSubsetting.None; svgOptions.documentEncoding = SVGDocumentEncoding.UTF8; svgOptions.coordinatePrecision = 4; doc.exportFile(newFile, ExportType.SVG, svgOptions); } function getFilesRecursive(folder, fileType) { function _traverseFolder(folder, fileType) { var files = folder.getFiles(); for (var i = 0; i < files.length; i++) { if (files[i] instanceof File) { if (files[i].name.indexOf(fileType) > 0) { // println(files[i]); results.push(files[i]); } } else { _traverseFolder(files[i], fileType); } } } var results = []; _traverseFolder(folder, fileType); return results; } function unlockAll(doc) { for (var i = 0; i < doc.layers.length; i++) { doc.layers[i].locked = false; } } function createFolder(path) { var f = new Folder(path); if (!f.exists) f.create(); return f; } function println(txt) { $.writeln(txt) }