Как конвертировать изображения SVG для использования с Pisa / XHTML2PDF? - PullRequest
3 голосов
/ 24 апреля 2009

Я использую Pisa / XHTML2PDF для создания PDF-файлов на лету в Django. К сожалению, мне также нужно включить SVG-изображения, что я не считаю легкой задачей.

Как лучше всего: а) преобразовать SVG в PNG / JPG (в Python) или б), включая SVG при экспорте PDF из Пизы?

Ответы [ 2 ]

2 голосов
/ 25 апреля 2009

Существует набор инструментов Apache для батика, основанный на Java .

В подобном вопросе, касающемся C # , было предложено использовать для этого версию Inkscape для командной строки .

Для Python вот полезное предложение от этой ветки обсуждения :

import rsvg
from gtk import gdk
h = rsvg.Handle('svg-file.svg')
pixbuf = h.get_pixbuf()
pixbuf.save('foobar.png', 'png')

шаг from gtk import gdk, предложенный Lukasz , необходим и должен предшествовать созданию pixbuf, в противном случае вы не получите метод save, как заметил оригинальный постер .

1 голос
/ 16 апреля 2010

"У меня работает rsvg, но вот что я получаю, когда пытаюсь сохранить: AttributeError: у объекта 'gtk.gdk.Pixbuf' нет атрибута 'save' - Ник Сержант, 25 апреля 2009 г., 0:10"

Вам необходимо импортировать gdk для доступа к методам pixbuf:

import rsvg
from gtk import gdk
h = rsvg.Handle('svg-file.svg')
pixbuf = h.get_pixbuf()
pixbuf.save('foobar.png', 'png')

И для преобразования из строки, содержащей данные SVG:

import rsvg
from gtk import gdk
h = rsvg.Handle()
h.write(svg_string)
h.close()
pixbuf = h.get_pixbuf()
pixbuf.save('foobar.png', 'png')
...