Dompdf – Notificação de erro

ErroPdf Dompdf   Notificação de erro

Essa semana mais uma vez andei muito sumido, mais com motivo, estive trabalhando no que diz respeito a cobança bancária, mais específico pelo Banco do Brasil. Na verdade já tinha modificado o modelo a um 1 ano atrás... no modelo normal (carteira 011 ou 017) é gerado um txt para o banco, o banco com esse txt gera os boletos e envia para os seus clientes e cobra uma taxa, a última que lembro foi de R$1.48. o Nosso Cliente sismou que está karo e ele mesmo vai emitir e enviar para o cliente. Não me conformo creio que vai sair mais karo fora a dor de cabeça, Mas como cliente sempre tem razão estou desenvolvendo para (carteira 018), que ele mesmo vai fazer a impressão e entrega dos boletos.

A lógica

Então como tinha que desenvolver pensei em fazer o seguinte:

  • Como a parte de geração já está pronto em um sistema em vb6 dexei a geração por lá mesmo. ;)
  • No que diz respeito a impressão de boleto já tem pronto o boleto na web. Aproveitando o momento vou fazer as merecidas progragandas ao http://www.boletophp.com.br/ existe modelo de praticamente todos os bancos brasileiros.
  • Como no boletophp é feito a impressão de apenas um boleto imaginei fazer o seguinte. criar uma função que faça um loop e vai adicionando cada boleto em uma página de um pdf.

Os Erros encontrados

Com a lógica em mente começamos a procurar ferramentas para fazer para gerar o pdf, o Marcus Junior indicou o tcpdf porém não consegui fazer com que fosse gerado pdf passando como argumento um html completo ou seja:

<html> <html/>

o Mário Santos me indicou o Dompdf, com o dompdf consegui com pequenas alteraçõs no Css (Como colocar em Pixel o tamanho da Tabelas( Width ) tirar o @media screen,print { e mais algo com @ ) gerar o pdf sem problemas.

O meu problema começou quando tive que imprimir mais de um html no pdf, como ele só aceita um dompdf->loadHtml por dompdf->render eu tive que pegar todos os boletos e ir concatenando em uma variavel e essa sim se invocada no dompdf->loadHtml (para fazer usei a função pegar código fonte de sites remotos , fiz os teste no próprio site da Dompdf e para minha alegria percebi que para cada tag html que se cria ele cria uma página, Show!! Foi quando fazendo os últimos ajustes para "sair pra galera" recebi a seguinte mensagem dentro do pdf gerado

Pdf em Inglês:

Wrong operand Type

Pdf em Português

Tipo errado de Operando

fiz os teste no próprio site da Dompdf novamente descobrir que o problema é com imagem, faça este simples teste que vai se constatar o que eu estou falando ( lá no site onde se faz demo substitua por esse html).

HTML:
  1.  
  2.  
  3.  
  4. </style>
  5. </head>
  6.  
  7.  
  8. <img src="http://www.google.com.br/intl/pt-BR_br/images/logo.gif" />
  9.  
  10. </body>
  11. </html>
  12.  
  13.  
  14.  
  15.  
  16. </style>
  17. </head>
  18.  
  19. <img src="http://www.boletophp.com.br/boletophp/imagens/logobb.jpg" />
  20. </body>
  21. </html>

Se tirar as imagens e colocar um outra tag tipo "p" vai perceber que vai funcionar e não vai dá nehum erro.

Se você recebe o mesmo erro que eu recebo, please :( comunique , enfim , tenho uma semana para resolver até gerarem a cobrança por este modelo, na pior das hipóteses dou echo no html concatenado dentro de um a navegador e imprimo pelo navegador (porém como são vários html dentro de um tem que ser de 100 em 100 para não estourar mémoria do navegador).

Como a Dompdf não é mais atualizado estou pensando na hipótese de mexer em seu código e ver se consigo achar o porque ele faz isso e acertar.

Notificado o erro voltaremos ao trabalho. Até a Próx!

Popularity: 8% [?]

Tags: , , ,

Categoria(s):Dompdf, PHP


Outros Artigos:

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

4 Responses to “Dompdf – Notificação de erro”

  1. Mário Santos disse:

    Deve usar sempre imagens locais, como deve imaginar o php ao processar o html não vai estar à espera que as imagens abram da web... se o servidor onde esta uma imagem demorar meia hora a abrir a imagem, o dompdf nem o php esperarão por ela... aqui testei com o Acrobat 9 e abre o pdf, mas nao apresenta as imagens, eu sempre trabalhei com imagens locais e nunca tive problema :P

    Cumps.

  2. janderson disse:

    Vlw Mário, assim que voltar de feriado testo para ver se vai funcionar com imagens locais, desde já obrigado!

  3. @ifranca disse:

    Cara vi seu post , e só to comentando pq talvez ajude. Estou usando uma biblioteca que trabalha bem c/ HTML renderizado.

    é esta ==> http://mpdf.bpm1.com/

    • jandersonfc disse:

      humm..vlw pela dica, na época a solução foi encontrada no java com o framework IText, ficou um pog sinistro d+, um programa vb chamava via shell um programa java que acessa o boleto em php e convertia em pdf, foi bizarro d+, masi até hoje é o que stá em produção..hehe

      Cumps.

Leave a Reply