2008-09-10 21 views
6

¿Es posible generar documentos PDF en una aplicación Adobe AIR sin recurrir a un servicio web de ida y vuelta para generar el PDF? He consultado los Informes Flex iniciales en GoogleCode, pero se requiere un viaje de ida y vuelta para generar el PDF real.Impresión en Adobe AIR - Generación de PDF independiente

Dado que AIR se supone que es el extremo de escritorio para RIA, ¿hay alguna manera de lograr esto? Sospecho que estoy pasando por alto algo, pero mis búsquedas a través de la documentación no revelan demasiado y dado el objetivo para AIR. No puedo creer que sea algo que no incluyeron.

Respuesta

7

Hay AlivePDF, que es una biblioteca de generación de PDF para ActionScript que debería funcionar, fue hecha solo para la situación que usted describe.

0

Uno de los otros equipos en los que trabajo es trabajar en una aplicación de dibujo basada en Flex y se sorprendieron por completo de que AIR/Flex no tenga incorporada la creación de PDF. Acabaron lanzando su propio creador de PDF simple basado en la especificación PDF.

1

acaba de añadir una demostración de Adobe Air + Javascript + AlivePDF:

Esta demo no requieran cable y es bastante sencillo.

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

+0

Hola .. También estoy buscando para la opción pdf, tengo que generar una larga pdf de unas 15 páginas, en el que tengo que agregar el número de componentes MXML resultante en pdf, estoy tratando de usar pdf vivos para el mismo, pero mi página está teniendo scroll vertical y parte oculta quedando excluida del pdf y tampoco estoy obteniendo buena calidad pdf Estaba intentando abrir tu demo pero el link no funciona, ha pasado mucho tiempo ... si tú puede ayudarme un poco, entonces pl. Gracias de antemano. –

0

Sí, es muy fácil crear PDF utilizando AlivePDF, aquí es el código de ejemplo, el primer método de crear un PDF y segundo método guardar el PDF en el disco y devuelve la ruta, no dude en hacer cualquier pregunta .

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; 
} 
Cuestiones relacionadas