Hace unos dias atras buscando en google encontre un clase llamada DOMPdf, que hace muy facil archivos pdf a partir de un archivo HTML.
En comparacion con otros como TCPDF, FDPF y R&OS que son robustos pero cuando uno quiere solo hacer unas simple impresion en pdf es demasiado, comparado con DOMPdf, que esta basado en FPDF, ofrece una manera sencilla de generar archivos PDF desde PHP.
Lo primero es bajar dompdf-0.5.1.tar.gz
2.- Creamos una carpeta llamada pdf en el directorio donde publicas tus paginas .php
3.- Descomprimimos el archivo descargado de DomPDF en la carpeta pdf y le cambiamos el nombre de " dompdf-0.5.1" a solo " dompdf " para hacer las cosas mas faciles.
4.- Crea un archivo php que llamaremos " toPdf.php " esto sera lo que vamos a pasar a .pdf, en tu caso serian tablas con registros de tu Base de Datos por ejemplo.
-------------------------------------------------------------------------------------------------------------------------------------------------------------
//archivo toPdf.php
<?php
require_once("/ruta/dompdf_config.inc.php");
$cabeza = "<img src='ruta/imagen.gif' width='82' height='106' border='0' alt=''>";
$cabeza .= '<br><b>Informe de Prueba</b><br><br>';
$html = $POST['$cabeza'].$POST['$html'];
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("prueba.pdf");
?>
-------------------------------------------------------------------------------------------------------------------------------------------------------------
5.- Crea un archivo llamado "sendPDF.php" este sera el archivo que le dira a DomPDF que necesitamos convertir "toPdf.php" a .pdf .
-------------------------------------------------------------------------------------------------------------------------------------------------------------
//archivo sendPDF.php
<?php
include(conexion.php)
conectar();
$result = mysql_query($Sql);
desconectar();
$html = '<table>';
$html .= '<tr><th>ID</th><th>Nombre</th><th>Nivel</th>';
foreach ($matriz_con_encabezados as $cabezeras) {
$html .= '<th>'.$cabezeras.'</th>';
}
$html .= '</tr>';
while ($row = mysql_fetch_array($result)) {
if($bgcolor == '#DDFFC3') $bgcolor = '#C2FF92';
else $bgcolor = '#DDFFC3';
$html .= '<tr bgcolor='.$bgcolor.'><td>'.$row['ID_USUARIO'].'</td><td>'.$row['AP_PATERNO'].' '.$row['AP_MATERNO'].', '.$row['NOMBRES'].'</td> <td>'.$row['N_CURSO'].' '.$row['N_PARALELO'].'</td>';
foreach ($nombretabla as $dato) {
$html .= '<td>'.$dato.'</td>';
}
$html .= '</tr>';
}
$html .= '</table>';
echo $html;
$html = urlencode($html);
echo "<a href='toPDF.php?html=$html'>Click Aqui para descargar el informe</a>";
?>
-------------------------------------------------------------------------------------------------------------------------------------------------------------
6.- Ahora abre tu navegador y coloca " http://localhost/sendPDF.php "
y listo.....!!!!!!!!!!! veras como se descarga automaticamente el archivo pdf.
Los archivos mas importantes de la libreria DomPDF son como vez " dompdf.php " " dompdf_config.inc.php ", Siempre que quieras pasar un archivo a pdf le pasas las siguientes variables por GET.
Ademas de esta manera te evitaras muchos dolores de cabeza con los Header(Location.....) que es otra manera de hacerlo, o de incluirlo todo en un solo archivo .php, en el caso que desees trabajar con base de datos mysql u otra bd.
Espero que les sirva y si tienes dudas aqui estaremos..................
martes, julio 08, 2008
Pdf y PHP / MySql con DOMPdf
Publicadas por patoxs a la/s 4:59 p. m.
Suscribirse a:
Comentarios de la entrada (Atom)
31 comentarios:
He seguido al pie de la letra el ejemplo pero me salen errores...
Y el código de la página esta así:
$link=mysql_connect("localhost","root","123456") or die ("Error conectando");
mysql_select_db("sigathu",$link)or die ("Error seleccionando la BD");
$sql="select nic, name, pw from altas";
$res = mysql_query($sql,$link) or die ("Error en la consulta".mysql_error());
$html = '(table)';
$html .= '(tr)(th)NIC(/th)(th)Nombre(/th)(th)Password(/th)';
foreach ($matriz_con_encabezados as $cabezeras) {
$html .= '(th)'.$cabezeras.'(/th)';
}
$html .= '(/tr)';
while ($row=mysql_fetch_array($res)) {
if($bgcolor == '#DDFFC3') $bgcolor = '#C2FF92';
else $bgcolor = '#DDFFC3';
$html .= '(tr bgcolor='.$bgcolor.')(td)'.$row['0'].'(/td)(td)'.$row['1'].'(/td)(td) '.$row['2'].'(/td)' ;
foreach ($nombretabla as $dato) {
$html .= '(td)'.$dato.'(/td)';
}
$html .= '(/tr)';
}
$html .= '(/table)';
echo $html;
$html = urlencode($html);
echo "(a href='toPDF.php?html=$html')Click Aqui para descargar el informe(/a)";
?)
me genera error en las lineas 9 y 17
9-)foreach ($matriz_con_encabezados as $cabezeras) {
17-)foreach ($nombretabla as $dato) {
Estos son los errores:
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\pdf\sendPDF.php on line 9
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\pdf\sendPDF.php on line 17
Sera que el foreach($matriz_con_encabezados...)
ese $matriz.. debe ser el nombre alguna variable definida antes o consulta o aque corresponde...
al igual que el de foreach ($nombretabla .... sera el nombre de la tabla de la consulta sql...
Perdon por cambiar las < > por ( ) pero el editor no me permite las < >.
y cuando pulso en el:
Click Aqui para descargar el informe
en la página que se carga sale...
Notice: Undefined variable: POST in C:\AppServ\www\pdf\toPdf.php on line 5
Notice: Undefined variable: POST in C:\AppServ\www\pdf\toPdf.php on line 5
Fatal error: Uncaught exception 'DOMPDF_Exception' with message 'Requested HTML document contains no data.' in C:\AppServ\www\pdf\dompdf\include\frame_tree.cls.php:135 Stack trace: #0 C:\AppServ\www\pdf\dompdf\include\dompdf.cls.php(293): Frame_Tree->build_tree() #1 C:\AppServ\www\pdf\dompdf\include\dompdf.cls.php(377): DOMPDF->_process_html() #2 C:\AppServ\www\pdf\toPdf.php(8): DOMPDF->render() #3 {main} thrown in C:\AppServ\www\pdf\dompdf\include\frame_tree.cls.php on line 135
Tengo el apache 2.2.4
php 5.2.3 y mysql 5.0.45.
Que problema será que no puedo generar el pdf???
Gracias por la ayuda
Hay muchos problemas pero el que tu dices del POST es que no sería asi sino $_POST, que en realidad debería ser un $_GET
Hola
tambien he estado siguiendo este famoso "DOMPdf"
pero solo mi problema es que no puedo encryptar los archivos genrados, es decir incluir contraseña pàra editar o imprimir o copiar texto, etc
Alguien tiene alguna idea?
he buscado en el codigo fuente, pero no soy muy experto en POO.
grax!
get facebook likes
buy facebook likes
http://www.gameculture.com/2011/03/02/red-bull-augmented-racing http://www.gpucomputing.net/?q=node/69
facebook likes buy facebook likes buy facebook likes
Hello, I pull up Internet Explorer, and it lets me keep my home pages up for a couple of seconds and goes to blocked after a few seconds. It says blocked in the tab up at the top. Do I have a virus or what? How can I fix this? Please help! Thanks!
facebook likes 1000 facebook likes [url=http://1000fbfans.info]get facebook likes [/url] buy facebook likes
xanax online generic xanax orange round - xanax recreational use weed
generic xanax xanax side effects in children - xanax online no membership
buy tramadol online tramadol withdrawal clonidine - buy tramadol pay with mastercard
buy alprazolam xanax 60 minutes - xanax more drug_uses
buy tramadol online tramadol 50 mg half life - long will tramadol high last
generic tramadol tramadol no prescription buy - buy tramadol generic ultram
buy tramadol online tramadol 717 - buy tramadol online overnight usa
order tramadol tramadol 50 mg every 4 hours - tramadol jitters
buy tramadol online get rid tramadol addiction - tramadol dosage and side effects
buy tramadol online tramadol extended release high - buy tramadol online with mastercard
alprazolam no prescription xanax dosage before mri - xanax grapefruit side effects
buy cialis online cialis 36 hour reviews - cialis daily prescription
buy tramadol online tramadol hcl 50 mg para que sirve - buy tramadol in egypt
xanax online xanax 2mg green - xanax 2mg bars street value
cheap cialis cialis online andorra - buy cialis reviews
cialis online generic cialis ranbaxy - cialis daily nhs
tramadol online pharmacy tramadol for dogs how often - buy tramadol in usa no prescription
buy tramadol online buy tramadol online illegal - buy tramadol in the usa
order tramadol online without prescription ordertramadolonline - buy tramadol online overnight cod
http://blog.dawn.com/dblog/buy/#about-us tramadol 150 mg dose - buy tramadol saturday delivery
buy tramadol online tramadol overdose level - buy tramadol online usa
buy tramadol tramadol 50mg hcl - tramadol 4 dollar list
ativan anxiety ativan dosage get high - ativan dosage valium
generic lorazepam side effects of ativan .5 mg - ativan dosage drip
tramadol generic tramadol 50 mg beer - tramadol ultram narcotic
buy tramadol online tramadol for dogs liquid - tramadol 325 mg
Publicar un comentario