La Terminal

Archive for the ‘Open Source’ Category

Bueno ha pasado largo tiempo desde que publico algo, pero el trabajo y la vida casado aún no las domino XDD

Ya hay algunas mejoras en el terreno laboral entre ellas nueva laptop =) lo malo es que con Windows Vista =( como ya se imaginarán el migrar implica instalar programas, y cambiar muchos otros por la compatibilidad y más si hablamos de vista.

Hoy me dí unos minutos para ver porque en firebug no trabajaba la instrucción CONSOLE, encontré sin muchos problemas la solución en el siguiente enlace:
http://www.bram.us/2008/08/29/firebug-12-vs-firefox-2-fixing-the-console-is-not-defined-error/

El cual explica que se debe llamar a "window.loadFirebugConsole()" antes de usar la instrucción CONSOLE y listo =P

Solo es necesario cargarlo una vez y realizar las llamadas necesarias a CONSOLE.

Saludos.

Anuncios
Etiquetas: , ,

No me había dado cuenta que hace ya casi 15 días por fin salio una nueva versión de la clase favorita de los que inician con php y los reportes en pdf.

Así es hablo de FPDF de la mano de su autor Olivier Plathey, la versión en cuestión salio el 03 de Agosto de este año 2008 y aunque no la he revisado estas son las mejoras.

v1.6 (2008-06-08)
– GIF image support.
– Images can now trigger page breaks.
– Possibility to have different page formats in a single document.
– Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.
– Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.
– An automatic page break in Header() doesn’t cause an infinite loop any more.
– Removed some warning messages appearing with recent PHP versions.
– Added HTTP headers to reduce problems with IE.

Como siempre no esta de más recordar que es una clase libre y gratuita incluso para utilizar en proyectos donde se consiga un beneficio económico, además esta clase es la base para muchas otras variantes (ver página del blog fpdf).

Enlace para descargar Aquí.

Fuente: Foro fpdf

Etiquetas: , ,

Ok, esto debió salir ayer pero hasta hoy me dí el tiempo necesario para publicarlo.

Indagando un poco sobre frameworks me encontré con uno interesante de nombre CodeIgniter, no he tenido grandes complicaciones para echarlo andar y seguir ejemplos, tiene una documentación clara aunque muy concentrada (muy corta para mi gusto).

Así que buscando más sobre el tema llegue al blog de Isern Palaus el cual se centra en los siguientes temas Música, Programación y Diseño.

De hecho ya tuve la oportunidad de tratar con él por email (a causa de unos post sobre CodeIgniter) y es una gran persona, me respondió en horas unas dudas. Desde ayer ya forma parte de Los Blogs que visitó. Así que los invito a que lo conozcan.

Por cierto tiene unos post de iniciación en el framework interesantes como este Codeigniter iniciación y configuración.

Saludos.

Etiquetas:

En ocasiones necesitamos que nuestro PDF generado con la clase FPDF o derivadas tengo una mejor presentación con el uso de la fuentes, pero las fuentes que tiene la clase son muy pocas, si revisamos la documentación encontramos que la instrucción SetFont explica lo siguiente:

“Establece la fuente usada para imprimir cadenas de carácteres. Es obligatorio invocar este método por lo menos una vez antes de imprimir texto o el documento resultante no será válido.

La fuente puede ser una estándar o una adicionada via el método AddFont().”

Es decir, las fuentes estándar son aquellas que vienen con la clase y para su uso se debe tener acceso a los ficheros de medida. No podemos usar las fuentes de forma directa.

El método AddFont describe de forma muy clara aunque a la vez escueta la forma de agregar fuentes.

“Importa una fuente TrueType o Type1 y la hace disponible. Es necesario primero generar un archivo de definición de fuente con la utilidad makefont.php.

El archivo de definición (y el archivo de fuente mismo cuando es incorporado) debe estar presente en el directorio de fuentes. Si no puede ser encontrado, es generado el error <Could not include font definition file>.”

Bueno agregar una fuente de acuerdo al Tutorial 7 no es tan fácil como agregarla con un define(‘ruta’), ya que se requiere un fichero de medidas y un archivo de definición de fuente. Si hay otra forma más sencilla adelante expreselo en los comentarios 😀

Añadir una nueva fuente requiere tres pasos para las TrueType (las comunes):
* Generación del fichero de medidas (.afm)
* Generación del fichero de definición de la fuente (.php)
* Declaración de la fuente en el script

En el tutorial esta muy bien explicado y el archivo de la clase viene acompañado con un ejemplo, de todas formas hice la prueba con una fuente y no tuve mayor problema.

Para el ejemplo NO manejo la misma cantidad de pasos pero el resultado es el mismo, además utilizo la siguiente <Ruta: C:\servidor_web\fpdf> y tengo la siguiente estructura de directorios:

servidor_web <localhost>
|_genera_fuente.php
|__ FPDF
|____ afm
|____ doc
|____ font
|____ makefont
|_______ makefont.php
|____ pfm
|____ tutorial

El directorio AFM (Adobe Font Metrics) contiene el programa tff2pt1 del proyecto “True Type Font to Postscript Type 1 Converter“. Puede descargarse desde la página del proyecto o desde la liga de FPDF, antes de descargar cualquier cosa sigan leyendo hasta terminar el paso uno.

El directorio PFM (Printer Font Metrics) contiene el programa pfm2afm una utilidad para convertir ficheros de medidas. Se puede descargar desde la liga de FPDF, por cierto no encontré referencia hacia alguna página oficial de la utileria y la fecha que muestra el archivo es de 1991 😦

El directorio Makefont tiene el archivo makefont.php que genera el archivo de definición de fuente y que podemos utilizar a través de un archivo php.

IDENTIFICACIÓN DEL TIPO.
El paso 1 es identificar el tipo de fuente a utilizar (TrueType o Type1), ya que si se tratase del segundo caso (Type1) ya nos ahorramos algo de trabajo y pasaremos al paso 3, sino es así continuar en el paso 2-b.

Nota: Además de la fuente Type1 se necesita un archivo AFM, si en lugar de este último se tiene un archivo PFM continuar en el paso 2-a.

GENERACIÓN DEL FICHERO DE MEDIDAS.
El paso 2 consiste en generar un archivo AFM (el fichero de medidas).

2-a. Si su archivo de medidas esta en formato PFM se debe convertir con la ayuda de la utilidad PFM2AFM, el enlace en párrafos anteriores.

En una ventana de DOS (si esa pantallita en negro sin soporte para ratón y sin iconos xDD) escribir:
pfm2afm infile [outfile] -a = pfm2afm evanescence.pfm evanescence.afm -a

infile corrresponde al nombre del archivo PFM
outfile corresponde al nombre del archivo AFM que será generado.
El parámetro -a se los quedo a deber 😛
Como resultado tendremos el archivo de medidas en formato AFM.

2-b. Se debe generar un archivo AFM con la utilidad ttf2pt1, el enlace en párrafos anteriores.

En una venta de DOS escribir:
ttf2pt1 -a infile.ext [outfile] = ttf2pt1 -a impact.ttf impact

infile corresponde al nombre del archivo con su extensión TTF (Fuente TrueType)
outfile el nombre que tendrá el archivo de medidas, no es necesario indicar la extensión.
El parámetro -a se los quedo a deber 😛

Como resultado obtendremos una lista extensa como salida en la pantalla y el mensaje Finished – font files created. Se generan dos archivos el AFM que nos interesa y otro con extensión T1A que podemos borrar con toda confianza.

Nota: Las fuentes se encuentran en las respectivas carpetas para evitar problemas de rutas, los archivos resultantes también se generan en las respectivas carpetas.

El tutorial 7 tiene como ejemplo la fuente Comic Sans y la ruta c:\windows\fonts\comic.ttf, la cual no probe pero los invito a intentarlo 🙂


GENERACIÓN DEL FICHERO DE DEFINICIÓN DE LA FUENTE
.
El paso 3 ya que se tiene el archivo de medidas AFM es generar la definición de la fuente con ayuda del archivo makefont.php. Aunque su uso es sencillo tal vez la fuente o el idioma en el que se utilice requiera ciertos ajustes en los parámetros de la función que realiza la definición (Como el uso del símbolo del Euro € o caracteres aún más especiales).

La función MakeFont tiene los siguientes parámetros para su uso.
MakeFont(string fontfile, string afmfile [, string enc [, array patch [, string type]]])

fontfile: Ubicación del fichero .ttf o .pfb.
afmfile: Ubicación del fichero .afm.
enc: Nombre de la codificación. Valor por defecto: cp1252 codificación (Europa Occidental).
patch: Modificación opcionar de la codificación. Vacío por defecto.
type: Tipo de la fuente (TrueType o Type1). Valor por defecto: TrueType.

Como esto es un ejemplo y no me quiero complicar la existencia usaremos lo mínimo de parámetros, para eso genere el archivo “genera_fuente.php” no quedo muy elegante pero todo es cuestión de que ustedes le agreguen una interfaz para seleccionar la ruta y fuente, el fichero AFM y la codificación. NO prometo nada pero si tengo tiempo luego lo mejoro.

<.?php
require(‘fpdf/font/makefont/makefont.php’);
MakeFont(‘c:\\windows\\fonts\\impact.ttf’, ‘fpdf/afm/impact.afm’, ‘cp1252’);

//como la fuente es nativa de windows intente utilizar el directorio y no hubo problemas.

//La ruta con la estructura de carpetas es C:\\servidor_web\\fpdf\\impact.ttf

?.>

Por favor eliminen los puntos antes y después de los signos de interrogación, lo puse porque wordpress me edita los códigos 😛

La salida del archivo es la siguiente:
Font file compressed (impact.z)

Font definition file generated (impact.php)

Recuerden solo se genera el archivo Z si tienen activa la librería de compresión ZLIB. El activarla queda fuera de esta explicación, esa es otra historia XD

Los archivos generados deben buscarlos en la misma carpeta donde tienen el archivo genera_fuente.php o en su caso el archivo que hace la llamada a la función MakeFont.

Bueno ya tenemos 2 archivos (impact.z, impact.php), lo menos que pueden obtener es 1 archivo (impact.php).

Ahora hay que copiar los ficheros generados (menos el AFM) en el directorio de fuentes (de la clase NO de windows). Si el fichero de la fuente no pudo ser comprimido (impact.z), copie el .ttf o .pbf en lugar del .z.

Como en mi caso se genero el archivo comprimido (Z) solo copie los archivos impact.z y el archivo impact.php. Si no me hubiera generado el comprimido habría tenido que copiar los archivos impact.ttf y el archivo impact.php.

Nota: Si por alguna razón pierden el archivo Z y no tienen, no saben o no quieren instalar la librería ZLIB editen el archivo PHP y cambien la línea $file=’impact.z’; en lugar de hacer referencia al archivo Z debe hacer referencia al archivo TTF.

En el archivo PDF solo hay que establecer las fuentes a utilizar e indicar en que momento.
El método AddFont puede llevar por lo menos un parámetro (El nombre de la fuente) para trabajar.

El nombre de la fuente la puede obtener al ver las propiedades de la misma (en windows Abrir), si el nombre no es correcto la fuente no se cargará y el pdf generará un error. Como referencia revisen la fuente que incluye la clase calligra.ttf (nombre: Calligrapher).

$pdf->AddFont(‘Calligrapher’,”,’calligra.php’); //Fuente de ejemplo que incluye la Clase.
$pdf->AddFont(‘Impact’,”,’impact.php’); //Fuente de windows convertida con el proceso.


$pdf->SetFont(‘Impact’,”,15);
$pdf->Cell(0,4,’Soy Una Fuente muy Impactante’,0,1,’C’);

$pdf->Ln(10);
$pdf->SetFont(‘Calligrapher’,”,25);
$pdf->Cell(0,4,’Mi caligrafía puede mejorar’,0,1,’C’);

Anexo el mismo documento PDF del ejemplo el cual usa dos fuentes incorporadas Calligrapher <fuente demo del zip> y la fuente Impact nativa de Windows.

Click en la imagen para ver más grande.

Uso de Fuente Impact

Uso de Fuente Calligrapher

Archivo de Ejemplo click para bajar.

Si alguien desea los archivos de la fuente Impact o los cambios al archivo de ejemplo por favor deje un mensaje.

Saludos.

Etiquetas: , , ,

Oh, la Física… nunca he sido bueno con ese tipo de materias 😛 y cuando habló de física no me refiero a ejercitarse si no aquella que nos enseña el porque de muchas cosas, porque el agua y el aceite no se mezclan, porque todo lo que sube tiene que bajar y un largo etcétera.

Siempre pensé que su enseñanza hubiera sido más fácil con tener ejemplos en tiempo real y de paso dejar de escuchar al profesor con su monologo. Encuentro en Gizmodo un programa llamado Phun que realmente me ha dejado sorprendido.

Citando a Gizmodo:

Phun es un divertidísimo simulador físico 2D que te permite dibujar fácilmente objetos (sólidos o líquidos) que interactúan entre sí siguiendo las leyes de la física.

La idea es de un estudiante sueco, los archivos necesarios pueden encontrarse en su página web totalmente gratis, existen versiones para Windows y Linux y próximamente para OSX.

Windows

Phun beta 3 installermirror (1.8 MiB) – recommendado

Phun beta 3 zip archivemirror (1.9 MiB)

Para ejecutar Phun deben instalar vcredist:
vcredist_x86.exemirror (2.6 MiB)

Linux

Phun beta 3 for 32-bit Linux, tar.bz2 archive (2.9 Mib)
Phun beta 3 for 64-bit Linux, zip archive (2.4 Mib)

Antes de preguntar porque no funciona revisen la FAQ y comprueben que instalaron los archivos necesarios, la FAQ acá http://www.acc.umu.se/~emilk/faq.html.

Fuente: Gizmodo, página oficial de Phun.

Etiquetas: , , , ,

Dando lectura al post del fpdf del que no creía que llegaría a tener muchos comentarios =p me encuentro con una solicitud de una persona de nombre Jean, la cual hasta hoy no me había planteado en el uso de esta clase o derivadas.

El tiene que aplicar formato (negritas) a una porción de texto que envía como salida al pdf, sin embargo no conozco una forma de hacer eso =S digamos que el quiere hacer algo así:

Dos Elefantes se columpiaban sobre la tela de una araña.

No me culpen, fue lo primero que se me ocurrió =D además agreguen que desea hacerlo en un Multicell así que la propuesta es interesante. Ahora imaginen que luego le piden que algunas palabras de ese mismo párrafo usen itálicas (cursivas), otras usen un color rojo, algunas palabras deben ser más grandes para resaltar o más pequeñas (como el porcentaje de cobro xDD).

Todo eso se puede encontrar en la clase JLPDF de Juan Luis a continuación una imagen (tomada de El Ticus) de lo que se puede hacer:

Es visita obligada la página para usar la clase, aunque no tiene mayor complicación su manejo y aprendizaje es más rápido leyendo el sitio y consultando los ejemplos.

Espero que sea de utilidad para esos casos especiales =) Saludos.

Fuente: El Ticus.

Leo en las noticias que el Sr. Carlos Slim ha llegado a un acuerdo de compra (aunque en la noticia dicen que ya compro) para 50,000 unidades del OLPC para distribuirlas en el país mi pregunta es: ¿Comó pretende distribuirlas?

  • Como una donación a un grupo marginado en algún estado.
  • Creando un centro de enseñanza para capacitar niños a través de fundación Telmex.
  • Entregando uno a las personas que apoya su fundación para terminar su estudios de educación básica, en fin se me ocurren otras pero es solo especulación.

Bueno esto debió salir hace 2 días, pero me quede sin internet XD después de revisar algunas otras notas los OLPC serán usados en bibliotecas y centros que las prestarán como si fueran ¡¿libros?!  Ojalá funcione la propuesta aunque una portátil no asegura que el niño aprenda, así que los maestros también tendrán que poner de su parte para que el proyecto funcione.

Fuente: The Boston Globe.


septiembre 2017
L M X J V S D
« Feb    
 123
45678910
11121314151617
18192021222324
252627282930  

Blog Stats

  • 1,103,297 hits

FeedBurner

Flickr Photos