Zum Inhalt springen

Eine Textdatei mit Javascript für Mac und Win

Tipp: Eine Textdatei mit Javascript schreiben, die unter macOS und Windows lesbar ist.

(Info:) Wie Sie eine Textdatei mit Javascript für Mac und Win schreiben, dass diese in beiden Betriebssystemen ohne (Umlaut-)Probleme gelesen werden kann, erfahren Sie in diesem kurzen Tutorial von Null auf …. Dies können Sie in Adobe Photoshop CC, Illustrator, InDesign und anderen Adobe Programmen nutzen.

(Frage:) Was ist das Problem beim Schreiben einer Textdatei durch ein Javascript?

(Antwort:) Der Javascript-Befehl »file.writeln(vString)« schreibt den Inhalt der Variable »vString« in eine Textdatei im ASCII-Code. Solange diese Textdatei im gleichen Betriebssystem geöffnet, wie sie erstellt wurde, gibt es keine Problem. Jedoch wechselt man von (Mac:) macOS zu (Win:) Windows oder umgekehrt, dann werden die Umlaute und andere Sonderzeichen falsch dargestellt.

(Hilfe:) Sie wollen oder können nicht selbst programmieren? Sie brauchen kurzfristig ein Javascript für eine Automatisierung für ein aktuelles Problem in Illustrator oder einem anderen Adobe Programm? Dann helfe ich Ihnen gerne als JavaScript-Entwickler mit meiner jahrzehntelang Programiererfahrung.
Schreiben Sie mir einfach und unverbindlich per Kontaktformular.

Die Lösung für beide Betriebssysteme (Mac:) und (Win:)

Um eine Textdatei mit Javascript für Mac und Win zu schreiben, die in beiden Betriebssystemen ohne (Umlaut-)Probleme gelesen werden kann, braucht es nur eine zusätzliche Zeile. Fügen Sie den Befehl »file.encoding = 'UTF8';« ein und der Text wird statt in ASCII in UTF-8 geschrieben.

So könnte dann das Javascript (Ausschnitt) aussehen:

var vNewPath = Folder.myDocuments + "/" + pFileName; // (1)
var file = File(vNewPath); // (2)
vString = "Protokoll: Test ä, ö, ü und Ä, Ö, Ü …"; // (3)
file.encoding = 'UTF8'; // (4)
file.open("w"); // (5)
file.writeln(vString); // (6)
file.close(); // (7)

(1:) Erst definieren Sie als Ziel eine Datei (pFileName), dessen Endung ».txt« sein sollte und die im Ordner »Dokumente« gespeichert werden soll.

(2:) Verwandeln Sie denn den Pfad (Ordner und Dateinamen) in eine Variable für das Lesen und Schreiben von Dateien.

(3:) Die Variable »vString« soll den Inhalt der Textdatei enthalten. Hier mit einigen Umlauten zum Testen.

(4:) Hier dann der entscheidende Befehl: Die Kodierung wird auf »UTF-8« gesetzt. Die Schreibweise ohne Bindestich ist in JavaScript korrekt.

(5:) Öffen die Datei zum Schreiben.

(6:) Schreibe den Inhalt der Variable »vString« in die Datei.

(7:) Zuletzt schließen Sie die Datei.

So können Sie das Umlautproblem leicht umgehen. Neben Textdateien (.txt) kann dieser Trick auch für JSON-Dateien (.json) verwendet werden.

ENDE


(Hilfe:) Wenn Sie eine Funktion zum Automatisieren in (AI:), (PS:), (IC:), (ID:) oder (FM:) benötigen, jedoch nicht selbst programmieren, dann sprechen Sie mich an. Ich übernehme gerne kleine Aufträge: zum Kontaktformular.