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

50

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

user13137
источник

Ответы:

18

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

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

alpha1
источник
1
Я несколько раз пытался преобразовать EPS в SVG с помощью Inkskape, и каждый раз он получал неправильные цвета и слои. Это совсем не надежно.
Нил
1
@Brilliand, но наоборот, inskape по-прежнему портит данные и разрушает файлы EPS при экспорте в EPS. В настоящее время я использую веб-сайт для преобразования SVG в EPS, что не очень практично.
Томаш Зато
1
По общему признанию, используя очень простой EPS, у меня были прекрасные результаты, используя Inkscape.
GKFX
3
Это также можно сделать с помощью командной строки :inkscape --export-plain-svg output.svg input.eps
jja
3
Мне не удалось открыть или импортировать 7 разных файлов EPS в Inkscape 0.92.
Томас Веллер
25

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

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

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

Нил
источник
1
Вы установили его на OS X, и если да, то как? Может ли помочь этому парню здесь? Как установить Uniconverter (приложение командной строки) на Mac OS 10.7.2 (Lion)?
Slhck
Я не устанавливал его в OS X. Я тестировал все это программное обеспечение в Linux, но просто заметил, что Preview в Mac OS X просто работает.
Нил
Uniconverter не сохраняет линейные или радиальные градиенты - после преобразования все они однотонные
drahnr
Uniconvertor не поддерживает файлы EPS типа C5D0D3C6 (наиболее распространенный тип). Scribus не импортирует половину файла на те, которые я пробовал. Inkscape для Windows вообще не поддерживает EPS. Просто установите pstoedit в Linux и используйте его (опять же, версия для Windows не работает).
Марк
2
Привет из будущего, просто хотел сказать спасибо за указание на отчет об ошибке для Inkscape. Вошла какая-то добрая душа и исправила ошибку, и только обновление до последней версии позволило мне перетащить EPS и получить нужный результат в Inkscape.
Shaunhusain
9

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

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

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

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

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

MichielB
источник
3

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

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

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

epspdf infile.eps
pdf2svg infile.pdf outfile.svg

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

user256274
источник
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

timelf123
источник
1

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

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

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

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

  1. eps2eps (по некоторым причинам это приводит к «более чистому» файлу EPS)
  2. epstopdf
  3. pdf2svg работает, но создает SVG-файл, который загружается в Inkscape за считанные минуты, а затем навсегда в Ungroup, поскольку в нем содержится 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

Майкл Шмид
источник
Это был бы лучший способ, если бы он не был сломан. В последней версии pstoedit по-прежнему используется параметр ghostscript, -dDELAYBINDдля plot-svgкоторого он был удален из последней версии ghostscript. Все еще проголосовали,
Кристиан Hujer
1

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

larsbamble.com
источник
Чрезмерное продвижение определенного продукта / ресурса может восприниматься сообществом как спам . Взгляните на справочный центр , в частности, какое поведение ожидается от пользователей? Последний раздел: Избегайте явной саморекламы . Вы также можете быть заинтересованы в том, как не быть спамером и как разместить рекламу на Super User? ,
двойной гудок
0

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

convert this.eps to_this.svg

toto_tico
источник
1
Это действительно вставило PNG в SVG для меня
166_MMX
0

Для Mac OS X:

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

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

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

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

Отлично работает для меня на Mavericks

fobdy
источник
-1

Требовать Inkscape.

for i in *
do
    inkscape "$i" --export-plain-svg="$(echo "$i" | sed -e s/eps$/svg/)"
done
ilnanny
источник