Конвертировать 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, но еще не нашел ничего, что бы это делало.