Eventos Propios - Creacion de Reportes PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 16

UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS

PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS


TUTOR: JHON JAIRO OROZCO D. Esp.

GENERACIÓN DE REPORTES PDF

ARCHIVOS PLANOS – CREACION REPORTE PDF


Como ha notado, el FrameWork crea automáticamente los EVENTOS y el CÓDIGO
RESPECTIVO para el CRUD de cada una de las tablas en sus diferentes modalidades ML o
ABM.

Como programadores crearemos nuestros propios EVENTOS con su respectivo CODIGO,


cuando se requiera; para esta guía, se crea un EVENTO que permita generar un archivo
PDF, con los datos que se encuentren en la factura de venta; por lo tanto se hace referencia
al concepto de ejecución de ARCHIVO PLANOS.

1. LIBRERIAS EXTERNAS REQUERIDAS


Descargamos las librerías existentes en internet que nos facilitan la generación de los
archivos PDF, a partir de líneas de código con etiquetas HTML
 Descargar la librería html2pdf_v4.03 (se adjunta en la plataforma - Recursos)
 Verificar su descarga en "proyectos_web/….framework/php/3ros/html2pdf_v4.03"
 La librería tiene como finalidad convertir HTML a un archivo PDF
 Tenga presente que la librería obliga a que NO se tengan errores al momento de
digitar el HTML respectivo por eso etiqueta abierta, etiqueta cerrada, por ejemplo
<TABLE> no le puede faltar </TABLE>
 También tener presente las sintaxis y estructura del código PHP

pág. 1
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

1.2. SCRIPT SQL REQUERIDOS:


 Crear y probar en PGAdmin un escript SQL: dado el id de la factura, retornar los datos
asociados a la factura: factura.*, cliente.*, empleado.*, forma_pago.*,
estado_factura.*
 Como se requieren traer los datos de la factura, adicionamos un método en
my_libreria.php con el script respectivo; tener cuidado de no sobrescribir los métodos
y bloques de { } que se encuentran funcionando.

 Analizar que el script sql hace referencia a la tabla factura, con el joins sobre las tablas
relacionadas y con respecto a la PK enviada por parámetro.

//ARMAR EL SCRIPT DEL ENCABEZADO DE LA FACTURA CON SUS ENTIDADES ASOCIADAS


static function get_datos_encabezado_factura ($factura) {
$factura = quote($factura);
$sql = "
SELECT factura.*, cliente.*, empleado.*, forma_pago.*, estado_factura.*

FROM factura, almacen, cliente, empleado, forma_pago, estado_factura


WHERE fac_almacen = alm_id
AND fac_cliente = cli_id
AND fac_empleado = emp_id
AND fac_estado_factura = estfac_id
AND fac_forma_pago = forpag_id
AND fac_id = {$factura};
";
$result = consultar_fuente($sql);
return $result;
} //fin datos encabezado factura

1.3.  Crear y probar en PGAdmin un escript SQL: dado el id de la factura, retornar los datos
asociados al detalle de la factura: factura_detalle.*, producto.*, tipo_producto.*
 Crear el método en la my_librería.php creada

//ARMAR EL SCRIPT DEL DETALLE DE LA FACTURA CON SUS ENTIDADES ASOCIADAS


static function get_datos_detalle_factura ($factura) {
$factura = quote($factura);
$sql = "
SELECT factura_detalle.*, producto.*, tipo_producto.*
FROM factura_detalle, producto, tipo_producto

pág. 2
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

WHERE facdet_producto = pro_id


AND pro_tipo_producto = tippro_id
AND facdet_factura = {$factura};
";
$result = consultar_fuente($sql);
return $result;
} //fin detalle de la factura

2. PLANTILLA BASE PARA GENERAR UN ARCHIVO PDF: Para cualquier impresión de un


archivo PDF con la librería descargada html2pdf_v4.03 tener presente:

 Se inicia con una plantilla base cuyo resultado, es una página en blanco,
 Duplicar la plantilla, para conservar dicha base de código en otras aplicaciones
 Completar el código complementario a lo que se desea mostrar con respecto a la
información de la Base de Datos.

Crear el archivo plantilla_pdf.php, dentro del directorio creado libreria con el código
PHP base siguiente (se adjunta en la plataforma - Recursos):

2.2.

<?php
error_reporting(0);
//descargar la librería y guardar en el directorio 3ros
require_once(toba_dir() . "/php/3ros/html2pdf_v4.03/html2pdf.class.php");

$pagina_html = set_cabecera_html();

$pagina_html .= set_finalizar_html ();

generar_pdf ($pagina_html);

function set_cabecera_html (){


$tamanyo_letra = 12;
$cabecera = "<!DOCTYPE html PUBLIC '-
//W3C//DTD XHTML 1.0 Transitional//EN''http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd'>";

pág. 3
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

$cabecera .= "<html xmlns='http://www.w3.org/1999/xhtml'>";


$cabecera .= "<head>";
$cabecera .= "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-
1' />";
$cabecera .= "<title>Documento sin t&iacute;tulo</title>";
$cabecera .= "<style type='text/css'>";
$cabecera .= "<!--";
$cabecera .= ".Estilo1 {color: #F0F0F0}";
$cabecera .= "-->";
$cabecera .= "</style>";
$cabecera .= "</head>";
$cabecera .= "<HTML>";
$cabecera .= "<BODY style='padding: 10px; font-size: ".$tamanyo_letra."pt;font-
family:Arial;'>";
return $cabecera;
}

function set_finalizar_html () {
$pagina_html = "</BODY></HTML>";
return $pagina_html;
}

function generar_pdf ($pagina_html) {


try {
$izquierdo = 20;
$superior = 20;
$derecho = 20;
$inferior = 20;
$tipo_hoja = "LETTER"; //"LETTER" "OFICIO"
$orientacion = 'P'; //P vertical L Horizontal
$archivo = 'factura'.'.pdf';
$html2pdf = new HTML2PDF($orientacion, $tipo_hoja, 'es', false,'LATIN1',array($izqu
ierdo, $superior, $derecho, $inferior));
ob_start();
echo $pagina_html;
$factura_venta = ob_get_contents();
ob_get_clean();
$html2pdf->writeHTML($factura_venta);
$html2pdf->Output($archivo,'I');
}catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
}
?>
pág. 4
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

3. Se crea un nuevo menú, al igual que parametrización, pero a diferencia NO TILDAR LA


OPCION MOSTRAR EN EL MENU, ya que el código PHP de los archivos planos se ejecuta
al momento de ser llamado desde un evento y el usuario final no lo visualizará

4. Creamos una Operación que se ejecutará cuando el usuario presione el EVENTO imprimir
próximo a construir

pág. 5
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

5. CREAR UN EVENTO NUEVO: En el componente CUADRO de Factura, crear un nuevo


EVENTO que se encarga de llamar y ejecutar el archivo plano creado para imprimir la
plantilla_pdf.

5.2.

5.3. Propiedades para la conexión entre el evento (botón) y la ejecución del archivo plano creado

pág. 6
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

6. RESULTADO FINAL EVENTO Y PDF: Instanciar el proyecto, para ver el funcionamiento del
EVENTO imprimir el pdf

Como resultado es que la librería convierte el archivo de la plantilla construida con


etiquetas HTML y código PHP a un archivo PDF, para imprimir o descargar

pág. 7
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

7. Tener presente que para el funcionamiento del Evento, al seleccionar una fila del cuadro se
envía la PK de la tabla factura, la cual se asocia automáticamente al crear el ABM y que debe
coincidir con la PK de la base de datos como se observa al editar el cuadro.

8. Instrucciones adicionales y obligadas:

 Por seguridad a posibles ataques la clave está protegida en el código


 En el código del CI de la Factura, adicionar la línea de código respectiva que nos
permite activar el llamado a la clave de la tabla Factura seleccionada en el cuadro para
imprimir.
 Abrimos el archivo del código del php/factura_venta/ci_factura_venta.php y adicionar en
el conf__cuadro solamente la línea que permite activar la PK desde el código

function conf__cuadro(toba_ei_cuadro $cuadro) {


$this->dep('cuadro')->desactivar_modo_clave_segura();

pág. 8
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

9.2. RECUPERACION DE LA PK DE LA FILA SELECCIONADA EN EL CUADRO:


 En el código de los archivos planos o donde se requiera, se puede recuperar en forma
de array la clave de la fila seleccionada desde el cuadro
$clave_fila = toba::memoria()->get_parametros(); //trae la clave de la fila
seleccionada
 Por ejemplo para la factura la clave es $clave_fila[‘fac_id’]

10. CODIGO PHP PARA IMPRIMIR LA FACTURA Y EL DETALLE EN UN ARCHIVO PDF


 Tenga en cuenta que la plantilla anterior muestra un pdf totalmente en blanco
 Para armar el HTML con los datos de la factura, se procede a completar la plantilla con las
líneas numeradas
 Se pasa el código completo, pero deberá saberlo interpretar; debe dominar conceptos de
HTML y CSS.
 Duplicar la plantilla_pdf.php, cambiar el nombre de la plantilla por
imprimir_factura_pdf.php o
 Crear dentro del directorio librería, el archivo imprimir_factura_pdf.php
 Dentro de la plantilla solo cambian las líneas numeradas en la gráfica inicial; con el
llamado a las funciones creadas en my_libreria, para traer los datos de la cabecera y del
detalle por separado
 El código completo es el siguiente

10.1.

10.2. El código completo del archivo imprimir_factura_pdf.php donde:


 Se hacen los llamados a los métodos get_datos_encabezado_factura y

 Get_datos_detalle_factura,

pág. 9
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

 Se envía por parámetro el id de la factura a imprimir, seleccionada del cuadro

 El código es el siguiente (se adunta en Recursos de la plataforma):


imprimir_factura_pdf.php

<?php
error_reporting(0);
//descargar la librería y guardar en el directorio 3ros
require_once(toba_dir() . "/php/3ros/html2pdf_v4.03/html2pdf.class.php");
require_once('libreria/my_Libreria.php');
//print(toba_dir());

//traer los datos de la fila del cuadro seleccionado para imprimir


//debe tener dasactivado en el cuadro modo_clave_segura
//con print_r($parametros) se recupera [fac_id] => 10 [evt] => imprimir_factura [fil
a] => 0 [tm] =>
$clave_fila = toba::memoria()->get_parametros();
//print_r($clave_fila);
//se traen los datos de la factura seleccionada
$datos_factura = my_Libreria::get_datos_encabezado_factura ($clave_fila['fac_id']);

//se traen los datos del detalle de la misma factura seleccionada


$datos_detalle_factura = my_Libreria::get_datos_detalle_factura ($clave_fila['fac_id
']);

$pagina_html = set_cabecera_html();
//print_r($pagina_html);

$pagina_html .= set_factura_encabezado ($datos_factura[0]);


//print_r($datos_factura);

$pagina_html .= set_factura_detalle ($datos_detalle_factura);


//print_r($datos_detalle_factura);

$pagina_html .= set_finalizar_html ();

generar_pdf ($pagina_html);

function set_factura_encabezado ($datos_factura) {


$numero_divisiones = 20; $ceros_antes = '';
$proyecto = toba_proyecto::get_id();
$logo = toba_dir() . '/proyectos/'.$proyecto.'/www/img/logo_factura.png';

$i = strlen($datos_factura['fac_id']);

pág. 10
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

for ($i=0; $i < 5; $i++) $ceros_antes .= '0';


$cabecera = '';
$cabecera .= "<table border=0 cellspacing=0 style='width: 100%; align: center;
font-size: 15;'>";
$cabecera .= "<tr>";
for ($columna = 0; $columna < $numero_divisiones; $columna++)
$cabecera .= "<td style='width: 5%; text-align: right'></td>";
$cabecera .= "</tr>";
$cabecera .= "<tr>";//MUESTRA EL NOMBRE DE LA EMPRESA
$cabecera .= "<td colspan='6' style='width: 30%; text-
align: left;'><STRONG>LA MELOSITA</STRONG></td>";//ESTA LINEA DE CODIGO SE EMPLEA PARA
TRAER EL NOMBRE POR DEFECTO<STRONG>".$datos_factura['cliente']."</STRONG></td>";
$cabecera .= "<td colspan='8' style='width: 40%; text-
align: center;'><STRONG>FACTURA DE VENTA</STRONG></td>";
$cabecera .= "<td colspan='6' rowspan=2 style='width: 30%; text-
align: right;'><img width=100 height=100 src=".$logo."></td>";
$cabecera .= "</tr>";
$cabecera .= "<tr>"; //MUESTRA EL DOCUMENTO DEL CLIENTE O LA EMPRESA
$cabecera .= "<td colspan='6' style='width: 30%; text-
align: left;'><STRONG>".$datos_factura['cli_nit']."</STRONG></td>";
$cabecera .= "<td colspan='8' style='width: 40%; text-
align: center;'><STRONG>NRO.".$ceros_antes.$datos_factura['fac_id']."</STRONG></td>";
$cabecera .= "<td colspan='6' rowspan=2 style='width: 30%; text-
align: right;'></td>";
$cabecera .= "</tr>";
$cabecera .= "<tr>";
$cabecera .= "<td border=0 colspan=3' style='width: 15%; text-
align: right; font-size: 12;'></td>";
$cabecera .= "<td border=0 colspan='9' style='width: 45%; text-
align: right; font-size: 12;'></td>";
$cabecera .= "<td border=1 colspan='4' style='width: 20%; text-
align: center; font-size: 12;'>TIPO CLIENTE</td>";
$cabecera .= "<td border=1 colspan='4' style='width: 20%; text-
align: center; font-size: 12;'>FORMA PAGO</td>";
$cabecera .= "</tr>";
$cabecera .= "<tr>";//MUESTRA LOS DATOS DEL CLIENTE
$cabecera .= "<td border=0 colspan='3' style='width: 15%; text-
align: left;'><STRONG>CLIENTE</STRONG></td>";
$cabecera .= "<td border=0 colspan='9' style='width: 45%; text-
align: left;'>".$datos_factura['cli_nombre']."</td>";
$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
align: center; font-size: 10;'><STRONG>MAYORISTA</STRONG></td>";
$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
align: center; font-size: 10;'><STRONG>MINORISTA</STRONG></td>";
$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
pág. 11
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

align: center; font-size: 10;'><STRONG>CREDITO</STRONG></td>";


$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
align: center; font-size: 10;'><STRONG>CONTADO</STRONG></td>";
$cabecera .= "</tr>";
$credito = 1; $contado = 2; //para comparar con la PK de la forma de pago en
la BD
$pago_credito = ''; $pago_contado = '';
if ($datos_factura['fac_forma_pago'] == $credito) $pago_credito = "X";
if ($datos_factura['fac_forma_pago'] == $contado) $pago_contado = "X";

$mayorista = 1; $minorista = 2; //para comparar con la PK del tipo de cliente


en la BD
$tipo_mayorista = ''; $tipo_minorista = '';
if ($datos_factura['cli_tipo_cliente'] == $mayorista) $tipo_mayorista = "X";
if ($datos_factura['cli_tipo_cliente'] == $minorista) $tipo_minorista = "X";

$cabecera .= "<tr>"; //MUESTRA EL DOCUEMENTO DE LA PERSONA


$cabecera .= "<td border=0 colspan='3' style='width: 15%; text-
align: left;'><STRONG>DOCUMENTO</STRONG></td>";
$cabecera .= "<td border=0 colspan='9' style='width: 45%; text-
align: left; font-size: 15;'>".$datos_factura['cli_nit']."</td>";
$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
align: center; font-size: 10;'><STRONG>".$pago_credito."</STRONG></td>";
$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
align: center; font-size: 10;'><STRONG>".$pago_contado."</STRONG></td>";
$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
align: center; font-size: 10;'><STRONG>".$tipo_mayorista."</STRONG></td>";
$cabecera .= "<td border=1 colspan='2' style='width: 10%; text-
align: center; font-size: 10;'><STRONG>".$tipo_minorista."</STRONG></td>";
$cabecera .= "</tr>";
$cabecera .= "</table>";
return $cabecera;
}

function set_factura_detalle ($factura_detalle) {


$cabecera = "<br><table border='0.5' cellspacing=0 style='width: 100%; align:
center; font-size: 10;'>";
$cabecera .= "<tr style='background: #F1EEEE;'>";
$cabecera .= "<td style='width: 5%; text-
align: center;'><strong>NRO</strong></td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'><strong>CODIGO</strong></td>";
$cabecera .= "<td style='width: 30%; text-
pág. 12
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

align: center;'><strong>DESCRIPCION</strong></td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'><strong>CANTIDAD</strong></td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'><strong>VALOR UNIDAD</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: center;'><strong>IVA %</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: center;'><strong>VALOR TOTAL</strong></td>";
$cabecera .= "</tr>";
$total = 0; $fila = 0;
foreach($factura_detalle as $items) {
foreach ($items as $item => $value) {
if ($item == 'facdet_factura') $factura = $value;
if ($item == 'facdet_producto') $producto = $value;
}
$total = $total + (($items['facdet_cantidad'] * $items['facdet_valor_unida
d']+ ($items['facdet_cantidad'] * $items['facdet_valor_unidad']*($items['facdet_iva']/
'100'))));
$cabecera .= "<tr>";
$cabecera .= "<td style='width: 5%; text-
align: center;'>".$fila++."</td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'>".$items['pro_referencia']."</td>";
$cabecera .= "<td style='width: 30%; text-
align: left;'>".$items['pro_nombre']."</td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'>".$items['facdet_cantidad']."</td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'>".number_format($items['facdet_valor_unidad'])."</td>";
$cabecera .= "<td style='width: 10%; text-
align: center;'>".number_format($items['facdet_iva'])."</td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'>".number_format(($items['facdet_cantidad'] * $items['facdet_valor_unida
d']+ ($items['facdet_cantidad']* $items['facdet_valor_unidad']*($items['facdet_iva']/'
100'))), 0)."</td>";
$cabecera .= "</tr>";
}
//$valor_letras = my_libreria::get_valor_letras($total);
$valor_letras = 'investigar';
$valor_letras = str_replace('CON 00/100', '', $valor_letras);
$valor_letras = str_replace('CON 0/100', '', $valor_letras);
$valor_letras .= ' PESOS MCTE';
$cabecera .= "</table>";
$cabecera .= "<table border='0.5' cellspacing=0 style='width: 100%; align: cen
pág. 13
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

ter;'>";
$cabecera .= "<tr style='background: #F1EEEE;'>";
$cabecera .= "<td style='width: 70%; text-align: left; font-
size:8;'><strong>SON: ".$valor_letras."</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'><strong>Total</strong></td>";
$cabecera .= "<td style='width: 15%; text-
align: right;'><strong>".number_format($total, 0)."</strong></td>";
$cabecera .= "</tr>";
$cabecera .= "</table>";
return $cabecera;
}

function set_cabecera_html (){


$tamanyo_letra = 12;
$cabecera = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>";
$cabecera .= "<html xmlns='http://www.w3.org/1999/xhtml'>";
$cabecera .= "<head>";
$cabecera .= "<meta http-equiv='Content-Type' content='text/html; charset=iso-
8859-1' />";
$cabecera .= "<title>Documento sin t&iacute;tulo</title>";
$cabecera .= "<style type='text/css'>";
$cabecera .= "<!--";
$cabecera .= ".Estilo1 {color: #F0F0F0}";
$cabecera .= "-->";
$cabecera .= "</style>";
$cabecera .= "</head>";
$cabecera .= "<HTML>";
$cabecera .= "<BODY style='padding: 10px; font-size: ".$tamanyo_letra."pt;font-
family:Arial;'>";
return $cabecera;
}

function set_finalizar_html () {
$pagina_html = "</BODY></HTML>";
return $pagina_html;
}

function generar_pdf ($pagina_html) {


try {
$izquierdo = 20;
$superior = 20;
$derecho = 20;

pág. 14
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

$inferior = 20;
$tipo_hoja = "LETTER"; //"LETTER" "OFICIO"
$orientacion = 'P'; //P vertical L Horizontal
$archivo = 'factura'.'.pdf';
$html2pdf = new HTML2PDF($orientacion, $tipo_hoja, 'es', false,'LATIN1',array(
$izquierdo, $superior, $derecho, $inferior));
ob_start();
echo $pagina_html;
$factura_venta = ob_get_contents();
ob_get_clean();
$html2pdf->writeHTML($factura_venta);
$html2pdf->Output($archivo,'I');
}catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
}
?>

10.1. Re direccionar nuevamente el archivo plano de imprimir_factura_pdf, para que no abra la


plantilla_pdf.php, sino el archivo imprimir_factura_pdf.php creado

pág. 15
UNIREMINGTON MANIZALES – INGENIERIA DE SISTEMAS
PROGRAMACIÓN III – PROGRAMACIÓN CON FRAMEWORKS
TUTOR: JHON JAIRO OROZCO D. Esp.

10.2. Instanciar para ver los resultados de impresión

TALLER DE APLICACIÓN:
11. Realizar el mismo proceso, para imprimir en su proyecto personal

pág. 16

También podría gustarte