parse - python xml json
Python SVG parser (2)
Quiero analizar un archivo SVG usando python para extraer coordenadas / rutas (creo que esto está listado bajo el ID de "ruta", específicamente el d = "..." />). Estos datos se utilizarán finalmente para controlar un CNC de 2 ejes.
He buscado en SO y Google bibliotecas que puedan devolver la cadena de tales rutas para poder analizarlas aún más, pero sin éxito. ¿Existe tal biblioteca?
Ignorando las transformaciones, puede extraer las cadenas de ruta de un SVG de la siguiente manera:
from xml.dom import minidom
doc = minidom.parse(svg_file) # parseString also exists
path_strings = [path.getAttribute(''d'') for path
in doc.getElementsByTagName(''path'')]
doc.unlink()
Obtener el d-string se puede hacer en una línea o dos usando svgpathtools .
from svgpathtools import svg2paths
paths, attributes = svg2paths(''some_svg_file.svg'')
rutas es una lista de svgpathtools Objetos de ruta (que contienen solo la información de la curva, sin colores, estilos, etc.). atributos es una lista de objetos de diccionario correspondientes que almacenan los atributos de cada ruta.
Para, digamos, imprimir las d-cuerdas luego ...
for k, v in enumerate(attributes):
print v[''d''] # print d-string of k-th path in SVG