Пишу небольшое приложение для автоматизации расчетов и столкнулся с проблемой. У меня есть схема в формате drawio которая подготавливается в коде. У меня есть документ docx с расчетами. Как я могу вставить схемку Drawio в документ? Из вариант рассматривал как вставку в формате SVG. Но похоже что python-docx библиотека такое не поддерживает. PNG вставлять не хочется т.к потеряется качество при масштабировании. Бывалые прогеры подскажите как лучше всего реализовать данное действие.
Alex G., ну, тут все не очень прозрачно
до какой-то версии word не умел вставлять SVG
начиная с 2019, по идее, должен уметь вставлять, но капризничает - не все SVG ест
причем в answers.microsoft.com "профессионалы" ссылаются на "это у вас ПО которое svg делает неправильно"
Возможно svg - не ваш путь, но это, пожалуй, единственный вектор, который можно вставить без аддона на пользовательском ПК
Есть еще аддон от draw.io для офиса, для вставки диаграм без конвертации. Но никогда не ставил и не уверен как оно будет работать (тем более что на клиентскую машину для работы с документом этот аддон должен быть установлен)
Кстати интересно, а при чем тут ресайз, у вас вордовский документ будет увеличиваться в масштабе?
Еще вроде пишут что office поддерживает Svg 1.0 в то время как draw.io экспортирует в svg 1.1 и это все равно ломает внешний вид вектора в офисе, при печати и других операциях https://github.com/jgraph/drawio/issues/1854
Евгений Хлебников, Планировал приложение запустить в докере на линукс серваке. Если использовать аддоны, то тогда наверное будет проще вставить SVG файл как объект через pwin32. Мб я ошибаюсь, но для pwin32 нужен установленный пакет офис, что для запуска в докер как то геморно.
Alex G., я там дописал про SVG немного в предыдущем комментарии )
Собственно очень важный вывод, из той же ветки my current workaround is to use advanced export, png and boost to 400 DPI
Евгений Хлебников, По поводу версий SVG тут проблема не в совместимости. Т.к я могу закинуть SVG в word и он корректно отображается.
Но да, я кажется зря заморочился. Сейчас смотрю на png схему и вроде бы все читаемо, даже при зуме.
Не знаю, что такое drawio, но судя по поисковой выдаче, оно в т.ч. desktop app. Так вот, можно ли вставить его схему в вордовский документ как объект OLE? Вручную, через диалог. Если да, то вставить программно можно будет через OLE Automation.