Я использую решение на основе Cairo / RSVG для растеризации SVG в PNG. Это уже описано в StackOverflow в Преобразование SVG в PNG в Python .
Однако это решение, похоже, не работает с пользовательскими шрифтами.
Я нашел эту страницу, описывающую встраивание SVG-шрифтов .
Я пытался включить их из внешнего SVG через XLink, как описано в примере. Я попытался встроить шрифт прямо в тот же файл SVG. После этого я попробовал синтаксис CSS веб-шрифтов. Ни один из 3 методов не работает при рендеринге с помощью Cairo (и при этом он не работает в средстве просмотра Ubuntu по умолчанию Eye of GNOME).
Я пробовал ImageMagick, с теми же результатами, что и в Каире.
С другой стороны, при использовании всех трех методов встраивания шрифтов шрифты отображаются в WebKit с использованием Google Chrome или webkit2png.py . Однако, если возможно, я бы хотел избежать использования QT WebKit на сервере, так как это нетривиальная настройка (включая xvfb и т. Д.), И я боюсь, что это может привести к не очень эффективной и стабильной работе.
Есть ли альтернативный метод рендеринга SVG в PNG из Python?