Foros del Web » Programando para Internet » PHP »

como usar Content-type: application/pdf???

Estas en el tema de como usar Content-type: application/pdf??? en el foro de PHP en Foros del Web. Tengo el siguiente problema; necesito generar un pdf; he intentado utilizar el fpdf pero no me permite hacer consultas ni; mostrar tablas anidadas; es decir, ...
  #1 (permalink)  
Antiguo 21/12/2009, 17:29
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Exclamación como usar Content-type: application/pdf???

Tengo el siguiente problema; necesito generar un pdf; he intentado utilizar el fpdf pero no me permite hacer consultas ni; mostrar tablas anidadas; es decir, como 5 tablas dentro de 1 principal; por ese motivo utilice el html2pdf; pero con ello no me respeta margenes; solucion 3 utiligar dompdf; pero hasta ahora no lo puedo llegar a utilizar; solucion 4 y ultima esperanza; utilizar:
Cita:
<?php
// Enviaremos un PDF
header('Content-type: application/pdf');
// Se va a llamar descarga.pdf
header('Content-Disposition: attachment; filename="descarga.pdf"');
// La fuente del PDF se encuentra en original.pdf
readfile('original.pdf');
?>
pero el punto es como ubicarlo en mi formulario .php; yo tengo un formulario llamado verproforma.php; la cual tiene 2 opciones imprimir; y generar pdf; en generar pdf me llama al siguiente formulario: verproformapdf.php; en la cual se supone que deberia estar el codigo de arriba pero no me funka:
Código PHP:
<?php
session_start
();
header ("Expires: Thu, 27 Mar 1980 23:59:00 GMT"); //la pagina expira en una fecha pasada
header ("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos
header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
header ("Pragma: no-cache"); 
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('original.pdf');
require_once(
"config/config.php");
require_once(
"include/clasesmysql.php");
$miconexion = new DB_mysql ;
$miconexion->conectar($basededatos$host$usuario_bd,$contrasena_bd);
$id=$_GET['id'];
$miconexion->consulta("select * from proformas p, cliente c, equipo_predefinido ep, obsequios ob where p.pr_cli_id_FK=c.cli_id and p.pr_ep_id_FK=ep.ep_id and p.pr_ob_id_FK=ob.ob_id and pr_id='$id'");
        
$row0 mysql_fetch_array($miconexion->Consulta_ID);
        
$numero=$row0['pr_num'];    
        
$fec=explode('-',$row0['pr_fecha']);    
        
$fecha=$fec[2].'-'.$fec[1].'-'.$fec[0];
        
$fecha1=$row0['pr_fecha'];
        
$cli_id=$row0['pr_cli_id_FK'];
        
$clidni=$row0['cli_dni'];
        
$cliruc=$row0['cli_ruc'];
        
$razcli=$row0['cli_razon'];
        
$salu=$row0['pr_saludo'];
        
$dircli=$row0['cli_dir'];
        
$tip_doc=$row0['pr_doctip'];
        
$tip_coti=$row0['pr_coti'];
        
$telfcli=$row0['cli_telf'];
        
$pr_mon=$row0['pr_mon'];
        
$tc=$row0['pr_tc'];
        
$garantia=utf8_encode($row0['pr_garantias']);
        
$prof_est=$row0['pr_estado'];
        
$cantprof=$row0['pr_can'];
        
$plazoe=$row0['pr_plazoe'];
        
$esp=$row0['pr_especi'];
        
$maxdias=$row0['pr_dias'];
        
$ep_id=$row0['pr_ep_id_FK'];
        
$nomep1=$row0['ep_nom'].' '.$row0['ep_desc'];
        
$totfinals=round($row0['pr_precioS'] * $cantprof 2);
        
$tofinald=$row0['pr_precioD'];
        
$descuento=$row0['pr_desc'];
        
$descripcion=$row0['pr_descripcion'];
?>
<form name='form11' action='<? echo $paginaprincipal;?>?menu=ver_proforma' method='post'>
<div id='seleccion'>
<table align='center' border='0' cellspacing='0' cellpadding='0'>
    <tr>
      <td align='left' colspan='3' class='textimpr'>
        <b><u>PROFORMA N&ordm;:</u></b><u>&nbsp;&nbsp;&nbsp;<?php echo $numero;?></u>
      </td>
      <td align='right' colspan='3' class='textimpr'><b><u>FECHA:</u></b>&nbsp;&nbsp;&nbsp;&nbsp;<u><?php echo $fecha;?></u></td>
    </tr>
    <tr><td>
.
.
.
.
pero me da el siguiente error:
Cita:
Warning: readfile(original.pdf) [function.readfile]: failed to open stream: No such file or directory in /home/citecper/public_html/sistema/ver_proformapdf.php on line 9
espero me puedan ayudar.
  #2 (permalink)  
Antiguo 22/12/2009, 13:45
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: como usar Content-type: application/pdf???

Segun ese error lo que sucede es que no encuentra el archivo "original.pdf" en la carpeta sistema, revisa si lo tienes y los permisos (755 creo).

Un saludo.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 22/12/2009, 15:34
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: como usar Content-type: application/pdf???

bueno lo que pasa es que se supone que con el header se genera automaticamente el pdf; el cual despues debera ser llamado con original.pdf; por ello es que el archivo no se encuentra en el directorio; deberia generarse automaticamente.
Al parecer se ha actualizado el html2pdf; alguien sabe como implementarlo en una pagina.php; ha cambiando parametros y directorios segun pude ver.
  #4 (permalink)  
Antiguo 22/12/2009, 16:14
Avatar de CdG
CdG
 
Fecha de Ingreso: marzo-2008
Mensajes: 114
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: como usar Content-type: application/pdf???

al tercer fallo con las librerías empieza a sospechar que tal vez estes haciendo algo mal.
[QUOTE=zeuzft;3213758]fpdf pero no me permite hacer consultas ni; mostrar tablas anidadas; es decir, como 5 tablas dentro de 1 principal[QUOTE]
esto puedes hacerlo con Fpdf, revisa la documentación
__________________
no quiero ser un árbol y caminar
Jacinto Piedra
  #5 (permalink)  
Antiguo 22/12/2009, 16:53
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: como usar Content-type: application/pdf???

implementando el html2pdf en version 3.26; ejecuta el codigo pero no imprime nada en el pdf:
tengo verproforma.php que me llama a verproformapdf.php; este ultimo tiene el codigo para convertir a pdf pero no muestra nada en el pdf:
Cita:
<?php
session_start();
header ("Expires: Thu, 27 Mar 1980 23:59:00 GMT"); //la pagina expira en una fecha pasada
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos
header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
header ("Pragma: no-cache");
require_once("config/config.php");
require_once("include/clasesmysql.php");
// conversion HTML => PDF
require_once('include/html2pdf.class.php');
$html2pdf = new HTML2PDF('P','A4','fr');
// $html2pdf->setModeDebug();
$html2pdf->setDefaultFont('Arial');
$html2pdf->WriteHTML($content, isset($_GET['ver_proformapdf.php']));
$html2pdf->Output('exemple00.pdf');
$miconexion = new DB_mysql ;
$miconexion->conectar($basededatos, $host, $usuario_bd,$contrasena_bd);
$id=4;
$miconexion->consulta("select * from proformas p, cliente c, equipo_predefinido ep, obsequios ob where p.pr_cli_id_FK=c.cli_id and p.pr_ep_id_FK=ep.ep_id and p.pr_ob_id_FK=ob.ob_id and pr_id='$id'");
$row0 = mysql_fetch_array($miconexion->Consulta_ID);
$numero=$row0['pr_num'];
$fec=explode('-',$row0['pr_fecha']);
$fecha=$fec[2].'-'.$fec[1].'-'.$fec[0];
$fecha1=$row0['pr_fecha'];
$cli_id=$row0['pr_cli_id_FK'];
$clidni=$row0['cli_dni'];
$cliruc=$row0['cli_ruc'];
$razcli=$row0['cli_razon'];
$salu=$row0['pr_saludo'];
$dircli=$row0['cli_dir'];
$tip_doc=$row0['pr_doctip'];
$tip_coti=$row0['pr_coti'];
$telfcli=$row0['cli_telf'];
$pr_mon=$row0['pr_mon'];
$tc=$row0['pr_tc'];
$garantia=utf8_encode($row0['pr_garantias']);
$prof_est=$row0['pr_estado'];
$cantprof=$row0['pr_can'];
$plazoe=$row0['pr_plazoe'];
$esp=$row0['pr_especi'];
$maxdias=$row0['pr_dias'];
$ep_id=$row0['pr_ep_id_FK'];
$nomep1=$row0['ep_nom'].' '.$row0['ep_desc'];
$totfinals=round($row0['pr_precioS'] * $cantprof , 2);
$tofinald=$row0['pr_precioD'];
$descuento=$row0['pr_desc'];
$descripcion=$row0['pr_descripcion'];
?>
<html>
<head>
<title>Citec</title>
<body>
<form name='form11' action='<? echo $paginaprincipal;?>?menu=ver_proformapdf' method='post'>
<div id='seleccion'>
<table align='center' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td align='left' colspan='3' class='textimpr'>
<b><u>PROFORMA N&ordm;:</u></b><u>&nbsp;&nbsp;&nbsp;<?php echo $numero;?></u>
</td>
<td align='right' colspan='3' class='textimpr'><b><u>FECHA:</u></b>&nbsp;&nbsp;&nbsp;&nbsp;<u><?php echo $fecha;?></u></td>
</tr>
<tr><td><br style="line-height:8px "></td></tr>
<tr>
<td align='right' class='textimpr'><b>Sr.(es):</b></td>
<td>&nbsp;</td>
<td align='left' class='textimpr'><u><?=utf8_encode($razcli);?></u></td>
<td align='right' class='textimpr'><? if ($tip_doc=="R") echo "<b>RUC:</b></td><td>&nbsp;</td><td align='left' class='textimpr'><u>$cliruc</u></td>"; else echo "<b>DNI:</b></td><td>&nbsp;</td><td align='left' class='textimpr'><u>$clidni</u></td>";?></td>
</tr>
<tr><td><br style="line-height:6px "></td></tr>
<tr>
<td align='right' class='textimpr'><b>Direcci&oacute;n:</b></td>
<td>&nbsp;</td>
<td align='left' class='textimpr'><u><?=utf8_encode($dircli);?></u></td>
<td align='right' class='textimpr'><b>Tel&eacute;fono:</b></td>
<td>&nbsp;</td>
<td align='left' class='textimpr'><u><?=$telfcli?></u></td>
</tr>
.
.
.
.
.
alguien me podria decir porque
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 13:27.