Преобразование из EPS в формат SVG

47867
user13137

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

42

13 ответов на вопрос

22
Neil

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 может читать его очень хорошо.

Вы установили его на OS X, и если да, то как? Может ли помочь этому парню здесь? [Как установить Uniconverter (приложение командной строки) в Mac OS 10.7.2 (Lion)?] (Http://superuser.com/questions/374818/how-to-install-uniconverter-command-line-app-on -mac-Os-10-7-2-лев) slhck 12 лет назад 1
Я не устанавливал его в OS X. Я тестировал все это программное обеспечение в Linux, но просто заметил, что Preview в Mac OS X просто работает. Neil 12 лет назад 0
Uniconverter не сохраняет линейные или радиальные градиенты - после преобразования он полностью окрашен drahnr 11 лет назад 0
Uniconvertor не поддерживает файлы EPS типа C5D0D3C6 (наиболее распространенный тип). Scribus не импортирует половину файла на те, которые я пробовал. Inkscape для Windows вообще не поддерживает EPS. Просто установите pstoedit в Linux и используйте его (опять же, версия для Windows не работает). Mark 10 лет назад 0
Привет из будущего, просто хотел сказать спасибо за указание на сообщение об ошибке для Inkscape. Вошла какая-то добрая душа и исправила ошибку, и просто обновление до последней версии позволило мне перетащить EPS и получить нужный результат в Inkscape. shaunhusain 9 лет назад 2
По крайней мере, начиная с версии 1.1.5 он не поддерживает EPS версии 3.1. jcoffland 9 лет назад 0
Image Magick улучшил это преобразование? Только что попробовал и отлично работает. Просто запустите `convert this.eps to_this.svg` toto_tico 8 лет назад 0
Uniconvertor 2.0 не поддерживает вывод в SVG That Brazilian Guy 8 лет назад 0
21
Ben Crowell

Currently what's working best for me on linux is the following:

epstopdf foo.eps pdf2svg foo.pdf foo.svg 

I believe the first command is a wrapper for ghostscript, and the second is a wrapper for calls to the Poppler and Cairo libraries. On ubuntu, they're in the packages texlive-font-utils and pdf2svg. Gradients come out looking right, but don't seem to be editable in inkscape.

I tried using inkscape and uniconverter for this purpose, and as of Jan 2013, both seemed broken when tested on an example containing nothig but some very simple line art. Inkscape throws errors and can't open the eps file. Uniconverter crashes.

Scribus and sk1 may work, but seem awkward and not really suited for this task.

Это прекрасно сработало для меня и дало хороший маленький SVG-файл. В моем случае я хотел вывести svg inline на веб-страницу, поэтому размер и совместимость имеют значение. RevNoah 7 лет назад 1
15
alpha1

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

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

Я несколько раз пытался преобразовать EPS в SVG с помощью Inkskape, и каждый раз, когда цвета и слои получаются неправильными. Это совсем не надежно. Neil 12 лет назад 0
@Brilliand, но наоборот, inskape по-прежнему портит данные и разрушает файлы EPS при экспорте в EPS. В настоящее время я использую веб-сайт для преобразования SVG в EPS, что не очень удобно. Tomáš Zato 9 лет назад 0
По общему признанию, используя очень простой EPS, у меня были прекрасные результаты, используя Inkscape. GKFX 9 лет назад 1
Это также можно сделать [используя командную строку] (http://tavmjong.free.fr/INKSCAPE/MANUAL/html/CommandLine.html): `inkscape --export-plain-svg output.svg input.eps` jja 8 лет назад 3
@jja ваш комментарий должен был быть ответом! sanmai 6 лет назад 0
Мне не удалось открыть или импортировать 7 разных файлов EPS в Inkscape 0.92. Thomas Weller 6 лет назад 2
7
Erik

I had much better results with:

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

The resulting SVG was much cleaner.

Согласитесь, и прелесть команды ps2pdf в том, что она устанавливается вместе с ghostscript. Параметр -dEPSCrop EPS был хорошим советом! Скрыто в файле doc -> use.htm. V Stuart Foote 9 лет назад 0
Но в этом случае векторные изображения в файлах eps, созданные в Illustrator, преобразуются в растровые :-( gerlos 9 лет назад 2
Сможете ли вы дать ссылку на такой файл? У меня нет иллюстратора. Erik 9 лет назад 0
Как и сказал Герлос, к сожалению, это не поддерживает векторную графику, а конвертирует ее в растеризованное изображение. Czechnology 7 лет назад 0
Не должно ли это быть `pdf2svg infile.pdf outfile.svg` вместо` infile.eps`? (и @gerlos мой eps конвертируется в настоящий svg здесь, без растеризации ... но я не знаю, какая программа использовалась для создания eps-файла) mozzbozz 5 лет назад 0
6
MichielB

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

3
S.gfx

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

Я использовал Scripus для этого. Печально, что нет интерфейса CLI. Adobe 11 лет назад 1
2
user256274

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

epspdf infile.eps pdf2svg infile.pdf outfile.svg 

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

2
timelf123

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

I struggle with this, after downloading a vector image from a stock photo website, I ended up with a 9MB EPS file for which I do not have Adobe Illustrator to edit it.

LibreOffice offered to open it but failed, Inkspace and Scribus both also failed to open it. Only Ghostscript was able to preview it.

Finding this Q&A moved me forward.

I ended up doing these steps:

  1. eps2eps (for some reason this results in a "cleaner" EPS file)
  2. epstopdf
  3. pdf2svg works but produces an SVG file that takes minutes to load in Inkscape, and then forever to Ungroup because it has 300,000 objects from the root
  4. pdftocairo is my life-saver, it conveniently allowed me to crop the resulting PDF file to only the part that I am interested in resulting in SVG files that only has 10,000 objects which Inkspace can ungroup readily and I was able to edit it with ease. The command line looks like this:

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

NOTE: The -x -y -W -H specify which region to crop from the big file (the unit is point for vector images).

1
Michael Schmid

pstoedit

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

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

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

Это был бы лучший способ, если бы он не был сломан. В последней версии pstoedit все еще используется опция ghostscript `-dDELAYBIND` для` plot-svg`, которая была удалена из последней версии ghostscript. Все еще проголосовал, Christian Hujer 5 лет назад 0