45

Каков наилучший способ преобразования векторной графики в формате EPS в формат SVG с использованием только свободно доступных инструментов?

13 ответов13

24

Uniconvertor на данный момент является наиболее удобным вариантом.

Это инструмент командной строки, который делится кодом с проектом sK1. Вам не нужно будет обрезать изображение в sK1, если вы используете Uniconvertor, так что это более автоматизировано.

Запустите это так:

uniconvertor before.eps after.svg

И это все. Я пробовал это на одном EPS, но SVG был неправильно смещен, но это может сработать для вас.

Вот список альтернатив и причин, почему они сосут:

  1. Проект sK1

    Он имеет смысл "страницы", на которую вы надеваете свой рисунок, поэтому после импорта EPS вы должны переместить его и вручную обрезать страницу.

  2. ImageMagick

    Для преобразования EPS в SVG ImageMagick выполняет некоторые действительно глупые преобразования растровых изображений и отображает файлы SVG размером 50 МБ, когда они должны составлять несколько КБ. На самом деле он не имеет реального алгоритма преобразования векторов для этих форматов.

  3. InkScape

    Каждый раз, когда я конвертировал EPS с помощью InkScape, он перепутал цвета. Это связано с ошибкой Inkscape при импорте файлов EPS. (Обновление: исправление, выпущенное для этой ошибки в феврале 2015 г.)

  4. канитель

    Gimp просто делает то же самое глупое преобразование растрового изображения, что и ImageMagick.

  5. Scribus

    Это делает цвета моего EPS-файла еще более неправильными, чем Inkscape, в то время как Preview для Mac может читать его очень хорошо.

22

В настоящее время для 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 могут работать, но кажутся неловкими и не очень подходят для этой задачи.

15

Вы должны быть в состоянии открыть EPS в inkscape и сохранить оттуда как SVG.

Не забудьте сохранить как SVG-файл Plain SVG, а не Inkscape SVG для лучшей сопоставимости. Adobe Illustrator может сделать то же самое, это не бесплатно, но пробная версия.

8

У меня были намного лучшие результаты с:

ps2pdf -dEPSCrop infile.eps
pdf2svg infile.eps outfile.svg

Полученный SVG был намного чище.

6

На самом деле, открытие в Inkscape возможно только в том случае, если у вас установлен Ghostscript и какой-то скрипт преобразования находится в вашем $PATH$ - я не смог заставить его работать в Windows 7. В Linux это проще.

3

Решение Бена (с небольшой модификацией: eps2pdf => epspdf):

epspdf infile.eps
pdf2svg infile.pdf outfile.svg

работал безупречно для меня. Я использую Ubuntu 11.04. Преобразование было быстрым и прекрасно сохранило цвета. Спасибо разработчикам и Бену за рекомендацию этого решения.(Я также попробовал все другие упомянутые решения, но все они не помогли мне из-за отсутствия зависимостей при установке или потери информации о палитре.)

3

Возможно, вы захотите попробовать Scribus (он импортирует EPS, у него есть надежная поддержка CMYK, и я не знаю до какой степени, но сохраняет как svg), или проект SK1. Но этот последний пока работает только в Linux. (скоро появятся порты OSX и Windows) Разница с Inkscape (только для преобразования), похоже, в лучшей поддержке CMYK и других функций печати.

2

Установите 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

1

Я борюсь с этим, после загрузки векторного изображения с веб-сайта стоковой фотографии я получил файл EPS размером 9 МБ, для которого у меня нет Adobe Illustrator для его редактирования.

LibreOffice предложил открыть его, но не смог, Inkspace и Scribus оба не смогли открыть его. Только Ghostscript смог его предварительно просмотреть.

Нахождение этого Q & A продвинуло меня вперед.

Я закончил тем, что делал эти шаги:

  1. eps2eps (по некоторым причинам это приводит к "более чистому" файлу EPS)
  2. epstopdf
  3. pdf2svg работает, но создает SVG-файл, который загружается в Inkscape за несколько минут, а затем навсегда распаковывается, поскольку в нем содержится 300 000 объектов из корневого каталога.
  4. pdftocairo - это мой спасатель жизни, он удобно позволил мне обрезать полученный PDF-файл только до той части, которая меня интересует, и в результате получить SVG-файлы, содержащие только 10 000 объектов, которые Inkspace может легко разгруппировать, и я смог легко отредактировать его. Командная строка выглядит так:

    pdftocairo -svg -x 0 -y 0 -W 65 -H 70 o.pdf oo.svg

ПРИМЕЧАНИЕ. -X -y -W -H указывает, какую область обрезать из большого файла (единица - точка для векторных изображений).

1

pstoedit

pstoedit - это инструмент, преобразующий файлы PostScript и PDF в различные другие форматы, поддерживаемые различными редакторами чертежей.

pstoedit -f plot-svg before.eps after.svg

В OS X вы можете установить его, используя порт: sudo port install pstoedit

1

https://cloudconvert.com/eps-to-svg - это самое простое решение, которое я нашел, поскольку inkscape, gravitdesigner и практически все другие программы, по-видимому, необъяснимо имеют проблемы с этим - cloudconvert работает безупречно.

0

Для Mac OS X:

Пререквизиты: доморощенный, xcode [инструменты]

  1. Сначала установите MacTeX tug.org/mactex/mactex-download.html (загрузка 2,5 ГБ)
  2. Затем вам нужно скачать texlua и установить на ваш PATH minimals.contextgarden.net/current/bin/luatex/osx-intel/bin/
  3. Затем скачать, разархивировать и установить в вашем PATH в tex.aanhet.net/epspdf/#releases epspdf.tlu инструмент
  4. Затем brew install poppler pdf2svg

Ведь вы можете использовать следующую последовательность:

epspdf.tlu somegfx.eps somegfx.pdf
pdf2svg somegfx.pdf somegfx.svg

У меня на Маверикс отлично работает

0

Я мог что-то упустить, но у меня не было проблем с Image Magick:

convert this.eps to_this.svg

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .