Анализатор Python SVG

Я хочу проанализировать SVG-файл, используя python, для извлечения координат / путей (я считаю, что это указано под идентификатором пути, в частности, d = "…" />). Эти данные в конечном итоге будут использованы для управления 2-осевым ЧПУ.

Я искал SO и Google для библиотек, которые могут возвращать строку таких путей, поэтому я могу ее проанализировать, но безрезультатно. Существует ли такая библиотека?

2 Solutions collect form web for “Анализатор Python SVG”

Игнорируя преобразования, вы можете извлечь строки пути из SVG следующим образом:

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() 

Получение d-строки можно выполнить в строке или двух с помощью svgpathtools .

 from svgpathtools import svg2paths paths, attributes = svg2paths('some_svg_file.svg') 

paths – это список объектов пути svgpathtools Path (содержащих только информацию о кривой, без цветов, стилей и т. д.). attributes – список соответствующих объектов словаря, сохраняющих атрибуты каждого пути.

Чтобы, скажем, распечатать d-строки, тогда …

 for k, v in enumerate(attributes): print v['d'] # print d-string of k-th path in SVG 
  • Чтение XML-файла и выбор его атрибутов в Python
  • Как я могу получить доступ к XML-элементам с именами, используя BeautifulSoup?
  • Python для анализа нестандартного XML-файла
  • XML Parsing: Дерево элементов (etree) и minidom
  • Редактировать XML с помощью python
  • Как эффективно хранить этот проанализированный XML-документ в базе данных MySQL с помощью Python?
  • Анализ HTML с использованием Python
  • python lxml с py2exe
  • Как я могу получить элемент из файла XML с атрибутом, имеющим конкретное значение
  • lxml etree xmlparser удаляет ненужное пространство имен
  • Черри и XML-данные из нескольких файлов
  • Python - лучший язык программирования в мире.