Acrobat meets Flash
Der Vormarsch von Flash lässt sich nicht mehr aufhalten, neben der gelungenen Transformation vom Browser auf den Desktop (Adobe AIR), lässt sich Actionscript nun auch nativ in PDF Dateien (ab Version 9) ausführen.
Um die Neuigkeiten unter Entwicklern und Benutzern zu verbreiten, haben die netten Leute bei Adobe einen Contest ins Leben gerufen, bei dem Flash- / Flex-Entwickler die Chance hatten, mit den neuen Möglichkeiten zu experimentiern und interessante Anwendungen zu basteln.
Bevor ich ins Detail zur Entwicklung gehe, möchte ich vorab erstmal zeigen, was man damit machen kann:
Als erstes muss man sich bei Adobe die aktuelle Acrobat Version installieren.
Auf der Seite werden auch gleich viele der Features vorgestellt, ich empfehle für ein eindrucksvolles Beispiel, diese PDF Datei herunterzuladen und mal etwas damit rumzuspielen, ziemlich beeindruckend was da mittlerweile möglich ist.
Hier ist ein Beispiel-Portfolio, das ich mit meiner “Komponente” erstellt habe.
Das sind wirklich spannende Zeiten für Flasher / Flexer, die Aufgabengebiete wachsen wirklich rasant, auch wenn es erfahrungsgemäß sicherlich etwas dauern wird, bis sich Auftraggeber mit den neuen Technologien vertraut gemacht haben und sich coole Projekte ausknobeln, die unsereins dann umsetzen könnte.
Daher ist meiner Meinung nach jetzt der richtige Zeitpunkt sich mit diesen neuen Themen auseinander zu setzen und sich Gedanken zu machen, was man alles damit anstellen kann
.nav Datei
Die Aufgabe im Contest war, eine .nav Datei zu entwickeln, diese kann man sich als Template zur Erstellung von eigenen Flash-basierten PDFs vorstellen - sehen kann man diese Templates, wenn man in Acrobat Professional 9 (als Trial herunterladbar) auf “Assemble PDF Portfolio” klickt.
Dabei handelt es sich vereinfacht gesagt um ein umbenanntes .zip Archiv, welches, neben dem in Actionscript geschriebenen Moduls, verschiedene Dateien zur Konfiguration des Templates beeinhaltet.
Entwicklung
Ohne hier zu sehr ins Detail zu gehen, möchte ich einige Tipps geben, die mir die Arbeit etwas erleichtert haben. Die Entwicklung ist nicht gerade trivial, was aber eher an der Schwierigkeit liegt, das Projekt als .nav Datei zu konvertieren, da hier einige Stolperfallen auftauchen.
Generell kann man in der Flash IDE arbeiten, aus Gründen der Komfortabilität wird aber der Flex Builder empfohlen, dem kann ich mich nur anschliessen.
Um einen Einstieg in die Entwicklung zu bekommen, empfehle ich diesen sehr guten Blog eines Adobe Entwicklers, dort gibt es einige Video-Tutorials die sehr essentiell für den Anfang sind.
Der Actionscript-Part für die Erstellung eines Modules ist nicht anders als man es kennt, man fängt damit an ein neues Projekt anzulegen und dort unter “libs” bzw. über den “Build Path” eine kompilierte Library (”AcrobatAPI.swc”) zu integrieren, welche die API für die Zusammenarbeit zwischen Actionscript und Acrobat ist.
Ich habe mit Flex-Modules noch nicht viel gemacht und mich beim kompilieren erstmal gewundert, dass ich nie etwas zu sehen bekam außer einem leeren Browser-Fenster. Nach etwas Recherche wurde klar, dass Modules nur angezeigt werden, wenn sie über einen ModuleLoader geladen werden. Dies erschien mir sinnvoll aber umständlich, also hab ich mir die Sache einfach gemacht und während der Entwicklung mit dem normalen mx:Application Tag gearbeitet, so dass ich sehen konnte was passiert und für die Integration in die .nav Datei dann umgestellt auf mx:Module.
Das hört sich verwirrend an, ist aber ganz easy, hier ein Beispiel:
<!– Während der Entwicklung –>
<mx:Application
xmlns:mx=”http://www.adobe.com/2006/mxml”
layout=”absolute”
creationComplete=”go()”
width=”100%” height=”100%”>
<!– Für Acrobat als Module –>
<mx:Module
xmlns:mx=”http://www.adobe.com/2006/mxml”
implements=”acrobat.collection.INavigator”
height=”100%”
width=”100%”
horizontalScrollPolicy=”off”
verticalScrollPolicy=”off”
creationComplete=”go()”>
Das hilft leider nur bedingt, da die meisten der neuen Funktionen nur laufen, wenn das Modul im PDF Container läuft (ich gehe jetzt hier mal noch nicht auf den Zugriff von Dateien innerhalb des PDF Kontextes ein, das ist alles nochmal einen ganzen Zacken vertrackter)…
Mir als eingefleischtem Mac-Nutzer wurde die Arbeit leider erschwert, da es noch keine Trial Version von Acrobat Professional 9 für den Mac gibt. Zum Glück hab ich aber noch einen eingestaubten PC rumstehen, auf dem die Trial läuft. So hab ich am Mac entwickelt und dann am PC die .nav Datei zusammengestellt, was ein wenig nervig war ![]()
Es ist aber sicher nur eine Frage der Zeit, bis Adobe die Mac Version nachliefert, in der Hinsicht sind sie ja zum Glück vorbildlich.
Soweit erstmal, ich hoffe das hilft dem einen oder anderen, hier nochmal meine Datei.
Comments
One Response to “Acrobat meets Flash”
Leave a Reply
[...] Portfoliofunktion des Acrobat Readers so möglich ist. Auf Christians Webseite kann man sich die Dokumentation seiner Einreichung ansehen und noch ein paar hilfreiche Tipps zur Einbettung von Flex in ein PDF [...]