segy / Mpdf

CakePHP 2.x Component for creating PDF files from HTML using mPDF class
30 stars 19 forks source link

Integracion de Mpdf con Cakephp en Español #11

Open ghost opened 9 years ago

ghost commented 9 years ago

Mpdf

MPDF es una clase PHP que genera archivos PDF desde UTF - 8 HTML codificado.

Se basa en FPDF y HTML2FPDF , con una serie de mejoras .

Es liberado bajo la licencia GNU GPL v2 .

-Requisitos

Copia de Cakephp

http://cakephp.org/

Libreria Mpdf

https://github.com/segy/Mpdf

Como se integra mpdf en cakephp ?

-Modificar el archivo bootstrap.php de ubicado en tu proyecto en la ruta

app/Config/bootstrap.php

En este archivo verificaremos que la linea

CakePlugin::loadAll();

no este comentada , ya que esta linea nos habilita la carga de plugins.

Paso 1:

-Descagar mpdf desde https://github.com/segy/Mpdf el cual ya esta modificado

para agregarlo como un plugin de cakephp.

Para descargarlo tendremos que ir a la pagina y en la parte de la derecha viene

un boton que dice Download ZIP , le damos click y nos descarga un archivo comprimido

lo descomprimimos y veremos las carpetas :

Controller

Vendor

Paso 2 :

Iremos a nuestra aplicación y buscaremos la carpeta

C:\NuestraAplicacion/plugins

-Crearemos una carpeta y la llamaremos Mpdf

dentro de esta carpeta copiaremos el contenido de la carpeta Controller

del paso 1.

Despues de esto nuestros archivos deberan quedar asi.

Y:\NuestraAplicacion\plugins\Mpdf\Controller\Component\MpdfComponent.php

Paso 3:

Iremos a nuestra aplicacion y buscaremos la carpeta vendors

C:\NuestraAplicacion\vendors

Copiaremos la carpeta mpdf del paso 1

Despues de esto nuestros archivos deberan quedar asi.

C:\NuestraAplicacion\vendors\mpdf\

y podremos ver los siguientes archivos dentro

classes examples font graph_cache

etc.

Listo ya esta integrado mpdf en cakephp.

Como generar un pdf ?

-Crear un controlador o usar uno existente .

<?php

App::uses('Controller', 'Controller');

class TestController extends Controller {

public $components = array('Mpdf.Mpdf');

public function pdf(){

// Inicializando Mpdf $this->Mpdf->init();

//Asignandole un nombre $this->Mpdf->setFilename('file232.pdf');

// Opciones de Salida to I, D, F, S //I: En linea //D: Descargar //F:Descarga automatica en raiz webroot $this->Mpdf->setOutput('I');

}

}

-Crear una vista llamada pdf la cual este almacenada en Views/Test/pdf.ctp

Contenido de la vista

<?php $this->layout="layout_para_pdfs"; ?>

Mi primer pdf

Aqui va todo el contenido de mi pdf.

por ultimo tendremos que crear una vista en View/Layouts/layout_para_pdfs.ctp

dentro de la vista agregaremos :

<?php echo $this->fetch('content'); ?>

Nota:

Podriamos evitar la linea

<?php $this->layout="layout_para_pdfs"; ?>

y la creacion de la vista View/Layouts/layout_para_pdfs.ctp y por automaticamente

tomara el layout de View/Layouts/default.ctp

Tutoriales Cakephp http://tutorialescakephp.over-blog.com/

ghost commented 9 years ago

hi segy i juan i do documentation for mpdf you can to add readme file in spanish with the previous publication . i think that is good idea. thanks.