¿Puedo hacer que cada grupo en este archivo SVG sea su propio archivo SVG?

Tengo un enorme archivo SVG que llené con todos los caracteres de una fuente. Hay muchos caracteres y llevaría una eternidad copiar manualmente cada uno de ellos en su propio archivo. Cada personaje tiene todas sus rutas combinadas en un grupo, por lo que si algo pudiera colocar automáticamente cada grupo en su propio archivo SVG, eso resolvería mi problema. ¿Algunas ideas? ¡Gracias!

La capacidad de hacer esto dependerá en gran medida de la aplicación que se utilice para editar los archivos svg. No ha indicado ninguna aplicación en su pregunta o etiquetas.
Ups, lo siento. Tengo Illustrator e Inkscape a mi disposición.

Respuestas (4)

Aquí tienes: http://www.tbyrne.org/export-illustrator-layers-to-svg-files

Los formatos admitidos son: PNG8, PNG24, PDF, EPS y SVG

Puede elegir si desea exportar todas las mesas de trabajo en el documento mostrando las capas visibles actualmente, o si desea exportar archivos para cada una de las capas en un documento en la mesa de trabajo actualmente activa, o si desea exportar una combinación de todas las mesas de trabajo multiplicadas por todas las capas.

Los archivos se nombran según su nombre de capa. Solo exporta capas en las que se ha cambiado el nombre predeterminado "Capa 1", "Capa 2" o "Mesa de trabajo 1", "Mesa de trabajo 2", etc. Eliminé esta característica, pero podría volver a agregarla como una opción configurable.

Si coloca un signo menos (-) delante del nombre de una capa o de una mesa de trabajo, se saltará esa capa o mesa de trabajo. (Útil para cuando ya no decide que le gusta una maqueta en particular, pero no quiere eliminarla del documento maestro de Illustrator).

Solo para capas: si coloca un signo más (+) delante del nombre de una capa, esa capa siempre estará visible. Útil si quieres tener una capa que siempre aparezca en el fondo de cada imagen exportada.

Almacena su configuración en una capa no visible y no imprimible llamada "nyt_exporter_info"

Tiene una opción para la transparencia.

Tiene una opción para incrustar imágenes vinculadas (solo EPS y SVG).

Tiene una opción para incrustar fuentes (solo EPS).

Una opción es usar un conjunto de datos, tratando cada glifo como un registro. consulte, por ejemplo: ( http://vector.tutsplus.com/tutorials/tools-tips/quick-tip-data-driven-graphics-using-illustrators-variables-panel/ ) que es un resumen decente donde el autor hace un solo documento con variables y un conjunto de datos y crea 100 tarjetas de presentación únicas.


Una segunda opción es notar que los archivos SVG son archivos de texto y pueden ser editados por un editor de texto. Exactamente cómo dividir el archivo depende de cómo se creó y almacenó. Hice un archivo svg rápido escribiendo un glifo 'a' y luego un glifo 'b' por separado, los expandí y luego los guardé como svg. El resultado está abajo. Tenga en cuenta los dos <g>"campos".

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     width="612px" height="792px" viewBox="0 0 612 792" enable-background="new 0 0 612 792" xml:space="preserve">
<g>
    <path d="M104.219,114.458L103.379,117h-1.08l2.758-8.083h1.248l2.758,8.083h-1.115l-0.864-2.542H104.219z M106.881,113.642
        l-0.804-2.327c-0.18-0.527-0.3-1.007-0.419-1.475h-0.024c-0.12,0.468-0.24,0.972-0.408,1.463l-0.792,2.338H106.881z"/>
</g>
<g>
    <path d="M97.912,134.036c0.456-0.108,1.187-0.18,1.907-0.18c1.043,0,1.715,0.18,2.207,0.588c0.419,0.312,0.684,0.792,0.684,1.427
        c0,0.792-0.528,1.475-1.367,1.775v0.036c0.768,0.18,1.667,0.815,1.667,2.015c0,0.696-0.276,1.235-0.696,1.619
        c-0.552,0.516-1.463,0.755-2.782,0.755c-0.72,0-1.271-0.048-1.619-0.096V134.036z M98.955,137.347h0.947
        c1.091,0,1.739-0.588,1.739-1.367c0-0.936-0.708-1.319-1.763-1.319c-0.48,0-0.755,0.036-0.923,0.072V137.347z M98.955,141.208
        c0.216,0.036,0.503,0.048,0.875,0.048c1.079,0,2.075-0.396,2.075-1.571c0-1.091-0.947-1.559-2.087-1.559h-0.863V141.208z"/>
</g>
</svg>

Si elimino una <g></g>sección completa y guardo una copia, revierto, luego elimino la otra sección y guardo una segunda copia, los dos archivos serán cada uno un solo glifo, conservando su ubicación original en el marco del documento.

Obviamente, esto es bastante engorroso, pero es compatible con la edición de texto mediante programación (vbscript, php, applescript, grep, c, etc.)


Recientemente intenté colocar 26 glifos en 26 mesas de trabajo en Illustrator y exportarlos por separado. Resulta que en Illustrator eso no es posible con SVG ; solo recuerda la mesa de trabajo activa pero conserva todo el arte.

Así que simplemente puse todos los glifos uno encima del otro, oculté todos menos uno y los exporté. Se cambió la visibilidad de la capa y se repitió.

Me imagino que un guión de Illustrator no sería demasiado difícil aquí. Colóquelos todos en una mesa de trabajo, luego ejecute un script que 1) ocultaría todos los objetos en la capa, 2) haría visible el primer grupo, 3) exportaría como '1.svg', 4) ocultaría el objeto activo y luego repetiría eso para tantos objetos como tengas.

Si está en una Mac, esto debería ser muy fácil en Sketch . Abra el SVG, habrá una lista de sus grupos en el lado izquierdo. Seleccione un grupo y, en la parte inferior derecha, haga clic en Make Exportabley seleccione SVG. Repita para cada grupo. (Prueba gratuita disponible).