Frage

Ist es möglich PDF-Dokumente zu erzeugen in einer Adobe AIR-Anwendung ohne Rückgriff auf eine round-trip-web-service für die Generierung der PDF-Datei?Ich habe die ursprüngliche Flex-Berichte auf GoogleCode, aber es erfordert eine round-trip-für die Generierung der eigentlichen PDF-Datei.

Da LUFT ist, soll die Desktop-Ende für den RIAs gibt es eine Möglichkeit, dies zu erreichen?Ich vermute, ich bin mit Blick auf etwas, aber meine Suche durch die Dokumentation nicht zu viel verraten und angesichts der Gegner nach LUFT, ich kann nicht glauben, dass es ist einfach etwas, das Sie nicht gehören.

War es hilfreich?

Lösung

Es gibt AlivePDF,, das ist eine PDF Generierung Bibliothek für ActionScript-Code, der funktionieren sollte, es wurde nur für die situation, die Sie beschreiben.

Andere Tipps

Gerade Hinzugefügt, Adobe Air + Javascript + AlivePDF demo:

Diese demo nicht benötigen flex und ist ziemlich straight-forward.

http://www.drybydesign.com/2010/02/26/adobe-air-alivepdf-without-flex/

Einer der anderen teams, in denen ich arbeite, arbeitet an einer Flex-basierten Zeichnung Anwendung, und Sie waren völlig überrascht, dass AIR / Flex nicht PDF-authoring-gebaut-in.Sie landete Rollen Sie Ihre eigenen einfache PDF creator, basierend auf der PDF-Spezifikation.

Ja, es ist sehr einfach zu erstellen-PDF-Datei mit AlivePDF, hier ist der Beispielcode, erste Methode, die eine pdf-Datei erstellen und zweite Methode speichern Sie die pdf-Datei auf der Festplatte und die Rückgabe der Pfad, fühlen Sie sich frei um jede Frage zu stellen.

public function createFlexPdf() : String
{
    pdf = new PDF();
    pdf.setDisplayMode (Display.FULL_WIDTH,Layout.ONE_COLUMN,Mode.FIT_TO_PAGE,0.96);
    pdf.setViewerPreferences(ToolBar.SHOW,MenuBar.HIDE,WindowUI.SHOW,FitWindow.RESIZED,CenterWindow.CENTERED);
    pdf.addPage();
    var myFontStyle:IFont = new CoreFont ( FontFamily.COURIER );
    pdf.setFont(myFontStyle,10);
        pdf.addText('Kamran Aslam',10,20);//String, X-Coord, Y-Coord 
    return savePDF();
}
private function savePDF():String
{
    var fileStream:FileStream = new FileStream();
    var file:File = File.createTempDirectory();
    file = file.resolvePath("temp.pdf");
    fileStream.open(file, FileMode.WRITE);
    var bytes:ByteArray = pdf.save(Method.LOCAL);
    fileStream.writeBytes(bytes);
    fileStream.close();
    return file.url;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top