Каков наилучший способ преобразования векторной графики в формате EPS в формат SVG с использованием только свободно доступных инструментов?
13 ответов
Uniconvertor на данный момент является наиболее удобным вариантом.
Это инструмент командной строки, который делится кодом с проектом sK1. Вам не нужно будет обрезать изображение в sK1, если вы используете Uniconvertor, так что это более автоматизировано.
Запустите это так:
uniconvertor before.eps after.svg
И это все. Я пробовал это на одном EPS, но SVG был неправильно смещен, но это может сработать для вас.
Вот список альтернатив и причин, почему они сосут:
Проект sK1
Он имеет смысл "страницы", на которую вы надеваете свой рисунок, поэтому после импорта EPS вы должны переместить его и вручную обрезать страницу.
ImageMagick
Для преобразования EPS в SVG ImageMagick выполняет некоторые действительно глупые преобразования растровых изображений и отображает файлы SVG размером 50 МБ, когда они должны составлять несколько КБ. На самом деле он не имеет реального алгоритма преобразования векторов для этих форматов.
InkScape
Каждый раз, когда я конвертировал EPS с помощью InkScape, он перепутал цвета. Это связано с ошибкой Inkscape при импорте файлов EPS. (Обновление: исправление, выпущенное для этой ошибки в феврале 2015 г.)
канитель
Gimp просто делает то же самое глупое преобразование растрового изображения, что и ImageMagick.
Scribus
Это делает цвета моего EPS-файла еще более неправильными, чем Inkscape, в то время как Preview для Mac может читать его очень хорошо.
В настоящее время для Linux лучше всего работает следующее:
epstopdf foo.eps
pdf2svg foo.pdf foo.svg
Я считаю, что первая команда - это оболочка для ghostscript, а вторая - оболочка для вызовов в библиотеки Poppler и Cairo. В Ubuntu они находятся в пакетах texlive-font-utils и pdf2svg. Градиенты выглядят правильно, но в Inkscape они не редактируются.
Я попытался использовать inkscape и uniconverter для этой цели, и по состоянию на январь 2013 года оба теста казались неработоспособными при тестировании на примере, содержащем не очень, но некоторые очень простые штриховые рисунки. Inkscape выдает ошибки и не может открыть файл eps. Юниконвертер вылетает.
Scribus и sk1 могут работать, но кажутся неловкими и не очень подходят для этой задачи.
Вы должны быть в состоянии открыть EPS в inkscape и сохранить оттуда как SVG.
Не забудьте сохранить как SVG-файл Plain SVG, а не Inkscape SVG для лучшей сопоставимости. Adobe Illustrator может сделать то же самое, это не бесплатно, но пробная версия.
У меня были намного лучшие результаты с:
ps2pdf -dEPSCrop infile.eps
pdf2svg infile.eps outfile.svg
Полученный SVG был намного чище.
На самом деле, открытие в Inkscape возможно только в том случае, если у вас установлен Ghostscript и какой-то скрипт преобразования находится в вашем $PATH$
- я не смог заставить его работать в Windows 7. В Linux это проще.
Решение Бена (с небольшой модификацией: eps2pdf => epspdf):
epspdf infile.eps
pdf2svg infile.pdf outfile.svg
работал безупречно для меня. Я использую Ubuntu 11.04. Преобразование было быстрым и прекрасно сохранило цвета. Спасибо разработчикам и Бену за рекомендацию этого решения.(Я также попробовал все другие упомянутые решения, но все они не помогли мне из-за отсутствия зависимостей при установке или потери информации о палитре.)
Возможно, вы захотите попробовать Scribus (он импортирует EPS, у него есть надежная поддержка CMYK, и я не знаю до какой степени, но сохраняет как svg), или проект SK1. Но этот последний пока работает только в Linux. (скоро появятся порты OSX и Windows) Разница с Inkscape (только для преобразования), похоже, в лучшей поддержке CMYK и других функций печати.
Установите Inkscape на Ubuntu
sudo apt-get install inkscape
EPS в SVG CLI
inkscape filename.eps -l filename.svg
SVG в PNG CLI
inkscape filename.svg -e filename.png
Я борюсь с этим, после загрузки векторного изображения с веб-сайта стоковой фотографии я получил файл EPS размером 9 МБ, для которого у меня нет Adobe Illustrator для его редактирования.
LibreOffice предложил открыть его, но не смог, Inkspace и Scribus оба не смогли открыть его. Только Ghostscript смог его предварительно просмотреть.
Нахождение этого Q & A продвинуло меня вперед.
Я закончил тем, что делал эти шаги:
- eps2eps (по некоторым причинам это приводит к "более чистому" файлу EPS)
- epstopdf
- pdf2svg работает, но создает SVG-файл, который загружается в Inkscape за несколько минут, а затем навсегда распаковывается, поскольку в нем содержится 300 000 объектов из корневого каталога.
pdftocairo - это мой спасатель жизни, он удобно позволил мне обрезать полученный PDF-файл только до той части, которая меня интересует, и в результате получить SVG-файлы, содержащие только 10 000 объектов, которые Inkspace может легко разгруппировать, и я смог легко отредактировать его. Командная строка выглядит так:
pdftocairo -svg -x 0 -y 0 -W 65 -H 70 o.pdf oo.svg
ПРИМЕЧАНИЕ. -X -y -W -H указывает, какую область обрезать из большого файла (единица - точка для векторных изображений).
https://cloudconvert.com/eps-to-svg - это самое простое решение, которое я нашел, поскольку inkscape, gravitdesigner и практически все другие программы, по-видимому, необъяснимо имеют проблемы с этим - cloudconvert работает безупречно.
Для Mac OS X:
Пререквизиты: доморощенный, xcode [инструменты]
- Сначала установите
MacTeX
tug.org/mactex/mactex-download.html (загрузка 2,5 ГБ) - Затем вам нужно скачать
texlua
и установить на вашPATH
minimals.contextgarden.net/current/bin/luatex/osx-intel/bin/ - Затем скачать, разархивировать и установить в вашем
PATH
в tex.aanhet.net/epspdf/#releasesepspdf.tlu
инструмент - Затем
brew install poppler pdf2svg
Ведь вы можете использовать следующую последовательность:
epspdf.tlu somegfx.eps somegfx.pdf
pdf2svg somegfx.pdf somegfx.svg
У меня на Маверикс отлично работает
Я мог что-то упустить, но у меня не было проблем с Image Magick:
convert this.eps to_this.svg