2017-01-09 2 views
0

У меня есть приложение Python, которое в какой-то момент создает собственное svg-изображение. Этот svg затем немедленно отправляется через веб-сервер (и является catch в атрибуте xlink: href).Как экспортировать SVG в файл?

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

Я работаю на ОС ubuntu, использую Python 3, и изображение создается Datashader (это актуально).


Если это было непонятно: я не хочу генерировать svg. Мой svg уже сгенерирован, и я хочу сохранить его в файле.

+1

Файл '.svg' идеально визуализирован для человека, просто откройте его в любом браузере. Вы имеете в виду, что вы хотите, чтобы изображение в формате SVG, отображаемое в растровом изображении PNG, возможно? –

+0

Мне все равно. Я не могу открыть его просто, пока это просто объект Python, поэтому даже если это svg, png или что угодно, пока он сохраняется, я буду счастлив. –

+1

Итак ... 'open ('out.svg', 'w'). Write (svg_string)'? SVG - это просто XML. Я немного озадачен тем, что вы отправляете содержимое SVG на веб-сервер, но с трудом записываете его на диск. Я что-то упускаю? –

ответ

1

Я не уверен, что ОС вы используете, и т.д., но это может быть началом в правильном направлении:

Предполагая, что вы уже выделили определенный файл, так как он был создан и отправлен через сервер (как вы указанного), то вы можете просто использовать что-то вроде:

import pysvg.structures 
import pysvg.builders 
import pysvg.text 
import subprocess 

mySvg = pysvg.strcture.svg() 
savePathAndFile = "/myPath/testSvg.svg" 
mySvg.save(savePathAndFile) 

subprocess.call(['/myPath/toSVG/viewingApp', savePathAndFile]) 

где/myPath/toSVG/viewingApp является терминал команды для запуска приложения обработки SVG, такие как Inkscape.

+0

<< AttributeError: объект «Изображение» не имеет атрибута «сохранить» >> (я предположил, что мой объект SVG Python эквивалентен вам mySvg, но, возможно, это не так) –

+0

В моем примере объект представляет собой структуру pysvg, в противоположность к собственному «образу». Поскольку в этом вопросе не было никакого кода, я не уверен, что именно выглядит ваша структура, но этот пример является базовой реализацией для сохранения файла .svg через пакеты python. Прочтите эту краткую статью для получения более подробной информации ... http://florian-berger.de/ru/articles/creating-simple-svg-from-python/ –

+0

Ну, мое родное изображение, и сохранение Это вопрос моего вопроса. Ваша ссылка о том, как создать svg, в моем случае у меня уже есть svg, и я просто хочу его сохранить. –

Смежные вопросы