Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PauloRJ

Acentuação em FPDF

Recommended Posts

estou tendo um problema muito serio em relaçao a codificação no pdf.

 

sai tudo errado. alguem tem alguma ideia?

 

 

<?php
session_start();

ob_start();

require('fpdf2.php');
include_once('class/mysql.php');

$datateste = "09/05/2008";

$bd  = new MySQL;
$sql = "SELECT * FROM cadastro WHERE status = 1 and datateste = '$datateste' ORDER BY numero ASC";
$bd->query($sql);
$resultado = $bd->nr();

$pdf= new FPDF();
$pdf->AliasNbPages();
$pdf->Open(); 
$pdf->AddPage();
		
for($i=0;$i<$resultado;$i++):

$feiraopcao = $bd->row('feiraopcao');
$nome		  = utf8_encode($bd->row('nome'));
$numero 	= $bd->row('numero');
$tecnica01 	= $bd->row('tecnica1');
$tecnica02 	= $bd->row('tecnica2');

	// Tabela Evento

$pdf->SetTextColor(0,0,0);
$pdf->SetFont("Arial", "B", 10); 

$pdf->Cell(15, 5, $numero, 1, 'C');
$pdf->Cell(100, 5, $nome, 1, 'L');
$pdf->Cell(80, 5, "", 1, 'L');
$pdf->Ln(8); // Quebra de linha

$bd->movenext();
endfor;

$end_final   = "Ficha_".date('d/m/Y').".pdf";
$tipo_pdf	=  "D";


//$pdf->Output();
$pdf->Output($end_final, $tipo_pdf);
ob_end_flush();

 

:wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

é verdade! falta de atenção de minha parte. Teve um momento que precisei gerar o documento sem acentuação e esqueci.

 

 

forte abraço.

http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimenta colocar no início do código o header declarando o charset pra ISO-8859-1.

header('charset=ISO-8859-1');
Não testei, mas deve resolver também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou com o mesmo problema e o:

header('charset=ISO-8859-1');

não funcionou olha meu código

 

<?php

header('Content-type: application/pdf');

require_once("fpdf/fpdf.php");

define('FPDF_FONTPATH','fpdf/font/');

$pdf= new FPDF("P","mm","A4");

require_once('Connections/estoque.php');

ob_start();

session_start();

mysql_select_db($database_estoque, $estoque);

$query_orcamentoprint = "select `orcamento`.`cliente`, `orcamento`.`data`, `orcamento`.`id` idorcamento, `orcamento`.`idProduto`, orcamento.`id_usuario`, orcamento.`tombamento`,

orcamento.`total` totaldoorcamento,

`produtos`.`Id` iddoproduto, `produtos`.`descricao`, `produtos`.`unidade`, `produtos`.`codigo`,`produtos`.`cod_fabricante`,

`produto_orcamento`.`id_orcamento` orcamentoproduto, `produto_orcamento`.`id_produto` orcproduto, `produto_orcamento`.`qtd`, `produto_orcamento`.`qtd`,

`produto_orcamento`.`vr_total`, `produto_orcamento`.`vr_unit` ,

`empresa`.`idEmpresa`, `empresa`.`razaoSocial`, `empresa`.`ie`, `empresa`.`idEndereco`, `empresa`.`fone_fax`, `empresa`.`cnpj_cpf`,

`endereco`.`bairro`, `endereco`.`cep`, `endereco`.`cidade`, `endereco`.`complemento`, `endereco`.`idPai`, `endereco`.`rua`, `endereco`.`uf` ufcliente

from orcamento, `produtos`, `produto_orcamento`, `empresa`, `endereco`

WHERE `orcamento`.`id`=".$_SESSION['orcamento']."

AND `produto_orcamento`.`id_produto` = `produtos`.`Id`

AND `produto_orcamento`.`id_orcamento` = `orcamento`.`id`

AND `orcamento`.`cliente` = empresa.idEmpresa

AND `empresa`.`idEmpresa` = `endereco`.`idPai`";

$orcamentoprint = mysql_query($query_orcamentoprint, $estoque) or die(mysql_error());

$row_orcamentoprint = mysql_fetch_assoc($orcamentoprint);

$totalRows_orcamentoprint = mysql_num_rows($orcamentoprint);

$limit =20;

$inicio =1;

$numero_paginas = $orcamentoprint/$limit;

 

 

 

for($pagina=1; $dia<=$numero_paginas; $dia++){

 

$pdf->SetLeftMargin('-2');

$pdf->SetTopMargin('45');

$pdf->SetFont('courier','',8,'ISO-8859-5');

$pdf->SetTitle("Titulo !");

$pdf->SetSubject("Corpo!");

 

$pdf->SetY("-1");

$pdf->SetX("3");

$pdf->Cell(85,15,'',0,0,'L');

/// primeira Linha/////////

$operacao="Natureza da Operação";

$pdf->SetY("29");

$pdf->SetX("1");

$pdf->Cell(70,5,$operacao,0,0,'L');

 

 

$pdf->Cell(20,5,$row_orcamentoprint['vr_unit'],0,0,'L');

 

 

$pdf->Cell(40,5,$row_orcamentoprint['vr_unit'],0,1,'L');

 

///Segunda Linha

 

$pdf->SetY("38");

$pdf->SetX("1");

$pdf->Cell(95,5,$row_orcamentoprint['razaoSocial'],0,0,'L');

 

$pdf->Cell(29,5,$row_orcamentoprint['idEmpresa'],0,0,'L');

 

$pdf->Cell(58,5,$row_orcamentoprint['cnpj_cpf'],0,0,'L');

 

$dtemissao="30/07/2008";

$pdf->Cell(20,5,$row_orcamentoprint['data'],0,1,'L');

 

///Terceira Linha

$endereco = "endereco";

$pdf->SetY("47");

$pdf->SetX("1");

$pdf->Cell(95,5,$row_orcamentoprint['rua'],0,0,'L');

 

$bairro="bairro";

$pdf->Cell(29,5,$row_orcamentoprint['bairro'],0,0,'L');

 

$cep=" cep";

$pdf->Cell(58,5,$row_orcamentoprint['cep'],0,0,'L');

 

$dtsaidaentrada="30/07/2008";

$pdf->Cell(20,5,'',0,1,'L');

 

///Quarta Linha

$municipio = "municipio";

$pdf->SetY("56");

$pdf->SetX("1");

$pdf->Cell(70,5,$row_orcamentoprint['cidade'],0,0,'L');

 

$fone="(069) 3225-6594";

$pdf->Cell(39,5,$row_orcamentoprint['fone_fax'],0,0,'L');

 

$uf="RO";

$pdf->Cell(15,5,$row_orcamentoprint['ufcliente'],0,0,'L');

 

//$ie=" cep";

$pdf->Cell(58,5,$row_orcamentoprint['ie'],0,0,'L');

 

 

 

//$dtsaidaentrada="30/07/2008";

 

$x=76;

mysql_select_db($database_estoque, $estoque);

$query_produtosb = "select `orcamento`.`cliente`, `orcamento`.`data`, `orcamento`.`id` idorcamento, `orcamento`.`idProduto`, orcamento.`id_usuario`, orcamento.`tombamento`, orcamento.`total` totaldoorcamento, `produtos`.`Id` iddoproduto, `produtos`.`descricao`, `produtos`.`unidade`, `produtos`.`codigo`,`produtos`.`cod_fabricante`, `produto_orcamento`.`id_orcamento` orcamentoproduto, `produto_orcamento`.`id_produto` orcproduto, `produto_orcamento`.`qtd`, `produto_orcamento`.`qtd`, `produto_orcamento`.`vr_total`, `produto_orcamento`.`vr_unit` ,`empresa`.`idEmpresa`, `empresa`.`razaoSocial` from orcamento, `produtos`, `produto_orcamento`, `empresa` WHERE `orcamento`.`id` = ".$_SESSION['orcamento']." AND `produto_orcamento`.`id_produto` = `produtos`.`Id` AND `produto_orcamento`.`id_orcamento` = `orcamento`.`id` AND `orcamento`.`cliente` = empresa.idEmpresa limit $inicio, $limit ";

$produtosb = mysql_query($query_produtosb, $estoque) or die(mysql_error());

$row_produtosb = mysql_fetch_assoc($produtosb);

$totalRows_produtosb = mysql_num_rows($produtosb);

$inicio = $inicio+ $limit;

 

$total = 0;

do{

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->SetFont('times','',8);

$pdf->Cell(97,3,$row_produtosb['descricao'],0,0,'L');

$pdf->Cell(8,3,'',0,0,'L');

$pdf->Cell(6,3,'',0,0,'L');

//unidade

$pdf->Cell(9,3,$row_produtosb['unidade'],0,0,'L');

//quantidade

$pdf->Cell(16,3,$row_produtosb['qtd'],0,0,'L');

//unitario

$pdf->Cell(23,3,$row_produtosb['vr_unit'],0,0,'L');

$vr_total_item = $row_produtosb['qtd'] * $row_produtosb['vr_unit'];

$total = $total + $vr_total_item;

$vr_total_item = number_format($vr_total_item, 2, ',', '.');

//total

$pdf->Cell(36,3,$vr_total_item,0,0,'L');

//alicotas

$pdf->SetFont('arial','',6);

$pdf->Cell(9,3,'A',0,0,'L');

$pdf->Cell(5,3,'A',0,1,'L');

$x=$x+3;

$total = $total + $vr_total_item;

} while ($row_produtosb = mysql_fetch_assoc($produtosb));

 

 

 

//fim dos produtos

$total = number_format($total, 2, ',', '.');

$x=$x+10;

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->SetFont('arial','',8);

$pdf->Cell(135,26,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(18,26,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(52,10,$total,0,1,'L');

 

///descriçoes

$x = $x+10;

$pdf->SetY($x);

$pdf->SetX("154");

$pdf->Cell(40,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(15,8,$orcamentoprint['vr_unit'],0,1,'L');

$x = $x+8 ;

$pdf->SetY($x);

$pdf->SetX("154");

$pdf->Cell(52,8,$orcamentoprint['vr_unit'],0,1,'L');

//cinco blocos

$x = $x+8 ;

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->Cell(44,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(35,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(47,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(39,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(47,8,$orcamentoprint['vr_unit'],0,1,'L');

//cinco blocos

$x = $x+8 ;

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->Cell(44,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(35,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(47,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(39,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(47,8,$orcamentoprint['vr_unit'],0,1,'L');

//VOLUME

//linha 1

$x = $x+9 ;

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->Cell(89,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(25,8,$orcamentoprint['vr_unit'],0,0,'L');

$pdf->Cell(10,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(28,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(7,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(49,8,$row_produtosb['vr_unit'],0,1,'L');

 

//linha 2

$x = $x+8 ;

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->Cell(89,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(62,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(7,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(49,8,$row_produtosb['vr_unit'],0,1,'L');

 

//linha 3

$x = $x+10 ;

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->Cell(30,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(25,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(27,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(38,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(34,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(26,8,$row_produtosb['vr_unit'],0,0,'L');

$pdf->Cell(25,8,$row_produtosb['vr_unit'],0,1,'L');

//comentários

$x = $x+9 ;

$pdf->SetY($x);

$pdf->SetX("1");

$pdf->Cell(111,40,$row_produtosb['vr_unit'],0,0,'L');

 

}

$pdf->Output("arquivo","I");

 

?>

Estou pendendo a minha paciência, pois faz dois dias que estou pesquisando e não consigo resolver este problema.

espero que alguém possa me dar uma luz obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Vanderli,

 

Obrigado por compartilhar seu conhecimento conosco.

 

Continue contribuindo respondendo os tópicos mais recentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor sou nova em fpdf, consegui acentuar as informações, só não consigo acentuar as celulas, exemplo

$pdf->MultiCell(92,4,'Caracteristica',1,1,'C');

Percebe que "CARACTERÍSTICA" ESTÁ SEM ACENTUO.

ALGUÉM PODE ME AJUDAR???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, desculpe em responder só agora, mas pra mim é simples a questão da acentuação no FDPF.

Como ele usa sempre utf8 na conversão, o correto seria converter em arquivo texto,e como não é possível, converti em binario diretamente no SELECT.

 

Veja um exemplo pra corrigir acentuações de nome de empresas:

 

SELECT convert(empresa using binary)as empresa,convert(nome_fantasia using binary)as nome_fantasia

FROM tb_empresa

 

Acredito que isso fecha para todos os casos de FPDF com MySql.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 12/02/2017 at 18:06, mxtsistemas disse:

Como formato um valor de casas decimais?

usa o number_format do php

 

exemplo:

$valor=1000 ;

number_format($valor, 2,',','.');

2 => é o número casas decimais 

o retorno será : 1.000,00

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.