Конвертировать EMF в изображение PNG с помощью командной строки

Существует ли какой-либо инструмент командной строки для преобразования изображений в формате emf в png?

Я попробовал convert утилита от ImageMagick, но это говорит

decoder for emf not found

5 ответов

Решение

По данным этой страницы: http://www.imagemagick.org/script/formats.php

EMF R Расширенный метафайл Microsoft (32-разрядный) Доступно только в Microsoft Windows.

Источник

(Найдено в https://stackoverflow.com/a/28749719)

Используйте LibreOffice:

libreoffice --headless --convert-to png image.emf

Другие ответы здесь не работали для меня, но один, который я нашел на stakoverflow, сделал

Другой способ - использовать inkscape:

inkscape -e file.png source.emf

См. Inkscape --help для дополнительных параметров экспорта (область для экспорта, dpi, разрешение изображения, цвет фона и т. Д.).

Можно использовать хорошую библиотеку libemf2svg и после imagick

Установите библиотеку libemf2svg, например для debian или ubuntu:

      git clone git@github.com:kakwa/libemf2svg.git
cd libemf2svg/
sudo apt-get install gcc g++ cmake libpng-dev libfreetype-dev libfontconfig1-dev -y
cmake . -DCMAKE_INSTALL_PREFIX=/usr/
make
sudo make install

Используйте библиотеку ./emf2svg-conv -i test.emf -o test.svgТеперь у вас есть файл svg. Наконец, завершите преобразование convert test.svg test.png

Inkscape - отличная идея, но, к сожалению, она не работает идеально, например. в некоторых случаях позиции меток меняются, как описано здесь: https://gitlab.com/inkscape/inbox/-/issues/2847

Пока что единственное точное преобразование вне Windows, которое я видел, - это использование OpenOffice (без головы) или использование скрипта Python unoconv, который вызывает OpenOffice/LibreOffice для выполнения работы. Может быть, есть способ собрать вместе ImageMagick и Mono (libgdi) под Linux, но еще не нашел ничего, что бы это делало.

Другие вопросы по тегам