
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).
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: Dompdf, Dompdf Erro, Erro Pdf, Pdf Php












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
Cumps.
Vlw Mário, assim que voltar de feriado testo para ver se vai funcionar com imagens locais, desde já obrigado!
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/
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.