Foros del Web » Programando para Internet » PHP »

Error con TCPDF y la fuente Arial | HTML en PDF

Estas en el tema de Error con TCPDF y la fuente Arial | HTML en PDF en el foro de PHP en Foros del Web. Estoy probando la clase TCPDF para generar un PDF que va a "incluir" HTML. Tuve algunos problemas pero ya voy saliendo poco a poco ( ...
  #1 (permalink)  
Antiguo 02/07/2007, 14:12
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 15 años, 4 meses
Puntos: 102
Error con TCPDF y la fuente Arial | HTML en PDF

Estoy probando la clase TCPDF para generar un PDF que va a "incluir" HTML. Tuve algunos problemas pero ya voy saliendo poco a poco ()... pero hay algo a lo que ya le busqué y no le encuentro.

Cuando mi HTML hace referencia a la fuente Arial, me dice que no puede leer dicha fuente...

Con este código:
Código HTML:
<font face="Arial">Texto Arial</font><br /> 
Me arroja el siguiente error:
Cita:
Warning: TCPDF::include(/var/www/tcpdf/fonts/arial.php) [function.TCPDF-include]: failed to open stream: No such file or directory in /var/www/tcpdf/tcpdf.php on line 1658
Y básicamente eso... hice algunas pruebas (supuestamente descargué dicha fuente pero me entregaba otro error sin descripción) pero creo seria conveniente partir de aquí.

No esta de sobra decir que estoy en Linux trabajando con PHP5. con la clase FPDF no tuve este tipo de problemas. Busqué en la carpeta de fuentes de FPDF y no esta Arial, busqué en la carpeta "old" de TCPDF y tampoco la veo...

¿Cómo podré solucionar esto?. Ojalá alguien tenga una idea.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #2 (permalink)  
Antiguo 02/07/2007, 15:38
CiS
 
Fecha de Ingreso: abril-2002
Mensajes: 71
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Error con TCPDF y la fuente Arial | HTML en PDF

Hola!
Utilizo FPDF (soy principiante); a partir de tu comentario fui a mirar la carpeta "font" y me sorprendio no encontrar Arial alli. Sin embargo yo la utilizo:
Código:
$this->SetFont('Arial','',10);
Entonces busque en el archivo fpdf.php y vi la siguiente funcion:
Código:
function AddFont($family,$style='',$file='')
{
	...
	if($family=='arial')
		$family='helvetica';
        ... etc
Como que: o Arial y Helvetica son la misma cosa, o al faltarle la primera la reescribe con la segunda. ¿Loco no?
Ahora ¿este error te salia igual en fpdf? sera un problema de rutas de directorio? quizas tienes distinta la ruta de tus fonts a lo que espera la clase, y por eso no las "encuentra"

No se si te sirve de algo mi comentario, solo te cuento que a mi me funciona en fpdf, y sale muy con fuente Arial!

Saludos
CiS
  #3 (permalink)  
Antiguo 02/07/2007, 20:53
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 15 años, 4 meses
Puntos: 102
Re: Error con TCPDF y la fuente Arial | HTML en PDF

Cita:
Iniciado por CiS Ver Mensaje
[...]
Ahora ¿este error te salia igual en fpdf? sera un problema de rutas de directorio? quizás tienes distinta la ruta de tus fonts a lo que espera la clase, y por eso no las "encuentra"
Gracias por tu comentario.

Te cuento que, como dije, probé FPDF y no, no tuve ese problema, por ello es que igual busqué la fuente dentro de esta clase pero, como dices, no hay nada...

Dudo sea un problema con la ruta, lo he revisado y esta bien (apuntando al directorio fonts/ dentro de tcpdf/. Esta clase tiene un archivo de configuración y uno de prueba; como dije abrí el de prueba y funcionó bien... además, por ahora, es solo con Arial con la que tengo este problema.

Ahora, es interesante el código que muestras... pero tendría que modificar la clase porque no creo que sea opción modificar el HTML entrante (parseo, identificación de etiquetas y que esta sea un atributo... )... echaré un ojo por ahí aunque no creo que "sea la solución"...

Lo que me extraña es que en el foro de dicha clase, se mencionan errores similares (fuentes que no soportan las negritas) pero nada de este problema con Arial...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 03/07/2007, 09:36
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 15 años, 4 meses
Puntos: 102
Re: Error con TCPDF y la fuente Arial | HTML en PDF

Partiendo del código que deja CiS, fui a ver el código de TCPDF y veo que tiene lo mismo:
Código PHP:
 // línea 1627
        
public function AddFont($family$style=''$file='') {
            if(empty(
$family)) {
                return;
            }

            
//Add a TrueType or Type1 font
            
$family strtolower($family);
            if((!
$this->isunicode) AND ($family == 'arial')) {
                
$family 'helvetica';
            }
[...] 
Y ahora veo que utilizando la fuente helvetica obtengo el mismo error (no la encuentra) :-/ pts... seguiré buscando...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 03/07/2007, 11:03
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 15 años, 4 meses
Puntos: 102
Re: Error con TCPDF y la fuente Arial | HTML en PDF

Antes que se me olvide, mi solución hasta ahora.

Existe un directorio old/ dentro de fonts/ donde están las fuentes que tiene FPDF (sin Arial ). No veo un archivo README como para saber la razón. Lo que hice fue especifique utilizar dicho directorio como las fuentes y cambiar los valores de PDF_FONT_NAME_MAIN y PDF_FONT_NAME_DATA, por ahora todo esta funcionando :-/.

tcpdf_config.php
Código PHP:
// Línea 50
define ("FPDF_FONTPATH"K_PATH_MAIN."fonts/old/");

// Línea 150 - Fuente para el Header
define ("PDF_FONT_NAME_MAIN""times");

// Línea 160 - Fuente para el Footer
define ("PDF_FONT_NAME_DATA""helvetica"); 
Y con eso, este código funciona:
Código PHP:
$pdf->AddPage();

// Escribiendo directamente
$pdf->SetFont('Arial','',14);
$pdf->Write(5,'Este es un texto con Arial');
$pdf->Ln();

// Escribiendo HTML
$html '<font face="Arial">Texto Arial</font><br />';
$pdf->WriteHTML($htmltrue);

$pdf->Output(); 
Obviamente, tengo un encabezado y pie de página (por ello cambiar el valore de las constantes), esto es opcional.

Me gustaría decir que se acabaron mis problemas, pero ahora tengo uno con los caracteres HTML :-/.. tema aparte.

Saludos
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 03/07/2007 a las 11:15
  #6 (permalink)  
Antiguo 05/07/2007, 14:39
CiS
 
Fecha de Ingreso: abril-2002
Mensajes: 71
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Error con TCPDF y la fuente Arial | HTML en PDF

Me alegro que lo hayas resuelto!!! (y que te haya servido de algo mi comentario )

Saludos
CiS
  #7 (permalink)  
Antiguo 21/01/2010, 05:13
 
Fecha de Ingreso: noviembre-2007
Mensajes: 533
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Error con TCPDF y la fuente Arial | HTML en PDF

Hola, queria comentaros como solucionasteis el error que teniais con ARial y tcpdf, yo utilizo tcpdf, y no me coge la fuente Arial, el enlace que tengo en foros del web es la siguiente:


http://www.forosdelweb.com/f18/error...ml-pdf-502379/


espero que me ayudeis,porque estoy un poco agobiado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:17.