Si tienes un mes en formato ENERO este lo cambiara a 02, funciona en la versión de Excel 2013, solo se tienen que reemplazar J2 por la celda que contenga el mes en formato de texto, espero que le sea de ayuda a alguien.
=SI(J2="ENERO","01",SI(J2="FEBRERO","02",
SI(J2="MARZO","03",SI(J2="ABRIL","04",
SI(J2="MAYO","05",SI(J2="JUNIO","06",
SI(J2="JULIO","07",SI(J2="AGOSTO","08",
SI(J2="SEPTIEMBRE","09",
SI(J2="OCTUBRE","10",
SI(J2="NOVIEMBRE","11",
SI(J2="DICIEMBRE","12","ERROR"))))))))))))
Blog en donde encontraras ejemplos de código fuente, soluciones a problemas en Linux y Más
25 noviembre 2017
16 octubre 2015
Agregar y Eliminar Elementos en un array JSON
Este script es un ejemplo del como agregar o eliminar elementos en JSON, con integración de jquery y syntaxhighlighter, aquí el código fuente
<html>
<head>
<meta charset="UTF-8">
<title>Agrega o Elimina Elementos en JSON</title>
</head>
<script src="js/jquery-1.11.3.js" type="text/javascript"></script>
<script type="text/javascript" src="js/syntaxhighlighter_3.0.83/scripts/shCore.js"></script>
<script type="text/javascript" src="js/syntaxhighlighter_3.0.83/scripts/shBrushJScript.js"></script>
<link type="text/css" rel="stylesheet" href="js/syntaxhighlighter_3.0.83/styles/shCoreDefault.css"/>
<script type="text/javascript">SyntaxHighlighter.all();</script>
<script type="text/javascript">
//elemento JSON
var data = {items: [
{id: "1", nombre: "Carlos", sexo: "Masculino"},
{id: "2", nombre: "Belem", sexo: "Femenino"},
{id: "3", nombre: "Hugo", sexo: "Masculino"},
]};
$(document).ready(function(){
//Muestra el elemento JSON antes de su modificación
$("#elementsJsonSinModificaciones").text(JSON.stringify(data,null, '\t'));
//Llamamos a la funcion elimina_json, para la eliminación de dos registros mediante la opción .splice()
elimina_en_json();
//Mostramos el elemento JSON en el elemento <pre> con las eliminaciones realizadas
$("#elementsJsonConModificaciones").text(JSON.stringify(data,null, '\t'));
//Se llama a la siguiente función para agregar un elemento al JSON
agrega_en_json();
//Mostramos nuevamente el elemento JSON en el las tags </pre> con un elemento mas al JSON
$("#elementsJsonAgregar").text(JSON.stringify(data,null, '\t'));
});
//Función que elimina dos elementos apartir del registro 1
function elimina_en_json(){
data.items.splice(1,2);
}
//funcion que agrega un registro al elemento JSON
function agrega_en_json(){
data.items.push(
{id: "7", nombre: "Daniela", sexo: "Femenino"}
);
}
</script>
<body>
<span>CreateBy Abraham Zenteno Sánchez <a href="https://facebook.com/abzenteno">abzenteno Facebook</a></span><br/>
Elementos de un JSON
<pre class="brush: js; " id="elementsJsonSinModificaciones"></pre>
Eliminando elementos en el JSON con: <b>data.items.splice(1, 3);</b>
<pre class="brush: js; " id="elementsJsonConModificaciones"> </pre>
Agregando Elementos en un JSON con: <b>data.items.push({id: "7", nombre: "Daniela", sexo: "Femenino"});</b>
<pre class="brush: js;" id="elementsJsonAgregar"></pre>
</body>
</html>
Resultado del ejemplo:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Agrega o Elimina Elementos en JSON</title>
</head>
<script src="js/jquery-1.11.3.js" type="text/javascript"></script>
<script type="text/javascript" src="js/syntaxhighlighter_3.0.83/scripts/shCore.js"></script>
<script type="text/javascript" src="js/syntaxhighlighter_3.0.83/scripts/shBrushJScript.js"></script>
<link type="text/css" rel="stylesheet" href="js/syntaxhighlighter_3.0.83/styles/shCoreDefault.css"/>
<script type="text/javascript">SyntaxHighlighter.all();</script>
<script type="text/javascript">
//elemento JSON
var data = {items: [
{id: "1", nombre: "Carlos", sexo: "Masculino"},
{id: "2", nombre: "Belem", sexo: "Femenino"},
{id: "3", nombre: "Hugo", sexo: "Masculino"},
]};
$(document).ready(function(){
//Muestra el elemento JSON antes de su modificación
$("#elementsJsonSinModificaciones").text(JSON.stringify(data,null, '\t'));
//Llamamos a la funcion elimina_json, para la eliminación de dos registros mediante la opción .splice()
elimina_en_json();
//Mostramos el elemento JSON en el elemento <pre> con las eliminaciones realizadas
$("#elementsJsonConModificaciones").text(JSON.stringify(data,null, '\t'));
//Se llama a la siguiente función para agregar un elemento al JSON
agrega_en_json();
//Mostramos nuevamente el elemento JSON en el las tags </pre> con un elemento mas al JSON
$("#elementsJsonAgregar").text(JSON.stringify(data,null, '\t'));
});
//Función que elimina dos elementos apartir del registro 1
function elimina_en_json(){
data.items.splice(1,2);
}
//funcion que agrega un registro al elemento JSON
function agrega_en_json(){
data.items.push(
{id: "7", nombre: "Daniela", sexo: "Femenino"}
);
}
</script>
<body>
<span>CreateBy Abraham Zenteno Sánchez <a href="https://facebook.com/abzenteno">abzenteno Facebook</a></span><br/>
Elementos de un JSON
<pre class="brush: js; " id="elementsJsonSinModificaciones"></pre>
Eliminando elementos en el JSON con: <b>data.items.splice(1, 3);</b>
<pre class="brush: js; " id="elementsJsonConModificaciones"> </pre>
Agregando Elementos en un JSON con: <b>data.items.push({id: "7", nombre: "Daniela", sexo: "Femenino"});</b>
<pre class="brush: js;" id="elementsJsonAgregar"></pre>
</body>
</html>
Resultado del ejemplo:
03 mayo 2014
TL-WN725N V2 EN ELEMENTARY OS KERNEL 3.2.0-61-generic-pae
Bueno quiero compartirles este tutorial a todos los usuarios que se inicializan en Elementary OS o mejor conocido como eOS, en lo particular esta versión de linux me parece muy bonita ligera que vale la pena probar, he tenido algunos problemas con mi tarjeta de red interna ralink RT5390R por lo que me fue imposible instalar el modulo por ello me dispuse a comprar una usb wifi modelo TL-WN725N, asi que les dejo el tuto de los pasos que segui para que funcionara:
# apt-get install linux-headers-$(uname -r) build-essential git dkms
descargar el controlador aqui posteriormente descomprimimos el archivo
# cd lwfinger-rtl8188eu-63fe7cd
# make
# make install
# modprobe 8188eu
# update-initramfs -u
Reiniciamos el equipo y listo tendremos funcionando nuestro wifi usb TP-LINK, si por las dudas no funcionara presiona Fn + F2, no me pregunten por que pero tal vez funcione eso :D
Como podran ver se enuentra activada la red inalambrica, hice un # lshw -C network
*-network
descripción: Interfaz inalámbrica
id físico: 3
información del bus: usb@2:1.1
nombre lógico: wlan0
serie: xx:xx:xx:xx:xx:xx
capacidades: ethernet physical wireless
configuración: broadcast=yes driver=r8188eu ip=192.168.1.79 multicast=yes wireless=IEEE 802.11bgn
Saludos hasta la proxima
# apt-get install linux-headers-$(uname -r) build-essential git dkms
descargar el controlador aqui posteriormente descomprimimos el archivo
# cd lwfinger-rtl8188eu-63fe7cd
# make
# make install
# modprobe 8188eu
# update-initramfs -u
Reiniciamos el equipo y listo tendremos funcionando nuestro wifi usb TP-LINK, si por las dudas no funcionara presiona Fn + F2, no me pregunten por que pero tal vez funcione eso :D
Como podran ver se enuentra activada la red inalambrica, hice un # lshw -C network
*-network
descripción: Interfaz inalámbrica
id físico: 3
información del bus: usb@2:1.1
nombre lógico: wlan0
serie: xx:xx:xx:xx:xx:xx
capacidades: ethernet physical wireless
configuración: broadcast=yes driver=r8188eu ip=192.168.1.79 multicast=yes wireless=IEEE 802.11bgn
22 mayo 2013
Problemas con broadcom bc4311 en Ubuntu 12.04 Price Pangolin
Que tal como siempre al cambio de cada distro tengo problemas con el driver de mi wi-fi así que busque y busque y encontré la solución en un foro de ubuntu así que aquí la resolución al problema de nuestra wi-fi
Pasos a seguir.
1 Abrir Synaptic y poner en el buscador 'bcm"
2 Asegurarse de que esten instalados los paquete "firmware-b43-installer" y "b43-fwcutter"
3 Marcar para desinstalar el paquete "bcmwl-kernel-source" y aplicar.
2 Asegurarse de que esten instalados los paquete "firmware-b43-installer" y "b43-fwcutter"
3 Marcar para desinstalar el paquete "bcmwl-kernel-source" y aplicar.
4 Escribir en un terminal:
cat /etc/modprobe.d/* | egrep 'bcm'
cat /etc/modprobe.d/* | egrep 'bcm'
Aparecerá el texto "blacklist bcm43xx"
5 Después escribir:
# nano /etc/modprobe.d/blacklist.conf
# nano /etc/modprobe.d/blacklist.conf
y en el archivo que nos abre el gedit poner un # al comienzo de la linea: blacklist bcm43xx
6 Guardar.
7 Reiniciar la compu.
6 Guardar.
7 Reiniciar la compu.
Y listo! espero le sirva de ayuda a alguien.
05 mayo 2013
Registro de logs en DB CakePhp 2.0.x
Podemos registrar logs de nuestra aplicación registrando en archivos o en su caso en la base de datos que en esta ultima manera es de que trata este tutorial, a continuación explico la manera de como implementar eta funcionalidad a sus aplicaciones hechas en CakePhp 2.0.x.
Como primer paso deberá crea la tabla en su base de datos:
Una vez creada la tabla de la base de datos procedemos a crear el modelo de nuestra tabla:
class Log extends AppModel{
public $name = 'Log';
}
Por último solo nos resta definir nuestra variable de configuración Cake indicando que el metodo de registro de logs sera por medio de inserción en la base de datos para esto se agregara la constante de configuración en AppController
Ahora bien el siguiente código muestra como utilizar la clase estatíca CakeLog con la función de login
Como se muestra en código anterior se utiliza la clase estatíca :
CakeLog::write('info', 'User ' . $this->Auth->user('username') . ' successfully logged in.');
Para registrar cuando inician sesión los usuarios, los tipos de logs definidos por CakePhp son:
También puede definir sus propios tipos de logs para mas información
http://book.cakephp.org/2.0/en/core-libraries/logging.html
Resultado del registro
Como primer paso deberá crea la tabla en su base de datos:
CREATE TABLE IF NOT EXISTS `logs` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `type` VARCHAR(20) NOT NULL, `time` datetime NOT NULL, `message` text NOT NULL, PRIMARY KEY (`id`) );
Una vez creada la tabla de la base de datos procedemos a crear el modelo de nuestra tabla:
/*Model/Log.php*/
public $name = 'Log';
}
Una vez hecho lo anterior se procederá a crear la clase DataBaseLogger la cual tendrá la finalidad de insertar en nuestra db y no en los archivos logs, crear el archivo app/Lib/Log/Engine/DatabaseLogger.php con el siguiente contenido:
App::uses('CakeLogInterface','Log');
class DatabaseLogger implements CakeLogInterface{
function __construct($options = array()) {
App::import('Model', 'Log');
$this->Log = new Log;
}
function write($type, $message) {
$log['type'] = ucfirst($type);
$log['time'] = date('Y-m-d H:i:s');
$log['message'] = $message;
return $this->Log->save($log);
}
}
Por último solo nos resta definir nuestra variable de configuración Cake indicando que el metodo de registro de logs sera por medio de inserción en la base de datos para esto se agregara la constante de configuración en AppController
class AppController extends Controller {
function beforeFilter(){
CakeLog::config('otherFile',array(
'engine' => 'DatabaseLogger',
'model' => 'Log'));
}
}
?>
Donde Engine hace referencia a DatabaseLogger y model al modelo de la tabla en la que se insertaran los logs.Ahora bien el siguiente código muestra como utilizar la clase estatíca CakeLog con la función de login
/*metodo de Controlador*/function login(){ $this->layout = "tpl_login"; if( ! $this->Session->read('Auth.User') ){ if ($this->request->is('post')) { if ($this->Auth->login()) {CakeLog::write('info', 'User ' . $this->Auth->user('username') . ' successfully logged in.'); $this->redirect($this->Auth->redirect()); }else{ $this->Session->setFlash('Your username or password was incorrect.'); } } }else{ $this->redirect($this->Auth->redirect()); } } ?>
Como se muestra en código anterior se utiliza la clase estatíca :
CakeLog::write('info', 'User ' . $this->Auth->user('username') . ' successfully logged in.');
Para registrar cuando inician sesión los usuarios, los tipos de logs definidos por CakePhp son:
'emergency' 'alert' 'critical' 'error' 'warning' 'notice' 'info' 'debug'
También puede definir sus propios tipos de logs para mas información
http://book.cakephp.org/2.0/en/core-libraries/logging.html
Resultado del registro
20 abril 2012
Backup and Restore Rules Iptables
Para hacer Backup
# iptables-save -c > iptables_backup.txt
Para hacer Restore
# iptables-restore -c < iptables_backup
# iptables-save -c > iptables_backup.txt
Para hacer Restore
# iptables-restore -c < iptables_backup
01 marzo 2012
Acceso remoto PostgreSQL 8.4 en Ubuntu Server
Para habilitar el acceso remoto a postgres basta con editar dos archivos de configuración de nuestro gestor de base de datos, los cuales son /etc/postgresql/8.4/main/postgresql.con y /etc/postgresql/8.4/main/pg_hba.conf, antes de modificar cualquiera de estos dos ficheros te recomiendo realices una copia de seguriad por cualquier situación que suceda, así podrás comenzar de nuevo o en su caso dejar los valores de configuración por defecto, bueno comencemos:
Archivo de configuración postgresql.conf
Cambiara la línea
#listen_addresses = 'localhost'
Por
listen_addresses = '*'
Archivo de configuración pg_hba.cong
# Database administrative login by UNIX sockets
local all postgres ident
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Por:
# Database administrative login by UNIX sockets
local all postgres md5
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 0.0.0.0 0.0.0.0 md5
Archivo de configuración postgresql.conf
Cambiara la línea
#listen_addresses = 'localhost'
Por
listen_addresses = '*'
Archivo de configuración pg_hba.cong
# Database administrative login by UNIX sockets
local all postgres ident
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Por:
# Database administrative login by UNIX sockets
local all postgres md5
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 0.0.0.0 0.0.0.0 md5
Por último basta con reiniciar los servicios de postgres con el comando
#/etc/init.d/postgresql restart
Ahora podremos conectarnos remotamente con nuestro gestor de bases de datos.
27 julio 2011
Como resolver problema wi-fi broadcom bc43xx en ubuntu natty partner
Que tal desde el dia de ayer instale la nueva versión de ubunut 11.04 64 y ya con ella instalada me tope con el problema de que no tenia soporte mi wi-fi broadcom bcm4311, leyendo algunos tutoriales encuentro la solución solo basta con descargar el paquete deb de maverick (ubunut 10.10) instalarlo, reiniciar el equipo, y tendremos funcionando nuestra wi-fi.
Primero actualicemos nuestro sistema:
$ sudo apt-get update
$ sudo apt-get upgrade
Descargar el driver aqui de ubuntu 10.10, debes tomar en cuenta tu arquitectura sea 32 o 64.
Primero actualicemos nuestro sistema:
$ sudo apt-get update
$ sudo apt-get upgrade
Descargar el driver aqui de ubuntu 10.10, debes tomar en cuenta tu arquitectura sea 32 o 64.
Procedemos a instalar el paquete, en mi caso fue driver:
# dpkg -i bcmwl-kernel-source_5.60.48.36+bdcom-0ubuntu5_amd64.deb
Verificamos que no muestre algún mensaje de error al instalar, si todo va bien procedemos a reiniciar y tendremos nuestra wi-fi funcionando.
26 julio 2011
Como resolver el problema del menu Aptana Studio 3 en Unity de Ubuntu Natty Partner
Que tal bueno esta noche tuve un problema con el menu de Aptana Studio 3 y Unity de Ubuntu 11.04, por que ninguno de los menus del IDE se veia entonces me dedique a buscar para resolver el problema y es simple resolverlo con un simple script sh asi que este es el contenido:
#!/bin/bash
cd /opt/Aptana\ Studio\ 3
export UBUNTU_MENUPROXY=0
./AptanaStudio3
Toma muy en cuenta el path y el nombre en donde se encuentra instalado Aptana Studio 3.
Posteriormente puedes crear un lanzador de tipo (Aplicacion en Terminal), basta con hacer referencia al archivo y agregarle un Icono al mismo y abrira el ide ya con sus menus correspondientes.
RESULTADO=

25 agosto 2010
Apagado automatico en Debian
Bueno pues aunque simple pero funciona el apagado automatico de debian con tarea programada crontab.
# crontab -e
0 0 * * * /sbin/shutdown -h now
Salvar los cambios, esto quiere decir que se apagara el equipo a las 0 (24hr) todos los dias explicacion rapida:
Minutos Entre 0 y 59
Horas Entre 0 y 23
Día Entre 1 y 31
Mes Entre 1 y 12
Dia de la semana Entre 0 y 6. 0 es Domingo, 1 Lunes, … 6 Sábado
Solo queda reiniciar el cron
# /etc/init.d/cron restart
Para ver las tareas programadas el siguiente comando
# crontab -l
Listo espero les sea de ayuda, esto lo aplique a mi servidor WEB casero solo se apague por las noches, invstigare si se puede encender automaticamente pero sera en otro POST saludos.......
# crontab -e
0 0 * * * /sbin/shutdown -h now
Salvar los cambios, esto quiere decir que se apagara el equipo a las 0 (24hr) todos los dias explicacion rapida:
Minutos Entre 0 y 59
Horas Entre 0 y 23
Día Entre 1 y 31
Mes Entre 1 y 12
Dia de la semana Entre 0 y 6. 0 es Domingo, 1 Lunes, … 6 Sábado
Solo queda reiniciar el cron
# /etc/init.d/cron restart
Para ver las tareas programadas el siguiente comando
# crontab -l
Listo espero les sea de ayuda, esto lo aplique a mi servidor WEB casero solo se apague por las noches, invstigare si se puede encender automaticamente pero sera en otro POST saludos.......
24 mayo 2010
X (
Creo que he dejado un poco o algo olvidado mi blog, y es momento de que funcione nuevamente, talvez sea por que no he tenido tanto tiempo de ingresar algo a mi blog pero prometo poco a poco escribir algunos post que puedan servir de utilidad para los demas saludos
24 marzo 2010
How do resolved error [an error occurred while processing this directive] Dokeos
Mi problema con dokeos era cuando al crear un curso y al tratar de acceder a el mandaba el molesto [an error occurred while processing this directive], esto en hosting bluehost, bueno solo hay que cambiarle los permisos de la carpeta courses a 755 de manera recursiva no se te olvide recursivamente, si creas un curso y tienes el molesto mensaje vuelve a cambiar los permisos, aqui unas capturas, yo cabie permisos con filezilla
captura error
filezilla

Como se ve en la imagen seleccionamos carpeta courses, cambiar permisos 775 - incluir todos los directorios y carpetas - aplicar a todos los directorios y carpteas
bueno espero sea de ayuda para alguien saludos.
captura error

filezilla

Como se ve en la imagen seleccionamos carpeta courses, cambiar permisos 775 - incluir todos los directorios y carpetas - aplicar a todos los directorios y carpteas
bueno espero sea de ayuda para alguien saludos.
13 marzo 2010
Instalacion y configuracion de ZendFramework y Zend tools via SVN

Este post trata de la instalacion y configuracion de ZendFramework via Subversion, no olvidemos que existe la version zend en los repositorios de Debian o Ubuntu, podremos instalarlo via apt o subversion aqui veremos con svn, primero necesitaremos los paquetes subversion, php5, apache2 y php5-cli, para ello podremos instalarlos via apt ya teniendo los paquetes procedemos con la instalacion y configuracion de zendFramework y Zend Tools.
# mkdir /opt/ZendFramework
# cd /opt/ZendFramework
OBTENEMOS EL PACK DE ZENDFRAMEWOK VIA SVN
# svn co http://framework.zend.com/svn/framework/standard/tags/release-1.9.7
Una vez terminado la descarga creamos un enlace simbolico
# ln -s release-1.9.7 current
Para que hacemos el enlace simbolico? mas adelante configuraremos variables de entorno en diferntes archivos de configuracion php si queremos actualizar la version de zend bastara con descargar la version via svn y crear el enlace simbolico y ya no tendremos que editar los archivos de configuracion, por que las configuracions apuntaran al enlace simbolico
Ahora editamos el archivo de configuracion php.ini
# gedit /etc/php5/apache2/php.ini
cambiar o editar la linea include_path por
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"
Ahora editamos el archivo de configuracion php-cli
# gedit /etc/php5/cli/php.ini
cambiar o editar la linea include_path
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"
Bueno con esto tendremos la version ZendFramework y la configuracion de Zend en php, ahora configuraremos Zend Tools para ello editamos el archivo bashrc pero de manera usuario normal, entonces
$ nano ~/.bashrc
Y agregamos la linea siguiente al archivo.
PATH=/opt/ZendFramework/current/bin:"${PATH}"
Despues de ello procedemos a reiniciar el sistema para que reconozca el nuevo comando zf desde la consola
para povar que Zend Tools esta instalado correctamente hacemos
$ zf.sh show version
Zend Framework Version: 1.9.7
Listo Zend Tools se encuentra trabajando para crear nuestro prime proyecto
# chown -R usuario:www-data /var/www
$ cd /var/www
$ zf.sh create project yourProject
Esto creara la estructura del proyecto ZendFramework modelos vistas controladores
Por ultimo agregamos las librerias de ZendFramework al proyecto creado anteriormente
$ cp -r /opt/ZendFramework/current/library/Zend /var/www/yourProject/library/Zend
LISTO!
ESTE ARTICULO FUE PROBADO E DEBIAN Y UBUNTU
09 enero 2010
FSlint [ buscador de archivos repetidos ]

El dia de hoy me dispuse a realizar un respaldo de mi pc pero con tantos archivos, tenia ya muchos repetidos bueno en cuestion de archivos de audio asi que me dispuse a buscar una aplicacion para que buscara todos los archivos repetidos de mi pc y disminuir el almacenamiento y buscando por la web me encuentro en el blog de ubuntutips.ar una aplicacion llamada FSlint solo hay que instalar la via aptitude o apt es pero q esta utilidad les sea de ayuda saludos.
Ubuntu
$ sudo aptitude install fslint
Debian
# apt-get install fslint
03 diciembre 2009
Generar pdf con la ayuda de ezpdf en codeigniter

include_once('class.pdf.php');
por
include_once(APPPATH . 'libraries/class.pdf.php');
Ahora creamos un helper, este helper nos ayudara a definir de una el formato de hoja los margenes y el pie de cada pagina el nombre del archivo es el siguiente pdf_helper.php, claro cabe mencionar que debe ser almacenado el archivo en la carpeta helpers, dentro colocamos el siguiente codigo:
<?php
if(!defined('BASEPATH'))exit('No direct script access allowed');
/*helper funcion ayuda a definir los margenes tipografía y creación del footer y números de pagína*/
function prep_pdf($orientation = 'portrait'){
$CI =& get_instance();
$CI->cezpdf->selectFont(APPPATH.'libraries/fonts/Helvetica.afm');
$all = $CI->cezpdf->openObject();
$CI->cezpdf->saveState();
$CI->cezpdf->setStrokeColor(0,0,0,1);
if($orientation == 'portrait') {
$CI->cezpdf->ezSetMargins(20,70,20,20);
$CI->cezpdf->ezStartPageNumbers(570,28,8,'','{PAGENUM}',1);
$CI->cezpdf->line(20,40,578,40);
$CI->cezpdf->addText(25,32,8,'Impreso ' . date('m/d/Y h:i:s a'));
}
else {
$CI->cezpdf->ezStartPageNumbers(750,28,8,'','{PAGENUM}',1);
$CI->cezpdf->line(20,40,800,40);
$CI->cezpdf->addText(25,32,8,'Impreso '.date('m/d/Y h:i:s a'));
}
$CI->cezpdf->restoreState();
$CI->cezpdf->closeObject();
$CI->cezpdf->addObject($all,'all');
}
?>
solo resta hacer una prueba en el controlador para generar el pdf aqui el codigo a colocar en el controlador:
<?phpacedemos http://domain/index.php/controller/genera_pdf, esto para que verificar que se han cumpido todos los pasos en este minu tuto espero haya sido de ayuda, y recuerda comentar no cuesta nada saludos.
public function genera_pdf(){
/*load library cezpdf*/
$this->load->library('cezpdf');
$this->load->helper('pdf_helper');
prep_pdf();
$this->cezpdf->ezText('<b>Cliente No.:</b> 12');
$this->cezpdf->ezText('<b>Cliente:</b> Abraham Zenteno Sanchez');
$this->cezpdf->ezText('<b>Tienda:</b> Plaza Dorada');
$this->cezpdf->ezText('<b>Fecha y hora de impresion:</b> '.date('Y-m-d').', '.date('H:i').' hrs.');
$this->cezpdf->ezText('');
$db_data[] = array('eye' => 'O.D.','ESF' => '+9.75','CIL' => '-1.25','EJE' => '3','ADD' => '+2.50','REF' => 'D.I. 4 mm');
$db_data[] = array('eye' => 'O.I.','ESF' => '+9.20','CIL' => '-1.00','EJE' => '3','ADD' => '+4.50','REF' => 'D.I. 3 mm');
$col_names = array(
'eye' => '',
'ESF' => 'ESF.',
'CIL' => 'CIL.',
'EJE' => 'EJE',
'ADD' => 'ADD',
'REF' => ''
);
$this->cezpdf->ezTable($db_data, $col_names, 'Graduacion registrada el 3 de Diciembre del 2009', array('width'=>550));
$this->cezpdf->ezStream(array('Content-Disposition'=>'nama_file.pdf'));
}
?>
Suscribirse a:
Entradas (Atom)
Excel 2013, convertir mes en texto a numero
Si tienes un mes en formato ENERO este lo cambiara a 02, funciona en la versión de Excel 2013, solo se tienen que reemplazar J2 por la celda...
-
Este manual esta dedicado a la instalacion y configuracion de cakePHP en sistemas Debian,Ubuntu y variantes, durante el proceso de la insta...
-
La generacion de pdf en codeigniter es una de las tareas mas habituales en el desarrollo de un sitio web o sistema ya sea para generar repor...
-
Si tienes un mes en formato ENERO este lo cambiara a 02, funciona en la versión de Excel 2013, solo se tienen que reemplazar J2 por la celda...



