Clase en php que utiliza dompdf para guardar un pdf
require_once 'dompdf/autoload.inc.php'; use Dompdf\Dompdf; class GeneradorPDF { private $dompdf; public function __construct() { $this->dompdf = new Dompdf(); } public function generarPDF($contenido, $nombreArchivo) { $this->dompdf->loadHtml($contenido); $this->dompdf->setPaper('A4', 'portrait'); $this->dompdf->render(); $pdf = $this->dompdf->output(); file_put_contents($nombreArchivo, $pdf); } } // Ejemplo de uso: $generadorPDF = new GeneradorPDF(); $contenido = '<html><body><h1>Ejemplo de contenido para PDF</h1></body></html>'; $nombreArchivo = 'ejemplo.pdf'; $generadorPDF->generarPDF($contenido, $nombreArchivo);
En este ejemplo, se crea una clase llamada GeneradorPDF
que utiliza la biblioteca Dompdf para generar un archivo PDF a partir de una cadena de contenido HTML. La clase tiene un método llamado generarPDF
que toma dos argumentos: $contenido
(la cadena de contenido HTML) y $nombreArchivo
(el nombre que se le dará al archivo PDF resultante).
En el constructor de la clase, se crea una instancia de la clase Dompdf y se asigna a una propiedad privada $dompdf
.
En el método generarPDF
, se carga el contenido HTML en la instancia de Dompdf utilizando el método loadHtml
. Luego, se establece el tamaño de papel y orientación utilizando el método setPaper
. A continuación, se renderiza el contenido utilizando el método render
y se almacena en una variable $pdf
.
Finalmente, el contenido del archivo PDF se guarda utilizando la función file_put_contents
, que toma como argumentos el nombre del archivo y el contenido del archivo.
En la parte inferior del ejemplo, se crea una instancia de la clase GeneradorPDF
y se llama al método generarPDF
con un ejemplo de $contenido
y $nombreArchivo
.
Este es un ejemplo básico de cómo se puede utilizar la biblioteca Dompdf en una clase de PHP para generar y guardar un archivo PDF. Es importante tener en cuenta que hay muchas formas de utilizar esta biblioteca, y que se pueden ajustar diferentes opciones para personalizar el PDF generado.