MYSQL La base de datosPHP Ejemplos

Crear archivos en PDF con PHP MySQLi

Crear archivos en PDF con PHP MySQLi. En este artículo vamos a aprender a crear ficheros PDF con PHP y MySQLi utilizando la librería de PHP dompdf.

Ahora, lo que haremos es explicar cómo crear documentos PDF con esta librería dinámica. Para generar un documento PDF desde PHP lo podemos hacer utilizando diversas formas. Sin embargo, lo podemos realizar con las librerás HTML2PDF, FPDF y/o DOMPDF.

Crear archivos en PDF con PHP MySQLi

Los recursos que usaremos son:

  • Uso de PHP
  • Instalación de librerías externas
  • Utilizar e instalar DOMPDF
  • Generar ficheros PDFs con nombre personalizado en una variable.
  • Inserción de etiquetas HTML (Tablas).
  • Reportes en PDF desde PHP y MySQLi

Componentes del sistema

db.php

Encargada de realizar la conexión con la base de datos

<?php
// Configuración necesaria para acceder a la data base.
$hostname = "localhost";
$usuariodb = "root";
$passworddb = "root";
$dbname = "php_exportapdf";
	
// Generando la conexión con el servidor
$conectar = mysqli_connect($hostname, $usuariodb, $passworddb, $dbname);
?>

index.php

La portada principal donde está la información de la base de datos que será exportada en un fichero PDF.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="favicon.ico">

    <title>Generar Archivo PDF con PHP - BaulPHP.com</title>

    <!-- Bootstrap core CSS -->
    <link href="dist/css/bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="assets/css/sticky-footer-navbar.css" rel="stylesheet">
  </head>

  <body>

    <header>
      <!-- Fixed navbar -->
      <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
        <a class="navbar-brand" href="#">BaulPHP</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarCollapse">
          <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
              <a class="nav-link" href="index.php">Inicio <span class="sr-only">(current)</span></a>
            </li>
     
	
          </ul>
          <form class="form-inline mt-2 mt-md-0">
            <input class="form-control mr-sm-2" type="text" placeholder="Buscar" aria-label="Search">
            <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Busqueda</button>
          </form>
        </div>
      </nav>
    </header>

<!-- Inicio content -->  
 <div class="container">
 <h1 class="mt-5">Generar Archivo PDF con PHP</h1>
 <hr>
<div class="btn btn-primary"><a href="GenerarPDF.php" style="color:#FFF; text-decoration:none; " target="_blank">Visualizar en PDF</a></div>
<div class="btn btn-primary"><a href="DescargarPDF.php" style="color:#FFF; text-decoration:none; " target="_blank">Descargar PDF</a></div>
  <hr>
<div class="row">

  <div class="col">

  
<?php	

	include_once("db.php");
	echo '<table class="table"';	
	echo  '<thead>';
	echo  '<tr>';
	echo  '<th scope="col">ID</th>';
	echo  '<th scope="col">COD Transaccion</th>';
	echo  '<th scope="col">Nombres</th>';
	echo  '<th scope="col">Tipo de Pago</th>';
	echo  '<th scope="col">Estado Transaccion</th>';
	echo  '<th scope="col">E-mail</th>';
	echo  '</tr>';
	echo  '</thead>';
	echo  '<tbody>';
	
	$resultado_transacciones = "SELECT * FROM transacciones";
	$resultado_transacciones = mysqli_query($conectar, $resultado_transacciones);
	while($transacciones = mysqli_fetch_assoc($resultado_transacciones)){
		echo  '<tr><td>'.$transacciones['id'] . "</td>";
		echo  '<td>'.$transacciones['transaccion_cod'] . "</td>";
		echo  '<td>'.$transacciones['nombres'] . "</td>";
		echo  '<td>'.$transacciones['tipo_pago'] . "</td>";
		echo  '<td>'.$transacciones['estado_transaccion'] . "</td>";
		echo  '<td>'.$transacciones['email'] . "</td></tr>";		
	}
	
	echo  '</tbody>';
	echo  '</table>';
?>





</div>
</div><!-- Fin row -->
</div><!-- Fin container -->




<!-- Inicio Footer -->
    <footer class="footer">
      <div class="container">
        <span class="text-muted"><p>Códigos <a href="https://www.baulphp.com/" target="_blank">BaulPHP</a></p></span>
      </div>
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script>window.jQuery || document.write('<script src="assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
    <script src="assets/js/vendor/popper.min.js"></script>
    <script src="dist/js/bootstrap.min.js"></script>
  </body>
</html>

Fichero DescargarPDF.php

Sera el archivo encargado de procesar la información y convertirlo en formato PDF usando la librería DOMPDF.

	include_once("db.php");
	$mihtml = '<table border=1';	
	$mihtml .= '<thead>';
	$mihtml .= '<tr>';
	$mihtml .= '<th>ID</th>';
	$mihtml .= '<th>COD Transaccion</th>';
	$mihtml .= '<th>Nombres</th>';
	$mihtml .= '<th>Tipo de Pago</th>';
	$mihtml .= '<th>Estado Transaccion</th>';
	$mihtml .= '<th>E-mail</th>';
	$mihtml .= '</tr>';
	$mihtml .= '</thead>';
	$mihtml .= '<tbody>';
	
	$resultado_transacciones = "SELECT * FROM transacciones";
	$resultado_transacciones = mysqli_query($conectar, $resultado_transacciones);
	while($transacciones = mysqli_fetch_assoc($resultado_transacciones)){
		$mihtml .= '<tr><td>'.$transacciones['id'] . "</td>";
		$mihtml .= '<td>'.$transacciones['transaccion_cod'] . "</td>";
		$mihtml .= '<td>'.$transacciones['nombres'] . "</td>";
		$mihtml .= '<td>'.$transacciones['tipo_pago'] . "</td>";
		$mihtml .= '<td>'.$transacciones['estado_transaccion'] . "</td>";
		$mihtml .= '<td>'.$transacciones['email'] . "</td></tr>";		
	}
	
	$mihtml .= '</tbody>';
	$mihtml .= '</table';

Código para forzar la descarga desde el navegador

	$dompdf->stream(
		"Lista_Transacciones", 
		array(
			"Attachment" => true //Para realizar la descarga
		)
Generar Archivo PDF con PHP y MySQLi
Generar Archivo PDF con PHP y MySQLi

CONCLUSIÓN

La creación de sistemas web hoy en día está creciendo rápidamente y sus desarroladores tambien. Sin embargo, su uso se ve incrementando en las empresas que implementan estos sistemas por su facilidad de uso.

Es por tal motivo que BAULPHP está apoyando con un granito de arena para exportar la información de la base de datos en un archivo formato PDF. Para dar dinamismo al sistema web.

DESCARGA

Descargar Código Fuente
Descarga 156 Sistemas PHP & MySQL

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

2 comentarios

  1. hola estimado tmuy buen blog de php. directo a programar y generar códigos interesantes.
    en estos momentos estoy buscando generadores de codigophp para formularios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba