Ersetzen einer Schriftart in vielen Illustrator-Dateien

7

Ich habe mehrere hundert Illustrator-Dateien, die ähnlich formatiert sind, und aus rechtlichen Gründen muss ich in allen eine Schriftart ersetzen. Selbst mit dem Tool "Schriftart suchen" können verdammt viele Schriftarten von Hand ersetzt werden.

Gibt es eine Möglichkeit, dies zu automatisieren? Zum Beispiel mit Bridge? Illustrator (CS5) bietet in Bridge im Vergleich zu den von Photoshop angebotenen Automatisierungsoptionen nicht viele Optionen. Ich sehe auch keine Option zum Ausführen von Aktionen für mehrere Illustrator-Dateien.

Außerdem scheint das Erstellen einer wiederholbaren Aktion zum Ersetzen der Schriftart nicht zu funktionieren: Anstatt meine Aktion zu wiederholen, wird das Dialogfeld geöffnet und darauf gewartet, dass ich es anweise, um sie zu ersetzen.

Als Programmierer bin ich bereit, die Dateien direkt zu bearbeiten, wenn dies möglich ist, ohne sie zu beschädigen.


Update: Mit dem Menüpunkt "Stapel ..." im Aktionsbedienfeld von Illustrator kann dieselbe Aktion für einen Ordner mit Dateien ausgeführt werden. Die Aktion "Schriftarten suchen", die auf die Eingabe wartet, wird jedoch nicht behoben. Durch Deaktivieren des Dialogs wird die Aktion überhaupt nicht ausgeführt.

Marcus Downing
quelle

Antworten:

4

Sie könnten einen Blick auf die Skripterstellung werfen.

Dieser Link führt zu den Adobe-Foren mit einer Diskussion zu Skripten zum Ändern von Schriftarten in Illustrator CS4. Dieselben Skripte sollten in CS5 oder CS6 funktionieren.

Illustrator Scripting Reference (hier klicken)

Scott
quelle
Ich hatte keine Ahnung, dass Sie mit Javascript Adobe-Apps steuern können. Ich wusste über das AppleScript-Äquivalent Bescheid und fing an, einen der Macs im Büro zu diesem Zweck zu beobachten.
Marcus Downing
1
Okay, dafür gibt es einen guten Grund. Es ist wirklich schlecht dokumentiert.
Marcus Downing
Ich nehme an, Sie haben hier gesucht: adobe.com/devnet/illustrator/scripting.html
Scott
Ja, aber das ist eine ziemlich grobe Dokumentation im Vergleich zu vielen modernen Sprachen. Es hat viel Versuch und Irrtum gekostet, aber dieser Ansatz beginnt für mich zu funktionieren - er ersetzt Schriftarten. Ich werde das komplette Skript veröffentlichen, wenn ich fertig bin.
Marcus Downing
Ich habe Ihre Antwort akzeptiert, aber eine eigene Antwort mit der detaillierten Lösung hinzugefügt, die ich ausgearbeitet habe.
Marcus Downing
6

Die Verwendung von Aktionen kann hilfreich sein und ist eine gute Strategie, wenn Sie sie zum Laufen bringen können (Ausführen mehrerer Befehle zum Suchen von Schriftarten für alle verschiedenen Schriftstile).


Eine andere Methode, wenn Sie ein Spiel sind, ist die Verwendung eines Texteditors zum Bearbeiten der Dokumente. Es ist etwas riskanter, könnte aber sicherlich in sehr kurzer Zeit Tausende von Dokumenten durchblasen.

Hier sind einige Schritte, mit denen Sie beginnen können.

  1. Duplizieren Sie alle Dokumente, die Sie bearbeiten möchten. Ich kann das nicht genug betonen ... es besteht eine sehr gute Chance, dass Sie ernsthaften Schaden anrichten, wenn Sie nicht vorsichtig sind, also möchten Sie an Kopien arbeiten.

  2. Abhängig vom verwendeten Texteditor müssen Sie möglicherweise alle Dateien in .txt und nicht in .ai umbenennen. Wenn Sie OS X verwenden, kann die kostenlose Automator-App von Apple dies tun (sie befindet sich bereits in Ihrem Anwendungsordner). Die gewünschte Automator-Aktion ist Rename Finder Items.

  3. Öffnen Sie eines der Dokumente in einem guten Texteditor, der Dokumente suchen und ersetzen kann. Sie werden wahrscheinlich etwas wie BBEdit, Coda, Espresso, TextMate oder einen ähnlichen Editor für die Programmierung wollen. Ich benutze normalerweise Code für diese Art von Dingen.

  4. Suchen Sie die Codeteile, die die Schriftartinformationen enthalten. Adobe Illustrator .ai-Dateien enthalten XML, das Sie wahrscheinlich ändern möchten. Daher sollte es ziemlich einfach sein, mit ihnen zu arbeiten. Ich habe gerade ein Dokument mit einem Text darin gespeichert. Hier ist ein Teil des XML in meinem Dokument, das die Schriftart anzeigt (möglicherweise müssen Sie mehrere Stellen ändern).

 <rdf:li rdf:parseType="Resource">
    <stFnt:fontName>MyriadPro-Regular</stFnt:fontName>
    <stFnt:fontFamily>Myriad Pro</stFnt:fontFamily>
    <stFnt:fontFace>Regular</stFnt:fontFace>
    <stFnt:fontType>Open Type</stFnt:fontType>
    <stFnt:versionString>Version 2.006;PS 002.000;Core 1.0.38;makeotf.lib1.6.6565</stFnt:versionString>
    <stFnt:composite>False</stFnt:composite>
    <stFnt:fontFileName>MyriadPro-Regular.otf</stFnt:fontFileName>
 </rdf:li>

  1. Benennen Sie alle Ihre Dateien wieder in .ai um.

Sie müssen viel experimentieren. Sie möchten wahrscheinlich ein Dokument bearbeiten, um zu sehen, wie das Vorher-Nachher-Dokument aussieht, und dann versuchen, es mit einer oder mehreren Such- und Ersetzungsaktionen zu automatisieren.

Sobald es funktioniert hat, können Sie es auf alle Ihre Dateien anwenden (denken Sie daran, auf den Kopien nicht die Originaldateien!).

Wird das funktionieren? Lohnt sich deine Zeit? Vielleicht ja vielleicht nein. Es hängt davon ab, ob Sie dies regelmäßig tun müssen, wie gut Sie mit der Methode vertraut sind und wie viele Dateien Sie haben.

Bitte beachten Sie, dass durch das Ändern der Schriftart wahrscheinlich Elemente verschoben werden und der Text möglicherweise erheblich zurückfließt.

Marc Edwards
quelle
1
Ich selbst mag Sublime Text 2 .
Marcus Downing
1
"Es hängt davon ab, ob Sie dies regelmäßig tun müssen, wie gut Sie mit der Methode vertraut sind und wie viele Dateien Sie haben." - Ich bin mit einem Text-Find-Replace zufrieden, ja. Ich sollte dies nur einmal tun müssen, aber es betrifft viele Dateien.
Marcus Downing
1
"Adobe Illustrator .ai-Dateien sind XML" - Nicht ganz, es handelt sich um ein Postscript-Derivat, in dessen Header XML eingebettet ist.
Marcus Downing
@MarcusDowning Danke für die Klarstellung. Ich werde die Antwort so bearbeiten, dass sie Ihrem Kommentar entspricht. Sie haben Recht, AI PDF (.ai) -Dateien scheinen nicht nur XML zu sein. Ich denke, Sie könnten auch als EPS speichern (auch nicht XML!).
Marc Edwards
Ich würde gerne wissen, wie du damit umgehst, weil ich es nicht selbst gemacht habe ... Ich dachte nur, dass es möglich sein sollte, wenn man bedenkt, wonach du suchst.
Marc Edwards
4

Um die akzeptierte Antwort zu erweitern, hier einige Skripte, die ich für diese Aufgabe ausgearbeitet habe.

Verwenden Sie das erste Skript, um den genauen Namen der verwendeten Schriftarten abzurufen. Bearbeiten Sie dann das Array oben im zweiten Skript mit den Namen der Schriftarten, die Sie ersetzen möchten.

var substitutions = [
  ['BellGothic BT', 'Bold',         'Roboto', 'Condensed'],
  ['BellGothic Blk BT', 'Black',    'Roboto', 'Bold Condensed'],
];

Beachten Sie, dass diese Skripte in großen Ordnern möglicherweise lange dauern.

Marcus Downing
quelle
0

In Illustrator CC können Sie dies einfach tun, indem Sie auf Typ> Schriftart suchen gehen. Wählen Sie aus, welche Schriftarten durch welche ersetzt werden sollen.

Geben Sie hier die Bildbeschreibung ein

das hat bei mir funktioniert.

Abeer Sul
quelle
1
Dies funktioniert für ein einzelnes Dokument, nicht für mehrere Dateien. Sie müssten dies immer und immer wieder für jede Datei tun, die Sie adressieren müssen. Aus diesem Grund ist Scripting wahrscheinlich eine bessere Lösung.
Scott