从 EPS 转换为 SVG 格式

use*_*137 63 software-rec vector-graphics svg eps conversion

仅使用免费提供的工具将 EPS 格式的矢量图形转换为 SVG 格式的图形的最佳方法是什么?

小智 35

目前在 linux 上最适合我的是以下内容:

epstopdf foo.eps
pdf2svg foo.pdf foo.svg
Run Code Online (Sandbox Code Playgroud)

我相信第一个命令是 ghostscript 的包装器,第二个是调用 Poppler 和 Cairo 库的包装器。在 ubuntu 上,它们位于 texlive-font-utils 和 pdf2svg 包中。渐变看起来不错,但在inkscape中似乎不可编辑。

为此,我尝试使用inkscape 和uniconverter,截至2013 年1 月,在不包含但仅包含一些非常简单的线条艺术的示例上进行测试时,两者似乎都已损坏。Inkscape 抛出错误并且无法打开 eps 文件。单转换器崩溃。

Scribus 和 sk1 可能会工作,但看起来很笨拙,不太适合这项任务。

  • 这对我来说非常有效,并生成了一个不错的小型 svg 文件。就我而言,我想在网页上内联输出 svg,因此大小和兼容性很重要。 (2认同)

Nei*_*eil 30

Uniconvertor是目前最方便的选择。

它是一个与 sK1 项目共享代码的命令行工具。如果您使用 uniconvertor,您将不必费心在 sK1 中裁剪图像,因此它更加自动化。

像这样运行它:

uniconvertor before.eps after.svg
Run Code Online (Sandbox Code Playgroud)

就是这样。我在一个 EPS 上尝试过,但 SVG 偏移不正确,但它可能对你有用。

以下是替代方案及其糟糕的原因列表:

  1. SK1项目

    它有一种“页面”的感觉,您将绘图放在上面,因此在导入 EPS 后,您必须移动它并手动裁剪页面。

  2. 图像魔术师

    对于 EPS 到 SVG 的转换,ImageMagick 做了一些非常愚蠢的位图转换,并且会渲染 50mb 的 SVG 文件,而它们应该是几 kb。对于这些格式,它实际上没有真正的矢量转换算法。

  3. 墨景

    每次我用 InkScape 转换 EPS 时,它都会弄乱颜色。这是由于导入 EPS 文件时存在 Inkscape错误。(更新:2015 年 2 月针对此错误发布的修复程序)

  4. 金普

    Gimp 只是做与 ImageMagick 一样的愚蠢的位图转换。

  5. 抄写员

    它让我的 EPS 文件的颜色比 Inkscape 更错误,而 Mac 预览版可以很好地读取它。

  • 你好来自未来,只是想感谢你指出inkscape的错误报告。一些善良的灵魂进入并修复了错误,只需升级到最新版本就可以让我拖放 EPS 并在 Inkscape 中获得正确的结果。 (2认同)
  • 我刚刚尝试过,使用 `uniconvertor input.eps output.svg` 它没有转换矢量图形,只是将图像光栅化并用 base64 编码并放入 SVG! (2认同)

alp*_*ha1 20

您应该能够在inkscape中打开EPS并从那里另存为SVG。

确保保存为普通 SVG 而不是inkscape SVG以获得更好的可比性。Adobe illustrator 可以做同样的事情,它不是免费的,但试用版是。

  • 这也可以[使用命令行](http://tavmjong.free.fr/INKSCAPE/MANUAL/html/CommandLine.html):`inkscape --export-plain-svg output.svg input.eps` (7认同)
  • 我无法在 Inkscape 0.92 中打开或导入 7 个不同的 EPS 文件。 (4认同)
  • 我曾多次尝试使用 Inkskape 将 EPS 转换为 SVG,但每次颜色和图层都出错。这根本不可靠。 (2认同)

Eri*_*rik 11

我有更好的结果:

ps2pdf -dEPSCrop infile.eps
pdf2svg infile.eps outfile.svg
Run Code Online (Sandbox Code Playgroud)

生成的 SVG 更加​​干净。

  • 但是这样,使用 Illustrator 创建的 eps 文件中的矢量图像会转换为光栅 :-( (2认同)
  • 不应该是`pdf2svg infile.pdf outfile.svg`而不是`infile.eps`吗?(和@gerlos 我的 eps 在这里转换为真正的 svg,没有光栅化...但我不知道是用哪个程序来创建 eps 文件的) (2认同)

Mic*_*elB 7

实际上,只有当您安装了 Ghostscript 并且您的某些转换脚本中有一些转换脚本时,才能在 Inkscape 中打开$PATH$- 我无法让它在 Windows 7 上运行。在 Linux 上,它更容易。


tim*_*123 6

在 Ubuntu 上安装 Inkscape

sudo apt-get install inkscape

EPS 到 SVG CLI

inkscape filename.eps -l filename.svg

SVG 到 PNG CLI

inkscape filename.svg -e filename.png


use*_*274 5

Ben 的解决方案(稍作修改:eps2pdf => epspdf):

epspdf infile.eps
pdf2svg infile.pdf outfile.svg
Run Code Online (Sandbox Code Playgroud)

对我来说完美无缺。我正在使用 Ubuntu 11.04。转换速度很快,并且完美地保留了颜色。感谢开发人员和 Ben 推荐这个解决方案。(我也尝试了所有提到的其他解决方案,但由于缺少安装依赖项或丢失调色板信息,它们都失败了。)