Na základě častých požadavků zákazníků se momentálně zabývám možností exportu PDF dokumentů z flashových aplikací. Nejjednodušší cesta je přímý tisk do PDF, ovšem jsou zde jistá omezení, především v rozlišení bitmapových objektů. Ideálním řešením se jeví MARS projekt, který umožňuje pomocí XML dokumentu popsat strukturu PDF dokumentu, který se následně vygeneruje pomocí pluginu v Acrobat Readeru.  Vše je ale nutné předem připravit jako ZIP archiv, což s ActionScriptem 3.0 není žádný problém. Metoda compress u ByteArray třídy nám to umožňuje. Jejích možností využívá aszip knihovna, díky které snadno vytvoříme ZIP archiv přímo ve flashové aplikaci. S využitím flashplayeru 10 pak nabídneme uživateli jeho přímé stažení. Podrobnější článek vyjde příští týden na flash.cz, zatím tedy krátká ukázka:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Script>
    <![CDATA[
        import org.aszip.saving.Method;
        import org.aszip.zip.ASZip;
        import mx.graphics.ImageSnapshot;
        private function saveZIP():void{
            var f_ref:FileReference = new FileReference();
            var png_snapshot:ImageSnapshot = ImageSnapshot.captureImage(comp);
            var zip:ASZip = new ASZip();
            zip.addDirectory("imgs");
            zip.addFile(png_snapshot.data,"imgs/img.png");
            f_ref.save(zip.saveZIP(Method.LOCAL),"archiv.zip");
        }
    ]]>
</mx:Script>
    <mx:Button click="saveZIP()" label="Uložit jako PNG v ZIPu"/>
    <mx:RichTextEditor id="comp" height="200" width="350">
    </mx:RichTextEditor>
</mx:Application>