Comunidad de diseño web y desarrollo en internet online

Flex 3, FPDF y PHP

Citar            
MensajeEscrito el 10 Jun 2013 05:21 pm
Hola amigos de Flex, estoy comenzando con lo que es la generación de pdf en flex.

Tengo un panel con un botón dentro, cuando hago click, envía un servicio HTTPService,
que ejecuta un PHP.
Si ejecuto el PHP solo (localhost.....bla bla), el PDF se arma correcto, pero si lo mando desde el click, no sucede nada. No se abre nada, no pasa nada.
Les paso el código, para ver si me pueden ayudar, muchísimas gracias!

private function PDFAreas():void {
CreoPDF.send();
}

<mx:HTTPService id="CreoPDF" showBusyCursor="true" method="POST" useProxy="false" url="{'../PHP/CreoPDF.php?'}"/>

y el PHP......
<?php
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',25);
$pdf->Cell(40,10,'¡Hola!');
$pdf->Output();
?>

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Jun 2013 07:28 pm
para que funcione tienes que mirar el swf desde el servidor local, no puedes hacerlo desde el sistema de arhivos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 11 Jun 2013 11:08 am
Perdón...pero no entiendo muy bien...Estoy con xampp levantado, simulando una aplicación intranet.

El swf se ejecuta como localhost/Micarpeta/Miarchivo.swf, luego, el PHP lo llamo en el HTTPService como "../PHP/CreoPDF.php".

PHP es una subcarpeta dentro de Micarpeta.

Muchas gracias !!!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2013 12:04 pm
BuenAS:

Tal como lo tienes ahora, la carpeta PHP la va a buscar en un nivel superior "../PHP/CreoPDF.php". Imagino que debería ser "PHP/CreoPDF.php" si esta carpeta PHP está al mismo nivel que el documento Miarchivo.swf.

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 11 Jun 2013 12:10 pm
Gracias, pero probé poniendo el PHP en la misma carpeta, y no funciona.

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2013 12:32 pm
Usa un sniffer, ya sea firebug, (a mi me gusta CharlesProxy.com) y mira que petici'on esta haciendo, adicionalmente si llega al PHP, verifica que no de un error

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 11 Jun 2013 12:57 pm
El PHP lo ejecuto desde el navegador (Chrome, Explorer) y funciona perfecto. Le borré todo y sólo le dejé que haga un Alert.

Es evidente que no llega desde el HTTPService. Lo que no sé es porqué, ya que hay varias peticiones a otros PHP desde el mismo swf, y todas funcionan perfecto, excepto esta. Obviamente, hago el CreoPDF.send(), eso está verificado.

Hay algún error en esto?
<mx:HTTPService id="CreoPDF" showBusyCursor="true" method="POST" useProxy="false" url="{'../PHP/CreoPDF.php'}"/>

PHP:
<?php
$descripcion = '000000000000';
echo "<script languaje='javascript'>alert('Material en depósito : ".$descripcion."')</script>";
?>

Muchisimas gracias

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2013 01:21 pm
Usa un sniffer


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 11 Jun 2013 02:23 pm
Gracias Jorge, descargué el que me pasaste, CharlesProxy.com, EXCELENTE! y veo que lo ha generado el pdf, perfecto. El inconveniente es que no lo abre, sino que directamente lo graba en a carpeta del PHP, la idea sería que lo abra y que el usuario decida su grabación local. Pero no sé como hacerlo con fpdf..... Investigaré la opción output para ver cómo abrir un cuadro de diálogo. Pongo el código para generar el archivo Areas.pdf.

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'¡Hola!');
//Determinar un nombre de fichero en el directorio actual
$file = 'Areas';
rename($file, $file.'.pdf');
$file .= '.pdf';
//Guardar el PDF en un fichero
$pdf->Output($file, 'F');
//Redirección
header('Location: '.$file);

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2013 02:27 pm
Mira si la biblioteca FPDF tiene salida al browser directamente, lo puede poner en su documentacion. Sino puedes forzar un download, googlea por PHP force download

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 11 Jun 2013 03:21 pm
Gracias! Ya lo hago!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2013 04:31 pm
He logrado generar el PDF (y grabarlo en la carpeta de trabajo) y además poder descargarlo al local. Lo que no logro, es visualizarlo en una ventana aparte, si tener que forzar la descarga antes. Me ayudarías por favor con esto? Gracias!

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2013 06:23 pm
Abre directamente la direccion del PDF con navigateToURL, si el navegador soporta PDF lo abrira directamente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 12 Jun 2013 10:59 am
Muchisimas gracias!

Por grodrig61

Claber

223 de clabLevel



 

chrome

 

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