virtustilus
@virtustilus

Конвертировать svm-изображение (StarView Metafile) в png?

Вытащил скриптом на PHP из документов ODT много изображений SVM (как я понял — это StarView Metafile).

Не могу найти способа для конвертирования этих изображений в какой-либо другой формат.

Можно ли как-нибудь автоматизированно конвертировать, пусть даже и не с помощью PHP?
  • Вопрос задан
  • 3280 просмотров
Решения вопроса 1
virtustilus
@virtustilus Автор вопроса
Нашел решение.
Оказывается есть статья на хабре про конвертацию скриптом python через установленный openoffice: http://habrahabr.ru/post/97637/
Сразу до конца не дочитал в результате чего имел кучу вопросов, как все-таки запустить под OSX данный скрипт.
В итоге приведу небольшое решение проблем, может кому поможет.
Скачиваем отсюда файл DocumentConverter.py.

В итоге получаются следующие ошибки в порядке их исправления:
ImportError: No module named uno.
/Applications/LibreOffice.app/Contents/MacOS/pyuno.so: mach-o, but wrong architecture
ERROR! Binary URP bridge disposed during call

Ошибка в связи с неверными путями, теперь создаем скрипт convert.sh для его запуска:
#!/bin/bash


export PATH=/Applications/LibreOffice.app/Contents/MacOS:$PATH

export URE_BOOTSTRAP=vnd.sun.star.pathname:/Applications/LibreOffice.app/Contents/MacOS/fundamentalrc
export UNO_PATH=/Applications/LibreOffice.app/Contents/MacOS
export LD_LIBRARY_PATH=/Applications/LibreOffice.app/Contents/MacOS:/Applications/LibreOffice.app/Contents/ure-link/lib/
export PYTHONPATH=/Applications/LibreOffice.app/Contents/MacOS:$PYTHONPATH
PYTHON="/Applications/LibreOffice.app/Contents/MacOS/OOoPython.framework/Versions/Current/bin/python"

OFFICE="/Applications/LibreOffice.app/Contents/MacOS/soffice"


$OFFICE --norestore --nofirststartwizard --nologo --headless "--accept=socket,host=localhost,port=2002;urp;StarOffice.ServiceManager" &

sleep 5s

$PYTHON DocumentConverter.py $1 $2


Теперь можно конвертировать, просто написав ./convert.sh file1.odt file2.html

Картинки svm будут лежать рядом в формате gif.
Но я пошел дальше и дочитал статью на хабре до конца, где говорилось про другую скрипт-обертку unoconv. Скачиваем исходники отсюда http://dag.wieers.com/home-made/unoconv/#download, в них python-скрипт unoconv.
Теперь можно конвертировать даже просто картинки svm командой
unoconv -f png mypath/*.svm
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ntkt
@ntkt
Потомственный рыцарь клавиатуры и паяльника
Смотрите, что пишут: ingwa2.blogspot.ru/2011/05/starview-metafiles-in-calligra.html
У SVM формата не было даже нормальной спецификации, средств для импорта из него днем с огнем не найти.
Попробуйте сконвертировать любым готовым средством эти ODT документы целиком, да хотя бы и в PDF, и вырезать картинки уже оттуда.
Ответ написан
Комментировать
@t4gr1m
А я вот с большим запозданием скину ссыль (по долгу работы пришлось написать тулзу), плагин-конвертер для Node.js

https://www.npmjs.com/package/svmconv
^_^
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы