Создать PNG из SVG с помощью JavaScript из командной строки - PullRequest
0 голосов
/ 27 апреля 2018

Я хотел бы создать изображение PNG из SVG, которое содержит Javascript. Файл SVG не зависит от внешних файлов. Мне нужно сделать это из командной строки или скрипта Python.

До сих пор я безуспешно пытался с svgexport и Inkscape.

Вот тест, который я использовал:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="100" version="1.1" xmlns="http://www.w3.org/2000/svg">
	<text id='test' x='0' y='50'>NO</text>
	<script type='application/javascript'>document.getElementById('test').textContent='YES';</script>
</svg>

И svgexport, и Inkscape отображают его как "НЕТ", пока только мой браузер (Firefox) отображает его правильно.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Я нашел решение:

wkhtmltopdf - это рендерер на основе веб-набора, который может интерпретировать Javascript. Это прошло мой контрольный пример.

Если вы хотите его использовать, будьте осторожны: версия из репозиториев Debian / Ubuntu устарела и не будет работать вне X-сессии (например, она не будет работать на сервере).

0 голосов
/ 27 апреля 2018

Используйте rsvg-convert утилиту, она явно имеет лучшее качество преобразования и точную корректность.

https://en.wikipedia.org/wiki/Librsvg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...