Hallo, zusammen!
Neulich stieß ich auf ein Problem bei Benutzung des ESTKs CS5 und CS5.5 in Verbindung mit InDesign. Andere Scripter sind auch schon darauf aufmerksam geworden:
http://forums.adobe.com/message/3147388#3147388 Bug or change in CS5 Extendscript Toolkit debugger or parser (Beitrag vom 20.09.2010)
Der Bug ist auch in CS5.5 noch nicht behoben.
Bug-Beschreibung (soweit ich das verstanden habe und durch eigene Tests untermauern konnte):
Der "contents" eines Objekts (bei mir Tabellenzellen) wird falsch ausgelesen. Es entsteht ein Konstrukt, das aus "
<![CDATA[" (o.ä.) plus dem eigentlichen Zelleninhalt besteht! (Siehe auch angehängten Screenshot.)
Anbei nun eine kleine Testdatei und ein Script, das diesen Bug provoziert.
Dazu noch diverse Versuche diesen Fehler zu beheben, indem ich dem ausgelesenen Contents einen weiteren String voranstelle.
Dies klappt nur unter bestimmten Voraussetzungen. Um mit den Ergebnissen weiterzuarbeiten (z.B. in einem Array) sollte der Hilfsstring wieder entfernt werden…
Im Anhang also eine IDML-Datei mit einem einfachen Textrahmen, der eine einfache Tabelle, deren Zelleninhalte ausgelesen werden sollen und per $.writeln() in die Konsole des ESTK geschrieben werden.
Ein Wort der Warnung: Wird der Bug ausgelöst, nützt es auch nichts das Script in InDesign CS5 oder CS5.5 zu starten, der Bug bleibt bestehen; hat sich also in der Scripting-Engine festgesetzt. Um "reinen Tisch" zu machen, sollte das ESTK und auch InDesign neu gestartet werden.
Der Fehler tritt nicht in ESTK/InDesign CS3 oder CS4 auf! Gibt es noch andere Workarounds als
1. das ESTK nicht zu benutzen?
2. mit einem Hilfsstring zu arbeiten?
MacBook Pro 2.4GHz | OS X 10.5.8 | Adobe CS3/CS4/CS5/CS5.5 Design Premium