Imprimir página actual en PDF (PHP)

Lo que quiero hacer es que por medio de un botón (Generar PDF) se descargue un archivo PDF con la página actual en la que se encuentra. He buscado pero no encuentro algo concreto, HTML2PDF, etc. Pero no se como configurar eso.

2 Respuestas

Respuesta
1

Hay varias librerías para generar PDF con PHP

Últimamente estoy utilizando: Cezpdf y me ha ido bien. Hay buenos ejemplos y un manual

http://blog.unijimpe.net/generar-pdf-con-php-y-mysql/ 

el manual lo puedes consultar en:

http://www.ds.uzh.ch/_files/uploads/presse/5.pdf 

te coloco un ejemplo mio, práctico para que lo mires:

<?php
if (!isset($_SESSION)) {  session_start();}
$propiedad = $_SESSION['nombre_prop'];
$nit = $_SESSION['nit_prop'];
$direccion = $_SESSION['direccion_prop'];
$ciudad = $_SESSION['ciudad_prop'];
$id_prop = $_SESSION['id_prop'];
$logo = $_SESSION['imagen'];
// llamo la libreria
require_once('src/Cezpdf.php');
$pdf =& new Cezpdf('LETTER','portrait');//pagina
$pdf->selectFont('src/fonts/Helvetica-BoldOblique.afm');// font
$pdf->ezSetCmMargins(1,1,1.5,1.5);// margenes
//me conecto a la base de datos
$conexion = mysql_connect("localhost", ".....", ".....");
mysql_select_db("mi B de D", $conexion);
$resultado_consulta_mysql=mysql_query($consulta_mysql,$conexion);
//para idiona español...
mysql_query("SET NAMES 'utf8'");
//hago la consulta a 2 tabla
$queEmp = "SELECT bdedp.nombre as BdeDP, bdedp.maticula as Matricula, propietarios.nombre  as Propietario, bdedp.area as Area, bdedp.porc_t as Porcentaje, bdedp.tabla as Tabla FROM bdedp inner join propietarios on bdedp.id_propietario = propietarios.id WHERE bdedp.propiedad = '$id_prop' AND bdedp.activo = 'S' ORDER BY bdedp.tabla, bdedp.nombre";
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
//enumero los campos que voy a imprimir
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
    $ixx = $ixx+1;
    $data[] = array_merge($datatmp);
}
//creo el array
$titles = array(
                'BdeDP'=>'<b>Nombre BdeDP</b>',
                'Matricula'=>'<b>Matrícula</b>',
                'Area'=>'<b>Area M2</b>',
                'Propietario'=>'<b>Propietario</b>',
                'Porcentaje'=>'<b>Por Part %</b>',
                'Tabla'=>'<b>Tabla</b>'
            );
$titles = mb_convert_encoding($titles, "ISO-8859-1", "UTF-8");
$options = array(
                'shadeCol'=>array(0.9,0.9,0.9),
                'xOrientation'=>'center',
                'width'=>500
            );
$txttit.= " \n";
// Convierto las variables a idioma español
$propiedad = utf8_encode($propiedad);
$nit = utf8_encode($nit);
$direccion = utf8_encode($direccion);
$ciudad = utf8_encode($ciudad);
$txttit = "<b>$propiedad</b>\n";
$pdf->ezImage("../Logotipos/uploads/".$logo, 00,100,100,100);
$txttit.= "$direccion \n";
$txttit.= "$ciudad \n";
$txttit.= " \n";
$txttit.= "Listado de Bienes de Dominio Particular de la Copropiedad \n";
$txttit.= " \n";
$datacreator = array (
                    'Title'=>'Bienes de Dominio Particular de  '.$propiedad,
                    'Subject'=>$propiedad,
                    'Author'=>'si-RPH',
                    'Producer'=>'http://www.legis.club'
                    );
$pdf->addInfo($datacreator);
//$pdf->setEncryption('toto', 'titi', array('copy'));
$pdf->ezText($txttit,16,array('justification'=>'center'));
//$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, '', $options);
$pdf->ezText("\n\n\n", 10);
$pdf->ezText("<b>Fecha del Informe:</b> ".date("Y-m-d"), 10);
$pdf->ezText("<b>Hora:</b> ".date("H:i:s")."\n\n", 10);
$pdf->ezStream();
?>

Listo... es un ejemplo práctico con logotipo variable de la empresa, Tablas anidadas...

Respuesta
1

También puedes encontrarte otro librería interesante que trabaja con reportes pdf en php y otros lenguajes.

Aquí tienes un ejemplo:https://www.youtube.com/watch?v=cTBmvWdBdRA 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas