Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Códigos de barras imprimindo errado no Chrome #103

Open
paulop opened this issue Jan 10, 2017 · 41 comments
Open

Códigos de barras imprimindo errado no Chrome #103

paulop opened this issue Jan 10, 2017 · 41 comments

Comments

@paulop
Copy link

paulop commented Jan 10, 2017

Olá Pessoal,
O Chrome está imprimindo errado os códigos de barras e as tabelas dos boletos,
o html do boleto está saindo corretamente, mas quando aperto Crtl+p para imprimir ele fica todo estranho e faltando partes.

imagem do html
print html

imagem da caixa de impressão.
print caixa de impressao

está acontecendo com meus clientes, por enquanto estou pedindo para usarem a linha digitável.
Já estou a algum tempo tentando arrumar, alguém já viu esse erro?
isso é só no Chrome, no Mozilla e no IE está correto.

@globalwebsites
Copy link

Está acontecendo igual comigo, alguém já conseguiu corrigir? Agradeço.

@amarborto
Copy link

Isso provavelmente é alguma falha no Chrome pois ele obtém o html da página em questão para gerar o preview para ser impresso e ao fazer isso deve ocorrer algum error.

@ronaldsena
Copy link

Companheiro tenta ver se no script o diretório para as imagens e para os css estão corretos.

Outra coisa notei que vc esta gerando um boleto na modalidade antiga SEM REGISTRO essa modalidade esta depreciada esta sendo extinta so sera possível usar na modalidade REGISTRADA.....

Se precisar de ajudar mim informa ....

@paulop
Copy link
Author

paulop commented Jan 24, 2017

Olá Ronald, esse ai é o checkout padrão do repositório,
só fiz checkout e abri o boleto de exemplo.

No seu navegador está funcionando corretamente?

@ronaldsena
Copy link

Sim no meu navegador esta funcionado perfeitamente porem para cobrança simples
estou adaptando o código para fazer a cobrança registrada a qual sera a unica valida
quando eu modifiquei para os paramentos da registrada quebrou o código de barras
estou nesse momento fazendo testes com a leitura do codigo de barras ...

@paulop
Copy link
Author

paulop commented Jan 24, 2017

Eu já fiz a homologação pela CAIXA e o que realmente muda no código de barras

O nosso número passou de 240000000000000000 para 14000000000000000-0
bastou mudar o inicio de 2 para 1 e um traço do dígito

É preciso adicionar uma linha com o endereço do cedente ou no recibo ou na ficha de compensação.
Os campos Espécie Doc, Aceite e Carteira são obrigatórios.
Local de pagamento deve conter: PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE

E no final das contas a remessa continua sendo opcional.

O problema está sendo a impressão no Chrome mesmo. Acho que está na hora de refazer com html5 esse layout. Quando tiver tempo vou fazer.

Firefox

image

E no Chrome cheio de falhas

image

@paulop
Copy link
Author

paulop commented Jan 24, 2017

@ronaldsena
Copy link

Realmente tem um ERRO GRAVE

  • **Abaixo

segue a visualização antes da impressão no 2 navegadores:**
barcode

  • **Agora

veja a pre visualização da impressão pelo CHROMES: esta cheio de lacunas**
erro_print

  • **A

versão que to usando do chromes é:**
versaor_chrome

@rafaelpatro
Copy link

Acho que este erro ocorre no visualizador de PDF do Chrome.
Ao gerar o boleto pelo IE e Imprimir para PDF, o código de barras se mantem correto (se visualizado no IE).
Ao abrir o mesmo arquivo PDF no Chrome, aparece tudo errado.

@ronaldsena
Copy link

ronaldsena commented Jan 27, 2017

Exato fiz testes com os 3 principais navegadores

Internet Explore - OK
Mozilla Firefox --- OK
Chrome -------- Doente

Na hora que abre na tela do Chrome o código de barras e mostrado corretamente após o Crtl+P ou após aperta o botão imprimir que abre uma tela de pré-visualização da impressão já e mostrado nessa tela o código de barras quebrado e analisando um pouco o código ele e baseado em 2 imagens que são uma Barra PRETA e uma Barra BRANCA onde as duas tem o FINO e o LARGO que equivale a LARGURA da imagens com isso e gerado o código de barras.
Aparentemente o problema esta na BARRA PRETA com o estilo FINO essa é a barra que não esta sendo impressa .....

Provavelmente deve ser algo que se possa corrigir com CSS especifico para o Chrome....

No momento estou focado no arquivo de remessa que já esta quase pronto quando eu finalizar vou dar uma olhada para tenta resolver.

@scorninpc
Copy link

Alguma novidade desse problema? tentei de varias formas, inclusive dando margin ao invés de usar barra branca, mas nada funciona mesmo

@scorninpc
Copy link

Sei que foge do projeto, mas se assim como eu, alguém mais precisar de uma solução rápida pra isso, fiz um commit de uma saída rápida para o problema

https://github.com/agenciageneral/codigo_barras_i25_boleto

@paulop
Copy link
Author

paulop commented Feb 16, 2017

Parece que a melhor opção é converter em imagem mesmo obrigado @scorninpc

@patrickmacedo
Copy link

Alguém conseguiu resolver?
Não consegui fazer o código recomendado pelo @scorninpc funcionar.
Carreguei o projeto diretamente do Aziz, mas mesmo o demo dele não roda aqui (dá como se a imagem estivesse quebrada). Alguém pode me dar uma mão?

@scorninpc
Copy link

@patrickmacedo, no arquivo boleto_barcode.php, remova a ultima linha com a função header(), e veja se está dando algum erro ou algum warning, esses erros podem quebrar a imagem. Se estiver, desative a exibição de error

@patrickmacedo
Copy link

Opa, obrigado pela ideia, @scorninpc . Usei o conceito com o código original do rapaz e depois de definir as variáveis (este estava sendo o erro) funcionou tranquilo. Muito obrigado 👍

@alexandre890
Copy link

@scorninpc muito obrigado por sua ajuda e colaboração compartilhando a sua dica de como resolver o problema da visualização do código de barras conforme comentado aqui. Sua solução funcionou perfeitamente e já está me ajudando muito aqui. Obrigado e parabéns!

@ghost
Copy link

ghost commented Jun 21, 2017

Opa tudo bem por aí, então eu tava tentando aplicar a correção de emergência do @scorninpc mas não consegui, ele dá erro de ( ! ) Warning: Cannot modify header information - headers already sent. Como eu posso arrumar isso aí gente?

Além disso aparece umas coisas estranhas: �PNG � IHDR�2��f�ie�PLTE������� IDAT��c�����][�IEND�B

Alguém tem ideia do que seja?

@paulop
Copy link
Author

paulop commented Jun 21, 2017

Vc vai precisar debugar o código, deve estar aparecendo algum warning antes.

@ghost
Copy link

ghost commented Jun 21, 2017

Então, eu debuggei mas nada, nenhum erro, ou warning e tá tudo ativado @paulop, tava dando erro quando tava com o header, mas eu tirei e só ficam aqueles caracteres
lgoi

@scorninpc
Copy link

@John-cena1 se seu site está exibindo Warning, é muito provável que esteja mostrando algum erro antes de montar a imagem. Desative todos os erros do PHP e veja se o problema continua. Entendeu o problema? o php deve estar mostrando algum notice ou warning, alguma coisa irrelevante, e por isso está gerando uma imagem invalida

@ghost
Copy link

ghost commented Jun 22, 2017

As únicas coisas que fiz foi mudar a função fbarcode() por echo "<img src="boleto_barcode.php?codigo=" . $dadosboleto["codigo_barras"] . "">"; e dei um include do boleto_barcode no boleto_bradesco.php. Já desativei o erro como recomendado, mas também não resolveu.

Quando eu tiro o ?codigo= ele dá erro no código, undefined index, somente isso que acontece. Tirei o header também header("Content-Type: image/png"); e aí parou o erro Cannot modify header information - headers already sent.

Só uma dúvida para ter certeza, onde eu dou o include, no layout mesmo ou no boleto_bradesco, ou no funções, ou não precisa?

Não funcionou, mas obrigado pela ajuda e atenção de qualquer jeito @scorninpc e @paulop,é um projeto muito legal é uma pena que ficou a imagem quebrada

@scorninpc
Copy link

voce não tem que dar include nenhum. Voce só adiciona esse código abaixo no seu projeto

https://github.com/agenciageneral/codigo_barras_i25_boleto/blob/master/boleto_barcode.php

Esse link gera imagens de barcode. Só isso, nada mais

No arquivo de layout do boletophp tem uma função que gera o código de barras. Você vai trocar essa função por uma imagem gerada pelo link acima, somente isso

Como disse, o boleto_barcode.php está gerando algum "lixo" junto com a imagem, por isso ele não ta gerando corretamente. Se você tirou a função header(), deve ver o conteúdo da imagem. Analisando deve conseguir ver qual o "lixo"

@naurojunior
Copy link

naurojunior commented Jun 29, 2017

Muito obrigado @scorninpc , resolveu pra mim.

O problema que o pessoal tá enfrentando é com o "undefined variable $cbresult", quando o PHP está mostrando os erros.

Poderia adicionar na sua biblioteca a correção?

Na função codificar, linha 25:

$cbresult = '';

@scorninpc
Copy link

oi @naurojunior

Obrigado pela ajuda

Porem sempre que envia headers, é altamente recomendável limpar o buffer ou remover os erros

Isso por que mesmo que eu arrume esse problema indicado, dependendo do ambiente pode haver algum outro problema. Um simples espaço no começo ou no final pode ocasionar o problema na imagem.

De qualquer forma vou sim fazer a sua recomendação

@naurojunior
Copy link

Obrigado pela dica! Só verifica a linha anterior, com essa atualização acho que faltou o final dela

ficou :
$cbnumeros = array("NNWWN", "WNNNW", "NWNNW", "WWNNN", "NNWNW", "WNWNN", "NWWNN", "NNNWW", "WNNWN", "NWNWN

ao invés de

$cbnumeros = array("NNWWN", "WNNNW", "NWNNW", "WWNNN", "NNWNW", "WNWNN", "NWWNN", "NNNWW", "WNNWN", "NWNWN");

@regisvidals
Copy link

Boa tarde pessoal,

Agradeço ao @scorninpc pelo código para gerar o código de barras. Deu tudo certo aqui.

O @paulop comentou que "E no final das contas a remessa continua sendo opcional."

Isso é verdade?

Porque levei quase um mês para validar o arquivo remessa de teste junto à Caixa Econômica.

@paulop
Copy link
Author

paulop commented Jul 19, 2017

@regisvidals ainda é possível receber boletos sem registro se ele não estiver vencido.
A diferença vai ser a tarifa que vai ser mais cara.
Tenho cliente que esqueceu de registrar os boletos e pagou 7 reais de tarifa sobre o boleto.
Acredito que vai continuar assim, pois podem haver problemas no registro dos boletos e o banco não pode impedir do cliente receber esse valor.

Material de referência...veja na página 10
https://cmsportal.febraban.org.br/Arquivos/documentos/PDF/Nova_plataforma_cobranc%CC%A7a.pdf

@patrickmacedo
Copy link

@regisvidals a informação do @paulop se confirma comigo. Um cliente teve problemas para registrar alguns boletos e pagou 7,50 de tarifa...

@regisvidals
Copy link

Pessoal, quem deve registrar os boletos não é o beneficiário ? Aqui vocês falam que é o cliente que registra.

@patrickmacedo
Copy link

Cliente meu = Empresa que emite o boleto para o seu cliente...

@leoratzlaff
Copy link

Estou com o mesmo problema que o @ghost. Exatamente o mesmo.

@marcosbarbosa031
Copy link

Olá, eu estou com o mesmo problema no Chrome e tentei a solução apresentada pelo @scorninpc , porém não obtive sucesso em sua implementação. Abrindo o exemplo que ele disponibilizou no Git a imagem exibida está em branco. Fiz algumas alterações(removi a verificação !(strlen($codigo)&1)) ) para conseguir gerar a imagem de um código de barra de um boleto real, porém o código gerado (imagem) difere da versão gerada pela função fbarcode(), e testei usar o leitor do app do Banco do Brasil e não leu essa imagem gerada, leu apenas a gerada pela função fbarcode. Alguém poderia me ajudar a entender a função de decodificação e o porquê das verificações e o porque não geraria a imagem correta. Obrigado

@wlpcorp
Copy link

wlpcorp commented Aug 16, 2017

boleto_barcode.php funcionou legal aqui, sicoob. Se gerar o boleto com a classe pdf, não resolveria também?

@regisvidals
Copy link

regisvidals commented Aug 22, 2017

Estou com problema para gerar o arquivo remessa para devolução do boleto. Alguém poderia me informar quais os parâmetros para solicitação da devolução do boleto no arquivo remessa ?

Pessoal, já resolvi.

Desde já agradeço.

@lobobruno
Copy link

@scorninpc Deu certo aqui também a sua solução!! Valeu!!

@ghost
Copy link

ghost commented Sep 26, 2017

Boa tarde galera,

Eu retirei o cellPadding=0 e funcionou de boas. Meu código ficou assim:

<table cellSpacing=0 width=666 border=0>
	<tbody>
		<tr>
		       <td vAlign=bottom align=left height=50>
				<?php fbarcode($dadosboleto["codigo_barras"]); ?> 
			</td>
		</tr>
	</tbody>
</table>

@brenodouglas
Copy link
Contributor

Galera, estou trabalhando em uma outra LIB com uma DSL bem diferente dessa e que já está passando pela homologação da Caixa e BB, e logo que finalizar irei homologar Bradesco e Sicoob. Nela não há esses tipos de problemas e quem quiser colaborar sinta-se a vontade: https://github.com/GOPHP/boleto-bancario

@ericrade
Copy link

ericrade commented Sep 28, 2017

É so tirar os cellSpacing e cellPadding do que está o barcode que resolve.

@regisvidals
Copy link

@ericrade , fiz o teste aqui e não funcionou.
Ainda está valendo a solução do @scorninpc .

@ericrade
Copy link

ericrade commented Sep 29, 2017 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests