Comunidad de diseño web y desarrollo en internet online

alive pdf con filereferenci en flash 10

Citar            
MensajeEscrito el 17 Jul 2009 06:57 am
bueno mis colegas le dejo el codigo para que vean esta hermosa libreria

funiconado probado por mi , ahora tendre que averiguar o hacerme una clase para pasarme el data gird
:lol: :lol: :lol: bueno ojala entre todos podamos sacarla buena programacion que disfruten

Código :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout="absolute">

   <mx:Script>
      <![CDATA[
             import org.alivepdf.colors.RGBColor;  
      import org.alivepdf.fonts.Style;
      import org.alivepdf.layout.Align;
     
     import org.alivepdf.fonts.FontFamily;  
     import org.alivepdf.layout.Orientation;  
     import org.alivepdf.layout.Size;  
     import org.alivepdf.layout.Unit;  
     import org.alivepdf.pages.Page;  
     import org.alivepdf.pdf.PDF;  
     import org.alivepdf.saving.Method;  
     import org.alivepdf.display.Display;
     import org.alivepdf.data.Grid;
     import org.alivepdf.data.GridColumn;
     import org.alivepdf.cells.*;
     
    
       
     import flash.display.Sprite;  
     import flash.events.IOErrorEvent;  
     import flash.events.SecurityErrorEvent;  
     import flash.events.TextEvent;  
     import flash.net.FileReference;  
     import flash.text.StyleSheet;  
     import flash.text.TextField;  
     import flash.text.TextFieldAutoSize;  
     import flash.text.TextFieldType;  
     import flash.text.TextFormat;  
     import flash.utils.ByteArray;   
         private var pdf:PDF;
         private var page:Page;
         private var body:TextField;
         private var title:TextField;
         private var ba:ByteArray;
         private var myPDF:PDF;


         public function crear():void{  
            myPDF = new PDF(Orientation.LANDSCAPE, Unit.MM, Size.A4 );  
            myPDF.setDisplayMode (Display.REAL);   
            myPDF.addPage();  
            formatoImagen();  
            salvar();  
         }  
         public function formatoImagen():void{  



            myPDF.setFont( FontFamily.HELVETICA, Style.BOLD );
            myPDF.setFontSize ( 14 );
            myPDF.setXY( 10, 50 );
            myPDF.addMultiCell ( 300, 4, "XCOM.. VIVA CHILE .." ); 

         }  

         public function salvar():void
         {

            ba=myPDF.save(Method.LOCAL);
            var file:FileReference=new FileReference();
            
            file.addEventListener(IOErrorEvent.IO_ERROR, error);
            file.addEventListener(SecurityErrorEvent.SECURITY_ERROR, error);
            file.save(ba, "nuevo" + ".pdf");
         }

         private function error(event:IOErrorEvent):void
         {
            body.text=event.type + " | Error occured | " + event.text;
         }
      ]]>
   </mx:Script>
   <mx:Button id="miBoton"
            label="CREA EL PDF EN LOCALMENTE!"
            click="crear();"/>
</mx:Application>


bien lo unico que me queda hacer es una clase para pasarle un data grid con x columna espero logra hacerla

nos vemos SUERTE A TODO EL MUNDO

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jul 2009 04:38 pm
primero creas new GridColumn("NombreColumna", "identificador de la columna", tamaño, alineacion, etc.)

Código ActionScript :

var gridColumnid:GridColumn = new GridColumn("Id", "id", 6, Align.CENTER, Align.LEFT);
var gridColumnNombre:GridColumn = new GridColumn("Nombre", "nombre", 12, Align.CENTER, Align.LEFT);
var gridColumnEdad:GridColumn = new GridColumn("Edad", "edad", 28, Align.CENTER, Align.LEFT);


Todas las columnas las agregas a un Array

Código ActionScript :

private var ColumnaPersona:Array=new Array();
ColumnaPersona=new Array(gridColumnid,gridColumnNombre,gridColumnEdad);


Creas este array indexado con los mismo nombre ke en los identificadores de las columnas

Código ActionScript :

var Persona:ArrayCollection = new ArrayCollection ();
Persona.addItem( { id: "1",nombre: "Yeethug", Edad : "22"} );


Ahora creas un grid y insertas el ArrayCollection para insertar los datos

Código ActionScript :

var grid:Grid = new Grid (Persona.toArray(),0, 0, new RGBColor (0x666666),new RGBColor (0xCCCCCC),new RGBColor (0), true, new RGBColor (0xCCCCCC),0,Joint.BEVEL);


Se agregan la columnas porke si solo insertas el puro arraycollection las columnas las ordena por abecedario

Código ActionScript :

grid.columns=ColumnaPersona;


Se agrega el grid Al PDF y listo tienes tu Grid Con datos

Código ActionScript :

myPDF.addGrid(grid,5,0);

Por yeethug

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jul 2009 08:03 pm
vale compadre en camino hacer la clase y sale bien la tiro GRACIAS

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ago 2009 07:54 am
Hola, agradecería mucho si me aclaras que significa esto: file.save(ba, "nuevo" + ".pdf"); ¿Como es posible? ¿Acaso el file tiene un método save?... No entiendo... Agradecería si me puedes ayudar... Desde ya muchas gracias.

Por skwmak

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Ago 2009 08:13 am

skwmak escribió:

Hola, agradecería mucho si me aclaras que significa esto: file.save(ba, "nuevo" + ".pdf"); ¿Como es posible? ¿Acaso el file tiene un método save?... No entiendo... Agradecería si me puedes ayudar... Desde ya muchas gracias.

Otra consulta respecto a este codigo, esta hecho para una aplicacion web cierto ¿?, otra cosa donde puedo asignarle la ruta para guardarlo ¿?. Gracias.

Por skwmak

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2012 06:12 pm
me puden ayudar para generar un pdf.
grilla con muchos registros.

Con pocos no tengo problemas, ya que me caen en 1 hoja, pero si son muchos coopero.

Por thor_mx

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jul 2012 06:56 pm

thor_mx escribió:

me puden ayudar para generar un pdf.
grilla con muchos registros.

Con pocos no tengo problemas, ya que me caen en 1 hoja, pero si son muchos coopero.


Hola Thor_MX, fijate que hace mucho que no entraba a este foro, sobre todo por cambio de proyectos, pero mira, recuerdo que ese mismo problema lo tuve, yo lo que recomendaria es que reduscas de manera significativa el numero de registros, ya que a lo que tengo entendido flash te puede dar problemas al manejar una gran cantidad de informacion, intenta usar el debug de adobe flash builder para que encuentres el punto en donde se detiene exactamente y que funcion te esta causando ruido.

Tambien intenta de una manera en la que puedas limitar tu reporte, dividiendola mensualmente, diariamente, crea limites para tu reporte y tambien trata de vaciar los objetos que ya no necesites o reutilizar objetos para que no se acumule informacion cada vez que crees un pdf.

Si tienes mas informacion de lo que llevas y de lo que necesitas te puedo ayudar a analizar tu problema :).

Por yeethug

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2012 10:38 pm

yeethug escribió:

thor_mx escribió:

me puden ayudar para generar un pdf.
grilla con muchos registros.

Con pocos no tengo problemas, ya que me caen en 1 hoja, pero si son muchos coopero.


Hola Thor_MX, fijate que hace mucho que no entraba a este foro, sobre todo por cambio de proyectos, pero mira, recuerdo que ese mismo problema lo tuve, yo lo que recomendaria es que reduscas de manera significativa el numero de registros, ya que a lo que tengo entendido flash te puede dar problemas al manejar una gran cantidad de informacion, intenta usar el debug de adobe flash builder para que encuentres el punto en donde se detiene exactamente y que funcion te esta causando ruido.

Tambien intenta de una manera en la que puedas limitar tu reporte, dividiendola mensualmente, diariamente, crea limites para tu reporte y tambien trata de vaciar los objetos que ya no necesites o reutilizar objetos para que no se acumule informacion cada vez que crees un pdf.

Si tienes mas informacion de lo que llevas y de lo que necesitas te puedo ayudar a analizar tu problema :).


Gracias por responder.
Lo solucione, ya tenia opciones para sacar reportes de las boletas en este caso, las cuales son:

-HOY
-OTRA FECHA
-ENTRE FECHAS

La BD es grande, por lo que necesito poder imprimir muchos registros.

Lo bueno es que lo logre, incluso imprimi registros sin problemas (registros desde el 2011 a la fecha), se demoro como 5 segundos, con menos registros se genera el pdf de inmediato.

Quedo rebien, si me animo subo un video.

Por thor_mx

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jul 2012 10:40 pm
Este es el tema que hice para que me ayudaran, ahi deje un poquito de codigo, el de la mañana jaja.

http://foros.cristalab.com/imprimir-grilla-con-x-registros-t106719/

Por thor_mx

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jul 2012 10:55 pm
Ahi esta el video para que veas como quedo =)

Por thor_mx

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jul 2012 11:06 pm

thor_mx escribió:

Ahi esta el video para que veas como quedo =)



Muy buen aporte :)

Por yeethug

43 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Jul 2012 12:27 am
Ahora estoy parado con calcular los totales de boletas por hoja, y los totales de el dinero x hoja.

Lo tengo por mientras, en la ultima pagina, el total de todo.
Pero seria bueno tener ese total final, mas los totales por hoja.

Me resulta para la primera hoja, para las demas no se me ocurre como todavia, por los for e if's que tengo, no me dejo de las formas que intente hasta el momento T_T
** Mañana sigo

Por thor_mx

10 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.