Редактирование текста в файле draw.io, экспортированном в формате SVG, со встроенным рисунком

Я обычно экспортирую рисунки draw.io в формате SVG с выбранным параметром «включить копию моей диаграммы». Это позволяет мне отображать их в браузере с поддержкой SVG, а затем открывать и изменять их в draw.io.

Я хотел бы отредактировать файл SVG по сценарию, например изменить href ссылки, которую я добавил в фигуру, но вообще что угодно. В моем ограниченном тестировании я обнаружил, что могу открыть один из этих SVG-файлов в текстовом редакторе, изменить href, сохранить и снова открыть файл как в браузере, так и в draw.io.

Что меня беспокоит, так это фрагмент текста base-64 внутри файла SVG, который, как я полагаю, является встроенной «копией моей диаграммы». Рискую ли я рассинхронизировать SVG со встроенной диаграммой или это безопасно?


person Chap    schedule 12.10.2017    source источник


Ответы (1)


Вы выбрасываете SVG из синхронизации со встроенной диаграммой. Текст в кодировке base64 представляет собой просто сжатое GZIP представление XML-данных. В этом примере показано, как распаковать/сжать XML: https://github.com/jgraph/drawio-tools/blob/master/tools/convert.html (вывод SVG соответствует первой странице, т. е. первому тегу диаграммы в mxfile). Вы можете увидеть его в действии по адресу https://jgraph.github.io/drawio-tools/tools/convert.html Наконец, чтобы связать вывод SVG с данными XML, существует подключаемый модуль, который встраивает идентификатор ячейки (и метаданные) в вывод SVG (см. https://github.com/jgraph/drawio/blob/master/war/plugins/svgdata.js или https://www.draw.io?p=svgdata ).

person user1084282    schedule 12.10.2017