在SVG中创建Illustrator顶层

时间:2011-07-19 10:47:52

标签: svg adobe-illustrator

当我将分层的SVG文件加载到Illustrator中时,所有图层都可以正常工作,但它们始终位于新图层下;我未指定的“第1层”。

如何创建一个SVG,其顶层最终也是Illustrator中的顶层?

2 个答案:

答案 0 :(得分:6)

  1. 在Illustrator中创建一个具有您想要的组织的文件。
  2. 将Illustrator中的SVG保存为“a.svg”。
  3. 在Illustrator中重新打开SVG文件 嘿,我的所有图层都在第1层重新分组了!
  4. 修复组织。
  5. 从Illustrator中保存SVG,并将“保留Illustrator编辑功能”选项选为“b.svg”。
  6. 在Illustrator中重新打开SVG文件 是的,层被保留了!
  7. 差异a.svgb.svg,了解Illustrator正在保存的额外元数据。
  8. 在您自己的文件中模仿此数据。
    当你意识到解决方案是一个巨大的专有blob(<i:pgf>元素)时会哭。
  9. 放弃并决定它并不重要。

答案 1 :(得分:2)

这确实对我很重要,所以我不再哭了,花了几个小时编写了这个解决方案:

  • 下载脚本:https://github.com/JcBernack/IllustratorScripts/archive/master.zip
  • 放置&#34;修复SVG图层&#34;标准Illustrator脚本文件夹中的文件夹。这取决于您的安装和语言,我的位于:
    C:\ Program Files \ Adob​​e \ Adob​​e Illustrator CS6(64位)\ Presets \ de_DE \ Skripten
  • 启动Illustrator并加载SVG,其中所有实际图层现在都是新的&#34;第1层&#34;。
  • 转到文件 - &gt;脚本 - &gt;修复SVG图层 - &gt; FixSvgLayers
  • 耶!所有组现在都是实际层和&#34;第1层&#34;已经过去了。

更多信息:

  • &#34; FixSvgLayers&#34;转换&#34;第1层&#34;内的所有群组返回图层,将它们移动到文档根目录并删除现在为空的&#34;第1层&#34;。
  • &#34; GroupsToLayers&#34;将当前活动图层中的所有组转换为图层,而不移动或删除任何内容。
  • 两个脚本都会提示&#34;递归深度&#34;它指定了group-groups-groups应该转换为子子子层的级别数。
  • 其他两个需要第三个脚本(ConvertGroupsIntoLayers),从菜单调用它会打开提示但不做任何事情。

打开SVG时,所有实际图层都是新的&#34;第1层&#34;中的组。这些可以毫不含糊地转换回来。但子图层存在问题,因为没有信息可以将实际组与应该是子图层的组区分开来(如果有,请告诉我!)。作为一种变通方法,我的脚本会提示递归深度,并将所有组转换为该深度内的(子)层。

在我的情况下,我有三层,其中一层只是更多子层的容器。为了取回原始的图层结构,我执行了深度为0的FixSvgLayers,然后选择了容器图层并执行了#34; GroupsToLayers&#34;深度为0。

如果所有三个层都是&#34;容器&#34; -layers执行深度为1的FixSvgLayers就足以找回正确的结构。

如果您不想要任何组,并且每个组都应转换为(子)层,只需输入足够高的数字作为递归深度。