SlideShare una empresa de Scribd logo
1 de 2
Descargar para leer sin conexión
Añadir nuevas fuentes para PDF


Programas necesarios
                                        Proceso de generación de fuentes
                                        Esta primera imagen es la visualización del directorio fuentes de estos materiales. Podrás
Para generar las nuevas fuentes es observar que contiene fuentes TrueType y el ejecutable ttf2pt1.
necesario disponer del programa
ttf2pt1.exe. Si accedemos a este Hemos incluido dos fuentes TrueType llamadas bobcayge.ttf y bobcaygr.ttf. Serán las que
enlace podemos ver, en la zona de utilizaremos para añadir nuevas opciones de fuentes a nuestros PDF's.
descargas, una opción dónde dice
Complete package, except sources
desde el que podemos descargar el
fichero ttf2pt1-3.4.4.exe.

Al ejecutar este instalador, con la
opción por defecto, nos creará un
directorio llamado GnuWin32 (en
Archivos de Programa) dentro del
cual encontramos un directorio              ¡Cuidado!
llamado bin en el que se
encuentra el ejectuable ttf2pt1.          No es necesario que realices la instalación de ttf2pt1-3.4.4.exe comentada al margen. En el
                                          subdirectorio fuentes de estos materiales ya dispones del fichero ttf2pt1.
El resto de las opciones de esta
distribución no son necesarias para
nuestros fines.
                                        Creación del fichero .afm
Creación del fichero .afm
                                           Desde la ventana de MS-DOS y una vez elegido el directorio que contiene el ejecutable
                                        ttf2pt1 podemos crear el fichero .afm usando la siguiente sintaxis:
Este fichero, cuya extensión es el
acrónimo de Adobe Font Metric
                                           ttf2pt1 -anombre_de_la_fuente_TrueType.ttf         nombre_del_nuevo_fichero
contiene las información sobre
ancho, alto y kerning de cada
carácter de una fuente.

El primer paso ha de ser la
creación de ese fichero. El
procedimiento para hacerlo es el
que tienes descrito al margen.

    ¡Cuidado!

   En el directorio fuentes
   tienes los ficheros cayge.
   afm y caygr.afm generados
   según el proceso descrito al
   margen.
                                           Nos generará dos ficheros con el nombre asignado al nuevo fichero y extensiones .afm
                                        y .t1a tal como puedes ver en la imagen.
Definición de las fuentes

El directorio fontsPDF de estos
materiales (recuerda que es el
fruto de renombrar el directorio
font extraido del fichero de            Creación del fichero de definición de fuente
instalación de la clase FPDF)
contiene otro subdirectorio               Este es un ejemplo de script que permitiría definir nuevas fuentes mediante la utilidad
(makefont) que incluye un script        makefont.
llamado makefont.php. La
definición de fuentes requiere la
ejecuación de una de las funciones       <?
que contiene ese script llamada          # incluimos el fichero makefont.php que está
MakeFont() y que utiliza los             # en la ruta que se especifica (si lo tuvieramos en otra
siguientes parámetros:                   # ubicación bastaría cambiar el path del include
                                         include("c:/Apache/htdocs/cursoPHP/fontsPDF/
MakeFont(f1, f2, c, p, tipo)
                                                             makefont/makefont.php");
donde f1 es el nombre y path de la       # ejecutamos la función MakeFont indicando como parametros
fuente TrueType a utilizar (fichero .    # la ruta y el fichero ttf a convertir(la fuente trueType)
ttf), f2 es el nombre del fichero .      # y como segundo parámetro la ruta y el nombre del fichero afm
afm creado para esta misma               # creado en el proceso anterior
fuente mediante ttf2pt1. Estos           MakeFont("c:/Apache/htdocs/cursoPHP/fuentes/bobcaygr.ttf",
dos parámetros son obligatorios.                           "c:/Apache/htdocs/cursoPHP/fuentes/caygr.afm");
                                         ?>
Mediante el parámetro c (opcional)
se especifica el tipo de codificación
(el mapa de fuentes a utilizar). Si
no se indica el valor por defecto          Al ejecutar el script anterior puede ocurrir que, dependiendo de la fuente ttf que
sería cp1252.                           estemos utilizando, aparezcan mensajes de advertencia como los que ves en esta imagen.
El parámetro opcional c permite
cambiar la codificación de algunos
caracteres, y, mediante tipo
puede indicarse el tipo de fuente
original (por defecto se asigna
TrueType).

La definición de nuevas fuentes
requiere la ejecución de la función        Significaría que algunos tipos (generalmente los asociados a los caracteres ASCII
MakeFont. Para ello, una de las         ampliados) no estarían disponibles y que, en consecuencia, o no se visualizarían o se
opciones, es utilizar un script como    visualizarían de forma incorrecta.
el que ves a la derecha. En una
primera instrucción se incluye el       Una vez creados los ficheros como las nuevas fuentes es necesario incluirlos en el
fichero makefont.php y en la
                                        directorio fontsPDF de modo que estén disponibles a la hora de crear los documentos PDF.
segunda se hace una llamada a la
función únicamente con los
parámetros obligatorios.

La ejecución de ese script daría
como resultado la creación de dos
ficheros con el mismo nombre.
Uno de ellos con extensión .z y el
otro con extensión .php. Ambos,
para que puedan ser usados por la
clase FPDF, deberán ser incluidos
en el directorio fontsPDF.               Ejemplo de utilización

Diferentes tipografías                   La utilización de nuevas fuentes requiere que

Lo habitual es que entre las               objeto->AddFont(nombre_a_utilizar, estilo, fichero_fuente.php)
fuentes TrueType de un tipo
determinado existan varios               donde el nombre_a_utilizar puede ser cualquiera, el parámetro estilo puede ser la cadena
ficheros. Uno para la fuente             vacía y el tercer parámetro es el nombre y extensión del fichero .php que contiene la
normal, otro para la cursiva,            definición de la fuente y que fué creado por medio de makefont.
etcétera. Cuando se trabaja con
este tipo de fuentes y se pretende          Si se omite el tercer parámetro será asignado, de forma automática, la cadena
usar estilos distintos lo aconsejable    formada por la unión las cadenas nombre_a_utilizar y estilo, agregándole la extensión .
es definir una fuente para cada          php.
tipo y tratarlos, a la hora de
escribir el código de los script
como fuentes independientes.              <?
                                          #incluimos el fichero con la clase y definimos la variable FPDF_FONTPATH
De esta forma podríamos tener             # con el mismo criterio comentado en el ejemplo anterior
parejas de ficheros del estilo:           include("fpdf.php");
fxx_normal.z y fxx_normal.php;            define('FPDF_FONTPATH','c:/Apache/htdocs/cursoPHP/fontsPDF/');
fxx_cursiva.z y fxx_cursiva.php,          /* establecemos las dimensiones del documento
etcétera. A la hora de utilizarlas se        creamos un nuevo objeto y añadimos una página*/
haría como si se tratara de fuentes
                                          $dimensiones=array (140,200);
de distintas familias y habría de
                                          $MiPDF=new FPDF('P','mm',$dimensiones);
evitarse incluir el estilo en SetFont.
                                          # ajustamos al 100% la visualización
La sintaxis de la asignación de           $MiPDF->SetDisplayMode('real');
fuentes habría de ser:                    #insertamos una página en blanco
                                          $MiPDF->Addpage();
$obj->SetFont("nombre","", 9);            # establecemos el color de la letra
dejando el valor del segundo
                                          $MiPDF->SetTextColor(255,0,0);
parámetro (estilo) como una               # añadimos la nueva fuente. Podemos ponerle un nombre cualquiera
cadena vacía. La única excepción a        # Al no incluir estilo considerará el estilo normal
esta norma sería el caso del              $MiPDF->AddFont('fuentenueva1','','cayge.php');
subrayadado que no requiere otra          # a indicar SetFont habremos de utilizar el mismo nombre de fuente
cosa que asignar el valor U al            # establecido mediante AddFont
parámetro estilo.                         $MiPDF->SetFont('fuentenueva1','',24);
                                          $MiPDF->Multicell(0,10,"Prueba de la fuente que hemos
Precauciones con las                                                     llamado fuente nueva1",1,'L',0);
fuentes                                   $MiPDF->Ln(10);
                                          # incluimos la fuente caygr.php con nombre fuentenueva2
                                          $MiPDF->AddFont('fuentenueva2','','caygr.php');
El uso de fuentes externas puede          $MiPDF->SetFont('fuentenueva2','',24);>
producir efectos indeseados si, por
                                          $MiPDF->Multicell(0,10,"Prueba de la fuente que hemos
alguna circunstancia, tal como
ocurre en los ejemplos la fuente                                         llamado fuente nueva2",1,'R',0);
utilizada carece de alguno                $MiPDF->Output();
carácteres (eñes, letras con tilde,       ?>
símbolos). Conviene tenerlo en
cuenta para evitar que la elección
de una tipografía pueda afectar a
los contenidos del documento.                                            Ejemplo144.php

                                         En estos dos ejemplos pueden verse los resultados -con algunos problemas gráficos- de
                                         la sustitución de las fuentes en algunos de los ejemplos de páginas anteriores.

                                                             ejemplo145.php              ejemplo146.php

                                                                          Anterior   Indice   Siguiente

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Archivos de Cabecera.
Archivos de Cabecera.Archivos de Cabecera.
Archivos de Cabecera.
 
Flex y Byson
Flex y BysonFlex y Byson
Flex y Byson
 
Objetivo 01 Archivos de Texto
Objetivo 01 Archivos de TextoObjetivo 01 Archivos de Texto
Objetivo 01 Archivos de Texto
 
Manejo de archivosss
Manejo de archivosssManejo de archivosss
Manejo de archivosss
 
Fichc
FichcFichc
Fichc
 
Manejo archivos
Manejo archivosManejo archivos
Manejo archivos
 
Manejo de archivos en c++
Manejo de archivos en c++Manejo de archivos en c++
Manejo de archivos en c++
 
Archivos en C
Archivos en CArchivos en C
Archivos en C
 
Archivos C++
Archivos C++Archivos C++
Archivos C++
 
Ficheros C++
Ficheros C++Ficheros C++
Ficheros C++
 
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
77 Php. Celdas Multiples, Encabezados Y Pies De Pagina
 
ARCHIVOS LENGUAJE C
ARCHIVOS LENGUAJE CARCHIVOS LENGUAJE C
ARCHIVOS LENGUAJE C
 
TALLER FLEX Y BISON
TALLER FLEX Y BISONTALLER FLEX Y BISON
TALLER FLEX Y BISON
 
Bibliotecas en c
Bibliotecas en cBibliotecas en c
Bibliotecas en c
 
Instrucciones básicas para C++
Instrucciones básicas para C++Instrucciones básicas para C++
Instrucciones básicas para C++
 
Usando flex en Windows
Usando flex en WindowsUsando flex en Windows
Usando flex en Windows
 
Como desarrollar-un-sistema-en-php-paso-a-paso
Como desarrollar-un-sistema-en-php-paso-a-pasoComo desarrollar-un-sistema-en-php-paso-a-paso
Como desarrollar-un-sistema-en-php-paso-a-paso
 
Php y pdf
Php y pdfPhp y pdf
Php y pdf
 

Destacado (20)

Tutorial issuu
Tutorial issuuTutorial issuu
Tutorial issuu
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Presentación 2013
Presentación 2013Presentación 2013
Presentación 2013
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
1 5.-t.s.com-peni
1 5.-t.s.com-peni1 5.-t.s.com-peni
1 5.-t.s.com-peni
 
Eufrasio y miguel
Eufrasio y miguelEufrasio y miguel
Eufrasio y miguel
 
Sg t1 practica_e_criptfs
Sg t1 practica_e_criptfsSg t1 practica_e_criptfs
Sg t1 practica_e_criptfs
 
Defensa del portafolio
Defensa del portafolioDefensa del portafolio
Defensa del portafolio
 
WORD 2007
WORD 2007WORD 2007
WORD 2007
 
Audacity
AudacityAudacity
Audacity
 
Usando Gmail
Usando GmailUsando Gmail
Usando Gmail
 
Modalidades de capacitacion
Modalidades de capacitacionModalidades de capacitacion
Modalidades de capacitacion
 
Tutorial creación de carpetas
Tutorial creación de carpetasTutorial creación de carpetas
Tutorial creación de carpetas
 
Formación en tic's e.especial
Formación en tic's e.especialFormación en tic's e.especial
Formación en tic's e.especial
 
Mozzilaportable
MozzilaportableMozzilaportable
Mozzilaportable
 
manejo de estilos en Word
manejo de estilos en Wordmanejo de estilos en Word
manejo de estilos en Word
 
Presentación
Presentación Presentación
Presentación
 
Manual para crear un Blog
Manual para crear un BlogManual para crear un Blog
Manual para crear un Blog
 
INTRODUCCIÓN DE WORD
INTRODUCCIÓN DE WORDINTRODUCCIÓN DE WORD
INTRODUCCIÓN DE WORD
 
Final
FinalFinal
Final
 

Similar a 77 Php. AñAdir Nuevas Fuentes Para Pdf

Similar a 77 Php. AñAdir Nuevas Fuentes Para Pdf (20)

Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
Lectura y Escritura de archivos a MatLab
Lectura y Escritura de archivos a MatLabLectura y Escritura de archivos a MatLab
Lectura y Escritura de archivos a MatLab
 
Lectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosLectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivos
 
Inf 20 (fpdf)
Inf 20 (fpdf)Inf 20 (fpdf)
Inf 20 (fpdf)
 
Php
PhpPhp
Php
 
56 Php. Transferencia De Ficheros
56 Php. Transferencia De Ficheros56 Php. Transferencia De Ficheros
56 Php. Transferencia De Ficheros
 
Software Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - EnunciadoSoftware Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - Enunciado
 
Manejo dearchivosc
Manejo dearchivoscManejo dearchivosc
Manejo dearchivosc
 
Archivos c
Archivos cArchivos c
Archivos c
 
Archivos c
Archivos cArchivos c
Archivos c
 
54 Php. La Opcion Include
54 Php. La Opcion Include54 Php. La Opcion Include
54 Php. La Opcion Include
 
Programacion php
Programacion phpProgramacion php
Programacion php
 
2 7 ficheros_php
2 7 ficheros_php2 7 ficheros_php
2 7 ficheros_php
 
Pdf
PdfPdf
Pdf
 
Acceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-phpAcceso a-base-de-datos-en-php
Acceso a-base-de-datos-en-php
 
04 Php. Configuracion De Apache
04 Php. Configuracion De Apache04 Php. Configuracion De Apache
04 Php. Configuracion De Apache
 
mejorando con php
mejorando con phpmejorando con php
mejorando con php
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 
78 Php. Headers Y Visualizacion
78 Php. Headers Y Visualizacion78 Php. Headers Y Visualizacion
78 Php. Headers Y Visualizacion
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 

Más de José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTJosé M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busquedaJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionJosé M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20José M. Padilla
 

Más de José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 

Último (15)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

77 Php. AñAdir Nuevas Fuentes Para Pdf

  • 1. Añadir nuevas fuentes para PDF Programas necesarios Proceso de generación de fuentes Esta primera imagen es la visualización del directorio fuentes de estos materiales. Podrás Para generar las nuevas fuentes es observar que contiene fuentes TrueType y el ejecutable ttf2pt1. necesario disponer del programa ttf2pt1.exe. Si accedemos a este Hemos incluido dos fuentes TrueType llamadas bobcayge.ttf y bobcaygr.ttf. Serán las que enlace podemos ver, en la zona de utilizaremos para añadir nuevas opciones de fuentes a nuestros PDF's. descargas, una opción dónde dice Complete package, except sources desde el que podemos descargar el fichero ttf2pt1-3.4.4.exe. Al ejecutar este instalador, con la opción por defecto, nos creará un directorio llamado GnuWin32 (en Archivos de Programa) dentro del cual encontramos un directorio ¡Cuidado! llamado bin en el que se encuentra el ejectuable ttf2pt1. No es necesario que realices la instalación de ttf2pt1-3.4.4.exe comentada al margen. En el subdirectorio fuentes de estos materiales ya dispones del fichero ttf2pt1. El resto de las opciones de esta distribución no son necesarias para nuestros fines. Creación del fichero .afm Creación del fichero .afm Desde la ventana de MS-DOS y una vez elegido el directorio que contiene el ejecutable ttf2pt1 podemos crear el fichero .afm usando la siguiente sintaxis: Este fichero, cuya extensión es el acrónimo de Adobe Font Metric ttf2pt1 -anombre_de_la_fuente_TrueType.ttf nombre_del_nuevo_fichero contiene las información sobre ancho, alto y kerning de cada carácter de una fuente. El primer paso ha de ser la creación de ese fichero. El procedimiento para hacerlo es el que tienes descrito al margen. ¡Cuidado! En el directorio fuentes tienes los ficheros cayge. afm y caygr.afm generados según el proceso descrito al margen. Nos generará dos ficheros con el nombre asignado al nuevo fichero y extensiones .afm y .t1a tal como puedes ver en la imagen. Definición de las fuentes El directorio fontsPDF de estos materiales (recuerda que es el fruto de renombrar el directorio font extraido del fichero de Creación del fichero de definición de fuente instalación de la clase FPDF) contiene otro subdirectorio Este es un ejemplo de script que permitiría definir nuevas fuentes mediante la utilidad (makefont) que incluye un script makefont. llamado makefont.php. La definición de fuentes requiere la ejecuación de una de las funciones <? que contiene ese script llamada # incluimos el fichero makefont.php que está MakeFont() y que utiliza los # en la ruta que se especifica (si lo tuvieramos en otra siguientes parámetros: # ubicación bastaría cambiar el path del include include("c:/Apache/htdocs/cursoPHP/fontsPDF/ MakeFont(f1, f2, c, p, tipo) makefont/makefont.php"); donde f1 es el nombre y path de la # ejecutamos la función MakeFont indicando como parametros fuente TrueType a utilizar (fichero . # la ruta y el fichero ttf a convertir(la fuente trueType) ttf), f2 es el nombre del fichero . # y como segundo parámetro la ruta y el nombre del fichero afm afm creado para esta misma # creado en el proceso anterior fuente mediante ttf2pt1. Estos MakeFont("c:/Apache/htdocs/cursoPHP/fuentes/bobcaygr.ttf", dos parámetros son obligatorios. "c:/Apache/htdocs/cursoPHP/fuentes/caygr.afm"); ?> Mediante el parámetro c (opcional) se especifica el tipo de codificación (el mapa de fuentes a utilizar). Si no se indica el valor por defecto Al ejecutar el script anterior puede ocurrir que, dependiendo de la fuente ttf que sería cp1252. estemos utilizando, aparezcan mensajes de advertencia como los que ves en esta imagen. El parámetro opcional c permite cambiar la codificación de algunos caracteres, y, mediante tipo puede indicarse el tipo de fuente original (por defecto se asigna TrueType). La definición de nuevas fuentes requiere la ejecución de la función Significaría que algunos tipos (generalmente los asociados a los caracteres ASCII MakeFont. Para ello, una de las ampliados) no estarían disponibles y que, en consecuencia, o no se visualizarían o se opciones, es utilizar un script como visualizarían de forma incorrecta. el que ves a la derecha. En una primera instrucción se incluye el Una vez creados los ficheros como las nuevas fuentes es necesario incluirlos en el fichero makefont.php y en la directorio fontsPDF de modo que estén disponibles a la hora de crear los documentos PDF. segunda se hace una llamada a la
  • 2. función únicamente con los parámetros obligatorios. La ejecución de ese script daría como resultado la creación de dos ficheros con el mismo nombre. Uno de ellos con extensión .z y el otro con extensión .php. Ambos, para que puedan ser usados por la clase FPDF, deberán ser incluidos en el directorio fontsPDF. Ejemplo de utilización Diferentes tipografías La utilización de nuevas fuentes requiere que Lo habitual es que entre las objeto->AddFont(nombre_a_utilizar, estilo, fichero_fuente.php) fuentes TrueType de un tipo determinado existan varios donde el nombre_a_utilizar puede ser cualquiera, el parámetro estilo puede ser la cadena ficheros. Uno para la fuente vacía y el tercer parámetro es el nombre y extensión del fichero .php que contiene la normal, otro para la cursiva, definición de la fuente y que fué creado por medio de makefont. etcétera. Cuando se trabaja con este tipo de fuentes y se pretende Si se omite el tercer parámetro será asignado, de forma automática, la cadena usar estilos distintos lo aconsejable formada por la unión las cadenas nombre_a_utilizar y estilo, agregándole la extensión . es definir una fuente para cada php. tipo y tratarlos, a la hora de escribir el código de los script como fuentes independientes. <? #incluimos el fichero con la clase y definimos la variable FPDF_FONTPATH De esta forma podríamos tener # con el mismo criterio comentado en el ejemplo anterior parejas de ficheros del estilo: include("fpdf.php"); fxx_normal.z y fxx_normal.php; define('FPDF_FONTPATH','c:/Apache/htdocs/cursoPHP/fontsPDF/'); fxx_cursiva.z y fxx_cursiva.php, /* establecemos las dimensiones del documento etcétera. A la hora de utilizarlas se creamos un nuevo objeto y añadimos una página*/ haría como si se tratara de fuentes $dimensiones=array (140,200); de distintas familias y habría de $MiPDF=new FPDF('P','mm',$dimensiones); evitarse incluir el estilo en SetFont. # ajustamos al 100% la visualización La sintaxis de la asignación de $MiPDF->SetDisplayMode('real'); fuentes habría de ser: #insertamos una página en blanco $MiPDF->Addpage(); $obj->SetFont("nombre","", 9); # establecemos el color de la letra dejando el valor del segundo $MiPDF->SetTextColor(255,0,0); parámetro (estilo) como una # añadimos la nueva fuente. Podemos ponerle un nombre cualquiera cadena vacía. La única excepción a # Al no incluir estilo considerará el estilo normal esta norma sería el caso del $MiPDF->AddFont('fuentenueva1','','cayge.php'); subrayadado que no requiere otra # a indicar SetFont habremos de utilizar el mismo nombre de fuente cosa que asignar el valor U al # establecido mediante AddFont parámetro estilo. $MiPDF->SetFont('fuentenueva1','',24); $MiPDF->Multicell(0,10,"Prueba de la fuente que hemos Precauciones con las llamado fuente nueva1",1,'L',0); fuentes $MiPDF->Ln(10); # incluimos la fuente caygr.php con nombre fuentenueva2 $MiPDF->AddFont('fuentenueva2','','caygr.php'); El uso de fuentes externas puede $MiPDF->SetFont('fuentenueva2','',24);> producir efectos indeseados si, por $MiPDF->Multicell(0,10,"Prueba de la fuente que hemos alguna circunstancia, tal como ocurre en los ejemplos la fuente llamado fuente nueva2",1,'R',0); utilizada carece de alguno $MiPDF->Output(); carácteres (eñes, letras con tilde, ?> símbolos). Conviene tenerlo en cuenta para evitar que la elección de una tipografía pueda afectar a los contenidos del documento. Ejemplo144.php En estos dos ejemplos pueden verse los resultados -con algunos problemas gráficos- de la sustitución de las fuentes en algunos de los ejemplos de páginas anteriores. ejemplo145.php ejemplo146.php Anterior Indice Siguiente