Foros del Web » Programando para Internet » PHP »

PDF y formulario

Estas en el tema de PDF y formulario en el foro de PHP en Foros del Web. Tengo un problema con un formulario y el dompdf. Me explico: Mi idea es que en un "input" de tipo "hidden" envie el valor de ...
  #1 (permalink)  
Antiguo 11/04/2012, 08:19
 
Fecha de Ingreso: abril-2012
Ubicación: Valencia
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
PDF y formulario

Tengo un problema con un formulario y el dompdf. Me explico:

Mi idea es que en un "input" de tipo "hidden" envie el valor de una variable, que contiene un código HTML, a un PHP que imprime PDF (dompdf).

Adjunto código de los archivos:

archivo php 1


<?php
include ('../../funciones.php');
include ('../../seguridad.php');
include ('clase_plantilla.php');
$usuario=$_SESSION['usuario'];
$db = conectaDb();
cabecera_plantillas('Cl&aacute;usula Deber de Informaci&oacute;n - Web', MENU_2, $usuario);
contenido_max();

$consulta = "SELECT * FROM $dbTabla_datos WHERE login='$usuario'";
$result = $db->query($consulta);
$valor = $result->fetch();

$razon_social=$valor[razon_social];
$direccion=$valor[direccion];
$CP=$valor[CP];
$poblacion=$valor[poblacion];
$provincia=$valor[provincia];
if ($web=$valor[web] =="") {
$web="_____________________";
}
else {
$web=$valor[web];
}

ob_start();
$Contenido=new plantilla("web");
$Contenido->asigna_variables(array(
"razon_social" => "$razon_social",
"direccion" => "$direccion",
"cp" => "$CP",
"poblacion" => "$poblacion",
"provincia" => "$provincia",
"web" => "$web"
));

//$ContenidoString contiene nuestra plantilla, ya con las variables asignadas
$ContenidoString = $Contenido->muestra();

$salida = ob_get_clean();
print "$salida";

print "<div align=\"center\"><br/>";
print "<form action=\"crear_pdf.php\" method=\"post\">";
print "<input type=\"hidden\" name=\"tipo_doc\" value=\"clausula_deber_de_informacion-web\" />";
#print "<input type=\"hidden\" name=\"salida\" value=\"$salida\" />";
print "<input type=\"submit\" value=\"Imprimir PDF\" />";
print "</form></div>";

fin();
?>

archivo PHP 2. crear_pdf.php

<?php
include ('../../funciones.php');
include ('../../seguridad.php');
$usuario=$_SESSION['usuario'];
$tipo_doc=$_REQUEST['tipo_doc'];
$salida=$_REQUEST['salida'];
$salida = utf8_decode($salida);

require_once("../../modulos/dompdf/dompdf_config.inc.php");
$old_limit = ini_set("memory_limit", "16M");

$dompdf = new DOMPDF();
$dompdf->load_html($salida);
$dompdf->set_paper(a4, portrait);
$dompdf->render();

$dompdf->stream("$tipo_doc para $usuario.pdf");

exit(0);

?>

¿Alguien me puede decir que está mal?

No consigo que realize el PDF correctamente

Un saludo de antemano. Gracias
  #2 (permalink)  
Antiguo 11/04/2012, 08:21
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: PDF y formulario

Hola Alejandro!
Probaste de poner los campos hidden en modo visible para ver si llegan los datos realmente?
__________________
Saludos!!!
Maru.-
  #3 (permalink)  
Antiguo 11/04/2012, 08:25
 
Fecha de Ingreso: abril-2012
Ubicación: Valencia
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Respuesta: PDF y formulario

Sí, lo he probado. Resulta que se me imprime 2 veces el código en pantalla. Una cuando lo indico yo mediante la linea "print "$salida" pero es que además, se me imprime sólo otra vez, a continuación.
  #4 (permalink)  
Antiguo 11/04/2012, 08:33
 
Fecha de Ingreso: abril-2012
Ubicación: Valencia
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Respuesta: PDF y formulario

Maru77, he probado de nuevo eso, cambiando algunas cosas. El código que me aparece en el input visible no es todo el código HTML que debería de aparecer.

¿Qué solución se te ocurre?
  #5 (permalink)  
Antiguo 16/04/2012, 06:12
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: PDF y formulario

Hace mucho utilicé la librería FPDF que es bastante facil de implementar, la podés descargar desde este enlace http://www.fpdf.org/

y te dejo un ejemplo de como implementarla, ojalá te ayude.

Código PHP:
<?php
$enlace 
$_GET['id'];

//ob_end_clean();
//define('FPDF_FONTPATH','font/');

require ("php/conectar_db.php");
require(
"fpdf.php");

class 
PDF extends FPDF
{
//Cabecera de página
function Header()
{
//Logo
$this->Image("pdfencab.jpg",10,10,190,30"JPG" );
//Arial bold 15
$this->SetFont('Arial','B',12);
//Movernos a la derecha
//$this->Cell(20);
$this->Ln(40);
//Título
$this->Cell(190,10,'DESPACHOS',1,0,'C');
//Salto de línea
$this->Ln(20);
   
}

//Pie de página
function Footer()
{
//Posición: a 1,5 cm del final
$this->SetY(-15);
//Arial italic 8
$this->SetFont('Arial','I',8);
//Número de página
$this->Cell(0,10,'Pagina '.$this->PageNo().'/{nb}',0,0,'C');
}
}

//Creación del objeto de la clase heredada
$pdf=new PDF("P""mm""A4");
$pdf->AliasNbPages();

//Primera página
$pdf->AddPage();
$pdf->SetFont('Arial','',10);

$juzgado = isset($_POST["juzgado"]) ? $_POST["juzgado"]:"";
$fecha = isset($_POST["fecha"]) ? $_POST["fecha"]:"";


$query ="SELECT * FROM despachos WHERE idDespacho = '$enlace'";

$result mysql_query($query$Link);
 
while(
$row=mysql_fetch_array($result)) {   
   
$cont=$row["desContenido"];
   
$pdf->MultiCell(190,6,$cont,0);
}    
 
$pdf->Output("despachos.pdf""D"); 
?>
__________________
Saludos!!!
Maru.-
  #6 (permalink)  
Antiguo 16/04/2012, 07:53
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 8 meses
Puntos: 5
Respuesta: PDF y formulario

Buscando encontré este ejemplo dentro de los aportes de este foro.
http://www.forosdelweb.com/f18/aport...dompdf-919465/
__________________
Saludos!!!
Maru.-
  #7 (permalink)  
Antiguo 19/04/2012, 04:12
 
Fecha de Ingreso: abril-2012
Ubicación: Valencia
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Respuesta: PDF y formulario

gracias, al final lo solucioné poniendo correctamente la función ob_get_clean después del "if".

Gracias de todas formas!!

Etiquetas: dompdf, formulario, pdf
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 19:29.