Question

Est-il possible de générer des Documents PDF dans une application Adobe AIR, sans avoir à recourir à un aller-retour de service web pour la génération du PDF?J'ai regardé la première Flex Rapports sur GoogleCode, mais il nécessite un aller-retour pour la génération du PDF exacte.

Étant donné que l'AIR est censé être le final du Bureau de RIAs est-il un moyen pour accomplir cette?Je pense que je suis surplombant quelque chose, mais mes recherches par le biais de la documentation de ne pas en révéler trop et compte tenu de l'objectif pour l'AIR je ne peux pas croire que c'est juste quelque chose qu'ils ne comprennent pas.

Était-ce utile?

La solution

Il y a AlivePDF, qui est une génération de PDF library pour ActionScript qui devrait fonctionner, elle a été faite juste pour la situation que vous décrivez.

Autres conseils

Je viens d'ajouter un Adobe Air + Javascript + AlivePDF démo:

Cette démo ne pas besoin flex et est assez simple.

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

L'une des autres équipes où je travaille, travaille sur un Flex application de dessin et ils ont été totalement surpris de voir que AIR / Flex n'a pas de création de PDF intégré.Ils ont fini par rouler leur propre simple PDF creator basé sur la spécification PDF.

Oui, il est très facile de créer un fichier PDF à l'aide de AlivePDF, voici un exemple de code, tout d'abord la méthode de créer un pdf et la deuxième méthode consiste à enregistrer le fichier pdf sur le disque et retourne le chemin, n'hésitez pas à poser n'importe quelle question.

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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top