Illustrator-SVG-export funktioniert nicht (inkscape-namespace-Präfix nicht definiert)
Ich bin neu in der Welt der Vektor-Bearbeitung. Ich bin versucht zu exportieren .SVG-Datei aus .AI-Datei.
Allerdings, wenn ich es exportieren möchte, bekomme ich folgenden Fehler in der generierten Datei:
Error on line 57 at column 354: Namespace prefix inkscape for cy on namedview is not defined
Könnte mir bitte jemand sagen was das bedeutet und wie ich es beheben kann?
- Ich habe das gleiche problem...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, öffnen Sie Ihre SVG-Datei mit einem text-editor: Sie werden sehen, dass einige XML-Attribute mit dem inkscape-namespace, wie zum Beispiel
Diese Attribute sind wahrscheinlich aus der original-SVG-Datei (ich vermute, Sie nehmen es aus der Wikipedia?). Sie können sicher entfernen Sie Sie alle-vielleicht mit einem grep-suchen und ersetzen in Ihren text editor, wie :
Ich hoffe, dass Sie irgendwann zu beheben. Adobe Kredit, die Ursache des Problems ist, dass Illustrator versuchen, erhalten Informationen, die Sie nicht verwenden, zu spielen schön mit anderen Programmen.
Gibt es mehrere Abhilfen.
Benutzen InkScape, Speichern Als Plain-SVG. Dies funktioniert gut, wenn Sie wissen über das problem vor und können einfach sparen aus einem einfachen kopieren von InkScape, bevor überhaupt importieren in AI. Oder, wenn Sie NICHT im Vorfeld wissen, aber nichts dagegen ab über und retweaking keine "schlechten" Elemente, die Sie geändert haben, seit der Import von InkScape, die Sie speichern können, als nur von InkScape und dann ziehen Sie und re-tweak nur solche problematischen Elemente. Jedoch, wenn Sie wollen, um post-processing-anstatt die Festsetzung der AI-Datei (siehe Chip-Antwort), ist die Schnellste und am wenigsten destruktive option ist wahrscheinlich auf einen regulären Ausdruck (regex, siehe unten), anstatt mit InkScape.
Export nach SVG. Die neueste Version von Illustrator jetzt können Sie mit Export nach SVG als alternative zu tun, eine Kopie Speichern unter /Save As. Auch wenn es Elemente, die ursprünglich aus InkScape, das erzeugt eine Datei, die Chrome und InkScape öffnen können, in der Erwägung, dass weder das eine öffnen konnte, die der unwirksamen würd ich erstellt mit "Kopie Speichern". WARNUNG: In meinem sehr kleinen Skalen (16-pixel-hohen-icons), diese "web-optimiert" export sichtlich verloren Informationen/Genauigkeit--auch bei 5 Dezimalstellen Präzision--wenn Sie haben, loszuwerden, die kritische Fehler.
[ UPDATE: Speichern Sie eine Kopie /Speichern Als SVG ist jetzt möglich. Ich habe gerade beide Programme aktualisiert und es scheint, dass InkScape ist nun in der Lage zu öffnen, die ungültigen Dateien erstellt von Illustrator, aber Chrome und Illustrator noch nicht. Ich erwarte, dass dies bedeutet, dass ein Speichern Als Illustrator und dann Speichern Als Plain von InkScape ist das jetzt die Schnellste Weg, um eine saubere SVG, die auch präzise (obwohl InkScape warnt nicht vor dieser Ebene verlieren können einige Arten von Daten). ]
Update der SVG-code. Philippe Lösung scheint, wie die besten Weg, um wirklich zu reparieren, was gerade kaputt in der aktuellen Datei ohne (viel?) Präzision/Informationen. In Notepad++ hat es bei mir geklappt zu ersetzen mit regex nichts:
inkscape:[^"]+"[^"]+"
oder, noch sicherer,inkscape:(export-|connector-curvature)[^"]+"[^"]+"
. Sobald Sie gespeichert haben, eine Kopie als SVG und manuell identifiziert und behoben die Probleme, Illustrator ist in der Lage, öffnen Sie die SVG-Datei, so kann man dann copy/paste, nur die problematischen Elemente zurück in die AI-Datei und legen Sie das problem zur Ruhe. Uff.Hinweis: eine manuelle Weg, um die "schlechten" Elemente ohne Blick auf beliebigen SVG-code zu brechen Dinge nach unten in Zeichenflächen, speichern als SVG, und zu sehen, welche nicht geöffnet werden können. Sobald Sie dies wissen, Sie könnte verwenden Sie eine der Abhilfen oben zu ersetzen, nur jene Stücke (da würden Sie immer noch verlieren Präzision auf diese Leute).
Inkscape ermöglicht das speichern von Dateien als plain. Wird, loszuwerden, die Inkscape verweisen. Es gibt auch eine Kommandozeile (bash) - Methode für batch-arbeiten.
Diese kann getan werden, um die "speichern Als" SVG-Dateien erstellt von Illustrator (Illustrator nicht exportieren SVG an dieser Stelle). Ich habe noch nicht herausgefunden, wie man die Verweise aus den Illustrator-Dateien, sobald Sie dort sind. Jetzt bin ich stecken mit post-processing-alle Illustrator erstellte SVG-Dateien.