Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2008, 15:01
cmarrero
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 17 años, 1 mes
Puntos: 2
Exclamación Problemas con FPDF y htmlentities()

hola a ver si alguien me puede ayudar,

Tengo la libreria fpdf que para crear archivos PDF desde php, mi problema es que las "ñ" y los acentos me los toma con el codigo raro.

por ejemplo, traigo de una BD un texto, y el texto es diseño y me imprime "Diseño Grafico" entonces probe con htmlentities($campo); y lo que me imprime es Diseño Grafico

Entonces... Como hago para imprimir correctamente las eñes y los acentos en un archivo pdf...

Este es mi Codigo:

Código PHP:
<?
include("../../libreria/conexion.php");
conectar();
include(
"../bd.php");
if(!isset(
$_GET[id])){
header("Location: ../consultar/consultar.php");
exit;
}
require(
'../fpdf/fpdf.php');
class 
PDF extends FPDF
{
//Cabecera de página
function Header()
{
    
//Logo y de mas.
    
$this->Image('../../img/logo_fondo_blanco.jpg',10,8,50);
    
$this->Image('../../img/esquina_presupuesto.jpg',160,0,50);
    
//Titulo de Presupuesto
    
    
$this->SetTextColor(51);
    
$this->SetFont('Arial','B',14);
    include(
"../bd.php");
    
$id=$_GET[id];
    
    
$sql=$exportarPresupuesto." where id = $id ";
    
    
$query=mysql_query($sql);
    
    
$fila=mysql_fetch_array($query);
    
    
$fecha=$fila[fecha];
    
$titulo=$fila[titulo];
    
$dirigido=$fila[dirigido];
    
    
$this->Cell(55,80,"".htmlentities($titulo)."",0,0,'C');
    
//Arial bold 15
    
$this->SetFont('Arial','B',10);
    
$this->SetFillColor(51);
    
$this->SetTextColor(255,102);
    
//Movernos a la derecha
    //Fecha
    
    
$this->Cell(100,5,"Fecha: $fecha",0,1,'R');
    
$this->SetFont('Arial','B',10);
    
$this->SetTextColor(51);
    
    
$this->Cell(155,5,"Dirigido A: $dirigido",0,0,'R');
    
//Salto de línea
    
$this->Ln(50);
}

//Pie de página
function Footer()
{
    
//Posición: a 1,5 cm del final
    
$this->SetY(-15);
    
//Arial italic 8
    
$this->SetFont('Arial','I',8);
    
//Número de página
    
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
$tipo=$fila[tipo];
$descripcion=$fila[descripcion];
$iva=$fila[iva];
$comen=$fila[comen];
//Creación del objeto de la clase heredada

$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();

$pdf->SetFont('Arial','B',12);
$pdf->Cell(30,7,"Hora",1,0,'C');
$pdf->Cell(130,7,"Detalle",1,0,'C');
$pdf->Cell(30,7,"Precio",1,1,'C');

$sql=$consultarDatosPresupuesto." where id_presupuesto = $id ";
$query=mysql_query($sql);

$total=mysql_num_rows($query);

$pdf->SetFont('Arial','',10);

while(
$datos=mysql_fetch_array($query)){
    
$pdf->Cell(30,5,"$datos[cantidad]",1,0,'L');
    
$pdf->Cell(130,5,"$datos[descripcion]",1,0,'L');
    
$pdf->Cell(30,5,"\$ $datos[precio]",1,1,'L');
    
$subtotal+=$datos[precio];
}
$ivaparcial=0;
if(
$iva==1){
    
$ivaparcial=($subtotal 21 ) / 100;
    
$pdf->Cell(30,5,"",0,0,'L');
    
$pdf->SetFont('Arial','B',10);
    
$pdf->Cell(130,5,'Sub Total:',0,0,'R');
    
    
$pdf->SetFont('Arial','',10);
    
$pdf->Cell(30,5,"\$ $subtotal",1,1,'L');
    
    
$pdf->Cell(30,5,"",0,0,'L');
    
$pdf->SetFont('Arial','B',10);
    
    
$pdf->Cell(130,5,'IVA 21 %:',0,0,'R');
    
    
$pdf->SetFont('Arial','',10);
    
$ivaparcial=($subtotal 21) / 100;
    
$pdf->Cell(30,5,"\$ $ivaparcial",1,1,'L');
}
    
$pdf->Cell(30,5,"",0,0,'L');
    
$pdf->SetFont('Arial','B',10);
    
$pdf->Cell(130,5,"Total:",0,0,'R');
    
$pdf->SetFont('Arial','',10);
    
$totalfinal=$subtotal+$ivaparcial;
    
$pdf->Cell(30,5,"\$ $totalfinal",1,0,'L');
    
$pdf->Ln(50);
$pdf->SetFont('Arial','',10);
$pdf->Cell(30,5,"$comen",1,0,'J');
$pdf->Output();
?>