Einbetten von Daten in Illustrator-Objekte

Ich versuche, Illustrator zu verwenden, um verschiedenen Elementen (Gruppen, Pfade usw.) Zeichenfolgen oder numerische Daten hinzuzufügen.

Gibt es eine Möglichkeit, dies in Illustrator zu tun?

Mit Inkscape kann ich den XML-Editor verwenden, es ist ein bisschen umständlich, aber es ist einfach und es ist möglich.

Geben Sie hier die Bildbeschreibung ein

wird darin enden, dass...

Geben Sie hier die Bildbeschreibung ein

Hallo Daniel, willkommen bei GDSE und danke für deine Frage. Wenn Sie mehr über die Website erfahren möchten, besuchen Sie bitte das Hilfezentrum oder pingen Sie einen von uns im Grafikdesign-Chat an , sobald Ihr Ruf ausreichend ist (20). Tragen Sie weiter bei und genießen Sie die Seite!

Antworten (1)

Leider ist InkScape in dieser Hinsicht viel weiter fortgeschritten als Illustrator. Nach meinem derzeitigen Verständnis gibt es drei Möglichkeiten, dass einer Kunstform Zeichenfolgendaten angehängt werden können. Keiner von ihnen löst Ihre Frage gut oder fast so gut wie InkScape.

  1. Die Eingabe eines benutzerdefinierten Namens im Ebenenbedienfeld für das Kunstelement führt zu einem ID- Attribut. Es ist jedoch nicht alles in Ordnung, da Illustrator einige Zeichen ohne eine höfliche Warnung für Sie konvertiert. Beispiel: Ein Kunstname von „My_Rect“ führte zu einer ID von „My_x5F_Rect“.
  2. Wenn Sie die Funktion „Image Map“ des Bedienfelds „Attribute“ verwenden, um eine URL-Zeichenfolge einzugeben, wird die Grafikform in ein Anker-Tag eingeschlossen, und die Zeichenfolge wird als xlink:href-Attribut dieses Anker-Tags angezeigt.
  3. Mit dem SVG-Interaktivitätsbereich ist es möglich, einige Teile von Javascript einzuschreiben und sie so auszuführen, dass Ihr benutzerdefiniertes Attribut über Javascript angehängt wird, wenn diese Datei in einem Browser geöffnet wird. Obwohl dies tatsächlich die beste Problemumgehung ("beste" hier als relativer Begriff verwendet) wäre, um eine benutzerdefinierte Datenzeichenfolge aus der Illustrator-Benutzeroberfläche hinzuzufügen, wäre sicherlich Javascript erforderlich. Obwohl dies der Fall ist, bietet es jedoch eine Möglichkeit, die benutzerdefinierte Zeichenfolge über die Illustrator-Benutzeroberfläche hinzuzufügen, und es liegt durchaus im Bereich der Möglichkeit, dass ein Post-Export-Skript irgendeiner Art den SVG-Text durchläuft und sich ändert den Text, um die gewünschte Zeichenfolge und den Attributnamen aus dem von Ihnen gewählten Format herauszuziehen und sie als echte Attribute zu platzieren.

Hier ist zum Beispiel ein Fall, in dem ich ein Rechteck erstellt und ihm diese Funktion über das SVG-Interaktivitätsfeld zugewiesen habe: addAttr({data_id : "my-data-id"})Die Idee ist, dass es eine Javascript-Datei gibt, die in dieses Dokument aufgenommen werden soll, und es wird eine Funktion haben, die diese Zeichenfolge als hinzufügt dieses Attribut zu dieser Form, wenn das Laden auftritt. (Ich habe das Ereignis „onload“ aus der Dropdown-Liste des Panels ausgewählt.) Aber in diesem Fall würde es tatsächlich als klebrige temporäre Unterbringung für die benutzerdefinierten Saiten dienen. Und das ist das resultierende SVG:

<rect id="My_x5F_Rect" x="270.1" y="55.2" onload="addAttr({data_id : &quot;my-data-id&quot;})" fill="#90FFFF" stroke="#000000" stroke-miterlimit="10" width="213.3" height="213.3"/>

Wie Sie sehen können, wurden die Anführungszeichen auch in HTML-Entitäten konvertiert, weil es einfach so hilfreich ist. Wenn Sie also wirklich müssen, können Sie das exportierte SVG nehmen und ein Skript verwenden oder sogar suchen und durch reguläre Ausdrücke ersetzen, um den Text durchzugehen und in That's it, that's all I got zu wechseln :( Und ja, das könnten addAttr({data_id : "my-data-id"})sie data_id="my-data-id"absolut stehen, um der KI einige echte SVG-Funktionen hinzuzufügen.

Oh, was sage ich.
Ich suche nach einem Plugin oder einer Erweiterung, aber ich befürchte, dass der Illustrator diese Daten nicht speichern und abrufen kann, es sei denn, dies geschieht auf eine hackige Weise, wie ein unsichtbares Textfeld. Ich habe dieses Plugin gesehen: hotdoor.com/controlfreak/arttags , das etwas Ähnliches tut, aber ich glaube nicht, dass es etwas exportiert.
Wenn ich mir die Art-Tags ansehe, wette ich, dass es das Illustrator Scripting Tag verwendet, ein Datenelement, das an die Kunst angehängt werden kann, aber nur über die Skript-API. Dieses "Tag" dient nur zum Arbeiten in Illustrator und hat meines Wissens keinen Einfluss auf den Export. Darüber hinaus müssen die Tags von der Skript-API geschrieben und gelesen werden, sodass sie nur für die Verwendung mit Illustrator und speziell für benutzerdefinierte Erweiterungen/Skripts vorgesehen sind. Können Sie Ihre gewünschte Erweiterung beschreiben?
Ich stelle mir vor, ein Panel zu haben, das Variablen auflistet und die Möglichkeit hinzufügt, ein Element hinzuzufügen, zu entfernen und zu bearbeiten. Wenn ich ein einzelnes Objekt (oder eine Gruppe) auswähle, zeigt das Bedienfeld die Elemente an. Ähnlich wie Inkscape, aber benutzerfreundlicher (spezifisch für diese Anforderung). Außerdem wäre es schön, eine Option zu haben, um die Sichtbarkeit umzuschalten und die Werte als Text anzuzeigen, um die Überprüfung der Werte zu vereinfachen. Beim Export würde das Plugin die Tags als Attribute der einzelnen Objekte einbetten. Der Arbeitsaufwand dafür scheint jedoch ziemlich unangemessen, also kann ich einfach Inkscape verwenden. Ich kann es vielleicht einfacher verlängern.
Es klingt möglich, aber der SVG-Export ist ein Problem. Obwohl ich zustimmen würde, dass es eine ziemlich unangemessene Menge an Arbeit ist, könnte es immer noch durch alberneres Hacken erledigt werden, indem die Tags und ein Anzeigefeld verwendet werden, um die Daten anzuzeigen und zu bearbeiten, und auch Ihre Erweiterung entweder das SVG explizit über eine Schaltfläche exportieren , oder irgendwie ein Speicherereignis erkennen, um die Datei sofort wieder als Text zu öffnen und die ID-Attribute durch benutzerdefinierte Daten zu finden/ersetzen. Die Grafik mit Tags kann durch das Skript mit angehängtem Sonderzeichen temporär benannt werden, und das Suchen/Ersetzen kann danach suchen. Aber ich mag den AI-Export nicht.