Importieren von SVG in Illustrator mit der richtigen viewBox-Größe

Wenn ich versuche, eine svgDatei mit Illustrator zu öffnen, verwendet Illustrator standardmäßig die Zeichenflächengröße, die beim Öffnen einer Datei zuletzt verwendet wurde. Daher svgwird die , wenn sie nicht die gleiche Größe wie die vorherige Zeichenfläche hat, dann auf dieser Zeichenfläche platziert und automatisch in der Größe angepasst.

Gibt es eine Problemumgehung dafür, bei der kein gefälschtes Dokument mit der Zeichenflächengröße von geöffnet und dann dieses Dokument und das tatsächliche svgDokument geschlossen werden ?File > Opensvg

Hinweis: Ich möchte das SVG aus Illustrator nicht mit der Option „Illustrator-Bearbeitungsfunktionen beibehalten“ im Dialogfeld „Als SVG speichern“ speichern.

Sie können dies mit jedem SVG testen, aber hier ist ein supereinfaches mit 320 x 240:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     viewBox="0 0 320 240" enable-background="new 0 0 320 240" xml:space="preserve">
<rect width="320" height="240"/>
<text transform="matrix(1 0 0 1 98.6523 133)" fill="#FFFFFF" font-family="'ArialMT'" font-size="48">Why?</text>
</svg>
Sie könnten die Problemumgehung skripten, in diesem Fall würde sie dem Benutzer nicht als Problemumgehung angezeigt. In der Tat würde jeder Programmierer, sogar Core-Entwickler, dies auf diese Weise tun, daher ist es zu diesem Zeitpunkt wahrscheinlich keine Problemumgehung.
Danke @joojaa, so gehen wir das derzeit an. Nur überrascht, dass Illustrator die viewBox-Größe im SVG nicht sieht.

Antworten (2)

Ich habe eine Art Lösung dafür gefunden. Wenn Sie Ihr SVG aus Illustrator speichern, müssen Sie die Option „responsive“ deaktivieren.

Illustrator kümmert sich nicht um die viewBox-Eigenschaft, sondern um die Breiten-/Höheneigenschaften. Wenn "responsiv" aktiviert ist, hat das SVG-Element diese Eigenschaften nicht und wird daher beim erneuten Öffnen des SVG nicht berücksichtigt.

Ich weiß, dass dies nicht genau die Antwort ist, die Sie wollen, aber ich arbeite hauptsächlich mit SVG, was seine Verwendung mit Illustrator einschränkt, da Sie problemlos direkt mit Text arbeiten können. Illustrator fügt eine Menge unsinnigen Code hinzu, den ich lieber nicht in meinen SVG-Dateien haben möchte. Ich verwende ihn nur, wenn ich einen "Pfad" formen muss, den ich verwenden muss.

Meine 2 Cent: Zunächst einmal hilft eine anständige Viewbox-Nummer beim Umgang mit SVG-Elementen sehr. Vielleicht möchten Sie also eine Viewbox haben, die eher quadratisch als rechteckig ist, etwa "0 0 32 32" oder "0 0 100 100", damit Sie das SVG-Element verschieben und die Größe ändern können, indem Sie einfach das SVG über einen Texteditor ändern anstatt von Illustrator.

Auch wenn Sie die Größe des Elements nur in der Höhe ändern, wird es immer noch durch seine maximale Breite begrenzt. Das Arbeiten im Quadrat als Metrik ist einfacher.

1) Erstellen Sie ein leeres Feld über einen Texteditor mit dem Wert "0 0 100 100" (das wird Ihre Standarddatei sein, die Sie von nun an öffnen werden). Denken Sie daran, es mit der Erweiterung .svg zu speichern.

2) Vermeiden Sie die Verwendung von echten Textschriften in einer Illustrator-Datei, "erweitern" Sie sie so, dass sie Vektoren sind und problemlos in der Größe geändert werden können (wenn das Betriebssystem diese Schriftart nicht hat, wird es eine Schriftart des Systems rendern). .

3) Öffnen Sie die Datei im Illustrator, kopieren Sie Ihre Arbeit und fügen Sie sie ein. Gruppieren Sie die Elemente und passen Sie das Objekt an die Zeichenfläche an (nicht umgekehrt). Sie können es auf verschiedene Arten tun, wichtig ist, dass Sie die Proportionen aller Elemente beibehalten.

Verwenden Sie von und jetzt und immer die erstellte Datei, um alle gewünschten Formen in diesen „0 0 100 100“-Anteil einzufügen. Es spielt keine Rolle, ob Sie ein rechteckiges Element in eine Leinwand mit viel Leerraum einfügen, wenn Sie im Internet eine SVG-Datei verlinken, wird dieser weiße Raum der Leinwand transparent sein, da er nicht wirklich vorhanden ist.

Bonus: Verwenden Sie https://jakearchibald.github.io/svgomg/ , um den Pfad Ihres SVG zum wesentlichen Text zu vereinfachen.