Archive for the ‘Dompdf’ Category

Dompdf – Notificação de erro

abril 18th, 2009, posted in Dompdf, PHP

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% [?]