mdn font family svg nested transformation groups flatten

font - svg text mdn



Herramienta para aplanar transformaciones anidadas SVG (4)

Existe una opción para aplanar transformaciones en Inkscape Graphics Editor.
De modo que puede usar los comandos del terminal de Inkscape para lograrlo, pero deberá observar si existe dicho comando.

Me pregunto si hay alguna herramienta de línea de comandos disponible para aplanar grupos anidados con transformaciones en un SVG.

En mi caso particular, estoy convirtiendo un PDF producido en software CAD a SVG y luego agrego algunos elementos y publicando el SVG modificado en una página web para su visualización. El tiempo de respuesta del SVG es muy lento (para panoramizar y hacer zoom) y descubrí que se debe a una gran cantidad de grupos anidados dentro del SVG, a menudo hasta varios cientos de profundidad. Para cada elemento en el SVG, el navegador necesita calcular la posición en todos sus nodos principales ...

Obviamente, esto es ridículo, ya que todos estos elementos necesitan una sola transformación (matriz). Así que me pregunto si alguien sabe de una herramienta para aplanar esto (o una implementación de C # o Delphi que lo haría ...).


Gracias Delapouite,

Mientras tanto encontré este: ( PStill ). Hace un trabajo perfecto de allanar la estructura (PDF a PDF), pero el SVG resultante todavía tiene muchos elementos que lo hacen bastante inutilizable para un navegador. Realmente es el problema de lo que los sistemas CAD producen en PDF: muchos caminos muy pequeños en lugar de uno más largo. Estoy bastante seguro de que todavía hay lugar para la optimización ... un día :-)


Lo mejor que he encontrado es svgo https://github.com/svg/svgo Pero todavía no es satisfactorio. El objetivo de SVGO es producir un archivo svg más pequeño. Eso significa que si una transformación permite un archivo svg más pequeño, se guarda. Mis propósitos son similares a los de OP pero ligeramente diferentes. Estoy buscando algo que pueda aplanar y simplificar por completo el SVG a solo senderos y elementos básicos.


Puede probar con SVG Cleaner . Desafortunadamente es una herramienta de GUI, por lo que no se ajusta a sus requisitos, pero ofrece una filosofía de procesamiento por lotes que podría ser útil.