# Monday, August 20, 2007
« dasBlog 2.0 | Main | Firefox Add-on NoScript »

Innerhalb der Acrobat Welt gibt es einige Integrations-Technologien von Adobe: Für die PDF Erzeugung ist die teure, exklusive PDF Library sicher am Besten geeignet und Plug-Ins schreibt man eher mit der Acrobat SDK in C. Für Interaktionen und einfache Automatisierungen im PDF Dokument ist JavaScript gedacht.

Eine standardisierte Skriptsprache (ECMA) auf dem Niveau von JavaScript ist sicher besser als zum Beispiel VBA (Visual Basic for Applications), mit dem man in Microsoft Office seit Jahrzehnten (ab 1995) seine Makros bastelt. Adobe hat eine dynamische, objektorientierte und modernere Sprache gewählt. Aber manches ist bei VBA besser gewesen.

Ich weiß jetzt nicht mehr, wann ich das erste mal den Microsoft VBA Editor geöffnet hatte. Es ist sehr lange her,  aber IntelliSense war damals schon vorhanden. Auch war der Code in Abhängigkeit von seiner Eigenschaft farbig markiert. Syntax highlighting nennt man das im Englischen. Was hat Adobe da zu bieten?

Acrobat JavaScript Editor

So sieht also der JavaScript Edit in Acrobat aus. Ganze 3 Buttons, farbloser Text, keinerlei Code Unterstützung und auch keine kontextsensitiven Menüs. Zum Glück kann man in den Eigenschaften einen externen Editor angeben. Am Besten einen, der JavaScript kennt.

Ohne externen Editor geht es bei längerem Code auch gar nicht mehr:

Adobe Acrobat Error

Nun quält der Microsoft Visual Studio verwöhnte Entwickler sein JavaScript irgendwie in die PDF Datei und macht dabei einen Fehler. Fehler machen gehört dazu, der Debugger hoffentlich auch.

Acrobat JavaScript Debugger

Das ist im Vergleich zum Editor jetzt fast schon eine überladene Benutzeroberfläche. Oben links finden sich die Buttons zur Ablaufsteuerung: Resume Execution, Interrupt, Quit, Step over, Step into, Step out

Dazu gibt es keine mir bekannten Hotkeys. Also fleißig mit der Maus die kleinen Knöpfchen angepeilt. Ist man an einer interessanten Stelle im Code angelangt, will man natürlich in das Code Fenster wechseln. Wer versucht mit Tabulator-Taste das aktive Steuerelement zu wechseln ist natürlich zu sehr von einem Windows Standard geblendet. Dieser Dialog will die Maus bewegt sehen!

Aber jetzt kommt der Clou! Zwischen dem aktuellen Skript und den obigen Buttons liegt ein Fenster mit der Skript Hierarchie:

Adobe_JavaScript_Debugger

Na gut, so ist das nun mal, irgendwo muss die Maus ja immer drüber. Denkste! Das Steuerelement im rot markierten Bereich hat Hot Tracking aktiviert. Die bloße Berührung mit dem Mauszeiger lässt den Code an die entsprechende Stelle springen. Weg ist der Kontext. Also die Übung wiederholen und diesmal die Maus im weiten Bogen bewegen. Na also geht doch!

Acrobat_Debugger_LineColumn

Im unteren Teil werden zwei Textboxen und einmal die aktuelle Zeile und Spalte angezeigt. Aber Vorsicht, die Anzeige gehört nur zur unteren Textbox, zur Console. Die aktuelle Zeile im Script-Fenster muss man selber zählen. Wer gut im Raten ist, kann auch das kleine Gitter # anklicken und zu einer Zeilennummer springen.

Puh! Diese kleine Lästerei musste jetzt sein. Das Nervenkostüm und die Produktivität leidet in der Adobe Welt aus meiner Sicht sehr. Ich erwarte ja keine Visual Studio oder Eclipse Umgebung, aber diesen Dialog verwendet Adobe-Intern sicher niemand. Heute will man doch eigentlich in der eigenen Infrastruktur externe Entwickler fördern. Das ist gut für das Hauptprodukt. Microsoft ist da meines Erachtens ein paar Schritte weiter.

Comments are closed.