Ir para conteúdo
Fórum Script Brasil
  • 0

ezPDF relatorio com alinhamento FULL utf8


zegomes

Pergunta

Caros colegas,

Estou com um problema que já estou arrancando os cabelos:

Estou gerando o contrato dos clientes através de um sistema em PHP usando ezPDF. O relatório tem vários parágrafos justificados "full".

O que ocorre é que se eu não usar nenhum carácter acentuado, o texto é justificado certinho na direita e na esquerda. Já ao usar caracteres acentuados, o ezPDF não calcula a margem direita corretamente. Fica uma bagunça, alguma linhas não chega até a margem e outras passam da margem.

Utilizo o PHP e o ezPDF em uma máquina debian.

Alguém de vocês já tiveram esse problema? Como resolveram?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Esse codigo de testes ilustra bem o problema:

<?php
include 'pdf/src/Cezpdf.php';

$cm = 28.3465; // um centímetro em pontos

$pdf = new CezPDF('a4', 'portrait', 'none', null);
$pdf->ezSetMargins(3*$cm, 2*$cm, 3*$cm, 2*$cm); // sup, inf, esq, dir
$pdf->setStrokeColor(0.4, 0.4, 0.4); // setar a cor do retangulo 
$pdf->rectangle($pdf->ez['topMargin'], $pdf->ez['leftMargin'], $pdf->ez['pageWidth']-$pdf->ez['leftMargin']-$pdf->ez['rightMargin'], $pdf->ez['pageHeight']-$pdf->ez['topMargin']-$pdf->ez['bottomMargin']);
$pdf->ezStartPageNumbers(565, 1.55*$cm, 11,"right", "<i>Página {PAGENUM} de {TOTALPAGENUM}</i>");

$pdf->selectFont("Helvetica");

// esse texo não contem caracteres especiais e fica alinhado corretamente
$pdf->ezText("Um rapaz ouviu o chamado e ligou para a policia. <b>Por volta das 20 horas o Corpo de Bombeiros chegou ao local e tentou destravar as portas, sem sucesso. </b>Em seguida, eles acionaram a gerencia do banco e, como o idoso nao estava passando mal, decidiram esperar para que o gerente abrisse a porta. Cerca de 15 minutos depois de ser acionado, o gerente chegou e libertou o idoso. Ja do lado de fora da agencia, Ele afirmou que vai processar o banco. \"Foi um sufoco danado, muito desagradavel. O ar condicionado estava desligado, senti muito calor\", contou.", 12, ["justification" => "full"]);

$pdf->ezSetDy(-40);

// com caracteres especiais o alinhamento se perde. os cálculos do ezPDF ficam errados
$pdf->ezText("Um rapaz ouviu o chamado e ligou para a polícia. <b>Por volta das 20 horas o Corpo de Bombeiros chegou ao local e tentou destravar as portas, sem sucesso.</b> Em seguida, eles acionaram a gerência do banco e, como o idoso não estava passando mal, decidiram esperar para que o gerente abrisse a porta. Cerca de 15 minutos depois de ser acionado, o gerente chegou e libertou o idoso. Já do lado de fora da agência, Ele afirmou que vai processar o banco. \"Foi um sufoco danado, muito desagrádavel. O ar condicionado estava desligado, senti muito calor\", contou.", 12, ["justification" => "full"]);

$pdf->ezStream(array('compress'=>0));
?>

O resultado (PDF gerado) pode ser visto aqui:

https://drive.google...4bEk&authuser=0

Abraços,

zegomes smile.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...