Foros del Web » Programando para Internet » PHP »

Generando PDF....

Estas en el tema de Generando PDF.... en el foro de PHP en Foros del Web. Hola gente!!!!! Como estamos??? Yo me stoy volviendo loca intentando generar un pdf para imprimir . Utilizo la librería ezpdf . Después de varios problemas ...
  #1 (permalink)  
Antiguo 01/03/2005, 08:57
 
Fecha de Ingreso: abril-2004
Mensajes: 44
Antigüedad: 20 años
Puntos: 1
Exclamación Generando PDF....

Hola gente!!!!! Como estamos???

Yo me stoy volviendo loca intentando generar un pdf para imprimir . Utilizo la librería ezpdf. Después de varios problemas que ya he conseguido solucionar , lo único que consigo que se visualice es una página en blanco cuando debería mostrar un montón de cosas... una imagen, una tabla...

Solo consigo que se visualice correctamente cuando guardo el archivo pdf en el servidor, pero no quiero que se almacene, pq cada día se generan un montón y solo sirven para imprimir.

Aquí pongo el código, a ver si alguien me puede echar una manita ....

Código PHP:
<?      
/* Muestra un pdf con las tareas del día seleccionado en lista.php */
require_once('../clases/class.ezpdf.php');
require_once(
"../clases/bd/Recordset.php");
require_once(
"../clases/claseSugerencia.php");

//Recogemos la fecha desde parametrosplantillaRRHH.pdf.
$fecha=$_POST['cmbEstado'];
//Obtenemos el texto correspondiente al estado dependiendo del num recibido.
if($fecha == 1)
  
$est="En Curso";
if(
$fecha == 2)
  
$est="Realizada";
if(
$fecha == 3)
  
$est="Pendiente";
    
//Creamos un nuevo objeto sugerencia
$sugerencia = new Sugerencia();
$datos= array();

//Nos devuelve la información de todas las sugerencias que coincidan con la fecha.
//La información será devuelta en un array con la forma necesaria para ser visualizado.
$datos=$sugerencia->formatoPDFSugerenciaFecha($fecha);//$fecha

/* Creación de la instancia de la clase ezPdf, pasamos tamaño del papel y orientación */
$pdf = new Cezpdf('a4','landscape');

/* Marcamos los margenes que va a tener el documento */
$pdf->ezSetCmMargins(2.5,2,1,1);

/* Seleccionamos la fuente que tendrá el documento */
$pdf->selectFont('/www/recursos_web/pdf/fonts/Helvetica.afm');

/* Creamos un objeto que posteriormente pondremos en todas las páginas del documento */
$Plantilla $pdf->openObject();
$pdf->saveState();
$pdf->setStrokeColor(0,0,0,1);
$pdf->ezSetY(560);
$pdf->ezImage("../imagenes/arc.jpg",1,30,'none','left');
$pdf->addText(50,34,8,date("d/m/Y"));
$pdf->ezSetY(570);
$pdf->ezText("           Libro de Sugerencias de RRHH.\n",20);
$pdf->addText(545,550,14,"Sugerencias ".$est);
$pdf->restoreState();
$pdf->closeObject();

// observe que el objeto se puede decir que aparezca en pagina par, impar o todas cambiando '
// 'all' por 'even' o 'odd'
$pdf->addObject($Plantilla,'all');

/* Empezamos a poner los números de página */
$pdf->ezStartPageNumbers(800,25,8,'','',1);

/** Atributos de diferentes columnas de la tabla */
$numero=array('width'=>40,'justification'=>'center');
$quien=array('width'=>80);
$FaPropuesta=array('width'=>63);
$sugerencia=array('width'=>150);
$Accion=array('width'=>150);
$FPrevFin=array('width'=>63,'justification'=>'center');
$FCierre=array('width'=>63,'justification'=>'center');
$Responsable=array('width'=>50,'justification'=>'center');
$Estado=array('width'=>63,'justification'=>'center');
$Cols = array
           (
'Nº'=>$numero,'Quien'=>$quien,'F.Prop'=>$FaPropuesta
           
'Sugerencia'=>$sugerencia,'Acción Correctora'=>$Accion,
           
'F.Prev.Fin'=>$FPrevFin,'F.Cierre'=>$FCierre,
           
'Resp'=>$Responsable,'V','Estado'=>$Estado,'MC');
    
/** Añadimos una tabla al documento a la cual le pasamos el array de dos dimensiones $datos 
* Podemos asignar anchura a la tabla en general y/o a las columnas.
* Los parámetros posibles para la función ezTable los podemos encontrar en la clase class.ezpdf.php
*/
$pdf->ezTable($datos,'','',array('showLines'=>'2',

'showHeadings'=>1,'shaded'=>0,'xPos'=>'right','xOrientation'=>'left','width'=>780,'cols'=>$Cols));

/* Extraemos el código generado por la clase a un fichero */
$pdfcode $pdf->ezOutput(1);
    
/* Para almacenar el fichero, solo funciona con esto pero no quiero almacenarlo. Pero poniéndolo así entre comentarios solo sale una página en blanco .

$stFichero = date("H-i_d-m-Y").".pdf";
$fp=fopen("./sugerencia".$stFichero,'wb');
fwrite($fp,$pdfcode);
fclose($fp);
echo '<html><head><title>Listado de tareas</title></head><body>';
echo '<script language="JavaScript" type="text/javascript">parent.location.href="./sugerencia'.$stFichero.'"</script>';
echo '</body></html>'; */

?>
Gracias a todos de antemano!!!!
__________________
sometimes, I feel I should go and play with the thunder
  #2 (permalink)  
Antiguo 01/03/2005, 09:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Fijate bien en la documentación y ejemplos de la libreria R&OS... Me parece que el método que vuelva el resultado sobre el navegador (directo) es:

$pdf->stream();

No el "output(1)" (y revisa los parámetros de dicho método .. hay un modo "debugg" por ahí que se habilita creo que en ese método ...

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:05.