[RESOLVIDO] PDF online com logo, PDF off line sem logo, impressao sem logo

Amigos,

Eu criei um relatório PDF ( um pedido e uma fatura ) coisa simples.

Segue o Printscreen do PDF gerado online:

Bom, quando mando imprimir, ou salvo o PDF local ele fica assim:

Bom a imagem de cabecalho ( logo + linha azul) eu trago de uma imagem que está online.

O SQL que eu fiz foi esse:

SELECT
company.logo,
companyunit.cabecalho,
companyunit.rodape,
company.name,
company.doc1,
company.doc2,
company.website,
company.email,
company.telephone,
company.address,
company.postcode,
country.name as country_name,
state.name as state_name,
city.name as city_name,
sale.nuinvoice,
sale.dtinvoice,
sale.dtexpired,
currency.name as currency_name,
formpayment.name as formpg_name,
formpayment.paynotes as paynotes,
sale.vlreftotal,
sale.vlrate,
sale.vlcurtotal,
sale.obs,
prospect.name as prospect_name,
prospect.passport,
prospect.pass_dtexp,
prospect.dtstart,
prospect.address,
prospect.city_id,
prospect.state_id,
prospect.country_id
FROM
sale INNER JOIN company ON sale.company_id = company.id
INNER JOIN prospect ON sale.prospect_id = prospect.id
INNER JOIN country ON company.country_id = country.id
INNER JOIN state ON company.state_id = state.id
INNER JOIN city ON company.city_id = city.id
INNER JOIN currency ON sale.currency_id = currency.id
INNER JOIN formpayment ON sale.formpayment_id = formpayment.id
INNER JOIN companyunit ON sale.unit_id = companyunit.id

WHERE
sale.id=’[par_sale]’

Ou seja, eu carrego o campo imagem logo, cabecalho e rodape do sql para um campo do pdf, veja o primeiro campo da imagem a seguir:

Tudo funciona perfeitamente online mas quando imprimo ou exporto o PDF fica sem a imagem.

Alguém já passou por isso?

Alguém saber resolver isso?

Desculpas amigos esqueci de falar.

Scriptcase 8.1
Servidor Linux ( do Alexandre )
Máquina local mac 10.x
Impressora HP 1510

Alguém pode comentar algo?

Alguém sabe como usar o TCDF ou outra classe para Imprimir Imagens no meio do ReportPDF?

Estou achando que é o caminho da mimagem, pois no banco de dados só fica o nome da imagem, nao o endereço completo.

Alguém tem alguma idéia?

Olá Amigos do Fórum,

Fiz algums testes, que detonarram a minha teoria de que era o caminho da imagem:

Troquei o comando sc_pdf_print_img para sc_pdf_image(var, x, y) para carregar a imagem cabecalho

Novamente o relatório ReportPDF funcionou, a impressão preview também funciona:

Mas quando salvo o PDF localmente ou mando imprimir, a imagem do cabecalho desaparece

Uma vez discartada a ideia de que era a URL da imagem, visto que somente o nome da imagem é salva no imagem (nome do arquivo) da base de dados.
Uma solução seria usar o TPCDF, estou estudando como imprimir uma imagem no meio do ReportPDF.

Alguém já fez algo assim?

Poderia me dar alguma luz?

Cássio,

Por aqui fiz assim:

Upload da logo da empresa pelo form em campo tipo: Imagem ( Nome de Arquivo ) ( utilizando sub-diretório para armazenagem da logo )

No ReportPDF criei campo “virtual” do tipo: Imagem ( Nome de Arquivo ) ( utilizando o mesmo sub-diretório das imagens )

No onRecord, ao fazer o SELECT dos dados da empresa, adiciono o campo que contém o nome do arquivo de Imagem da logo
Adiciono o resultado do SELECT dos dados da empresa nos campos virtuais, e a imagem é carregada automaticamente.

As impressões aqui sempre funcionaram.
Espero que ajude !

Olá Jocimar muito obrigado.

Fiz um teste, de colocar um campo “virtual” exatamente como você sugeriu.
Testei com a url vindo do sistema e testei também com uma URL fixa adicionado manualmente.
As duas imagens aparecem no PDF normal.

Mas na hora de imprimir ou salvar as imagens sumiram.

Nao tenho outra solução, como nao quero criar todos os relatórios novamente e isso tem se repedido em vários PDF.
vou comprar suporte da NetMaker e ver se eles resolvem.

Muito obrigado a voce Jucemar que me deu uma forca

Senhores,

Estou tacando a toalha para esse problema.
Eu nao quero construir todos os relatórios do meu sistema.
Por isso, preciso achar uma soluçãopara esse problema.
Meu próximo passo é contratar a NetMake pacote de suporte de 50 tickets por 6 meses, valor de 300 reais.

Bom, antes disso gostaria de fazer uma última tentativa.
Eu estou oferecendo 50 reais para quem conseguir resolver esse problema.

Alguém interessado? me mande um email direto: lacerda.cassio@gmail.com

OK?

de graça na internet:

https://www.youtube.com/watch?v=aKpkZmsKwis

Cássio,

Salva essa imagem numa tabela do tipo longblob, não sei qual banco de dados que você usa…mas não custa tentar fazer dessa maneira.

Eu vou assistir o video do Haroldo e tentar usar a forma que ele adiciona imagem, acho que é $this->pdf (load img) ou algo assim.

Uma outra coisa que descobri é que a imagem nao aparece em outros navegadores, somente no crome.

Se eu nao conseguir pelo caminho do haroldo vou tentar o caminho do Marcelo Batista.

Obrigado a todos

Amigos do Forum,

Fiz 16 testes diferentes, Eu tentei todos os comandos conhecidos

sc_pdf_print();
sc_pdf_image();
$pdf->image();

Consegui descobrir o problema: O problema estava na imagem!

Bom, foi uma jornada muito interessante, apesar de ter investido muito tempo de forma desnecessária.

Com o objetivo de contribuir com a comunidade, e deixar como base de conhecimento comunitário, compartilho com voces a bateria de teste que fiz até matar esse problema:

Segue o link: http://testapps.brainlegacy.com/tentativas/ a explicação de cada pasta segue abaixo:

Na tentativa 0, é a forma que sempre faço (nome do arquivo vindo do banco, sempre funcionou)

Na tentativa 1, uso uma funçao externa (proposta pelo Mestre Haroldo no vídeo sobre o recibo)

Na tentativa 2, uso o caminho interno, nao o absoluto

Na tentativa 3, uso o sc_pdf_img usando o array criado pelo SC chamado $cabecalho

Na tentativa 4, uso o $pdf->image();

Na tentativa 5, é a mesma que a 4, mas usando os mesmos parametros do TDPDF exemplo 9, trocando só a imagem

Na tentativa 6, troquei a imagem (comecei a suspeitar da imagem, quis fazer um teste) e funcionou com outra imagem.

Avancei no processo, fiz funcionar nos dois navegadores.

Na tentativa 7, pensei que pudesse ser o caminho absoluto, https:// entao voltei a usar a mesma imagem do cabecalho , erro novamente.

Na tentativa 8, eu criei um novo cabecalho, com a imagem que estava dando certo, fiz um doc no google, subi a logo que funcionava e fiz um print screen do cabecalho, subi via o sistema e curiosamente nao funcionou.

Aqui eu descobri que nao tinha mais haver com os comandos do SC. mas eu nao sabia ainda o que estava acontecendo.

Na tentaiva 9, Pensei que poderia ser o caminho abosluto, voltei a colocar o caminho absoluto do novo cabecalho. Nao funcionou.

Entao eu pensei que o ScriptCase estava criando algum erro na imagem após o upload, pois se nem na variável do banco de dados, nem no caminho absoluto, entao o SC tinha quebrado algo na imagem do upload

Na tentativa 10, tentei o caminho interno ao invés do absoluto. Nada

Na tentativa 11, nao sabendo mais o que poderia ser, comecei fresh, peguei um novo logo, que já estava online para tentar. e funcinou.

Na tentativa 12, pensei que definitivamente o ScriptCase estava bagunçando a imagem, vou subir o cabecalho via ftp para testar. Subi via ftp e nao funcionou novamente. Enloqueci. Pois se nao era o SC, e nao era nenhum comando do SC. Já sabia que era a imagem! mas quem estava bagunçando a imagem?

Na tentativa 13, construi um novo cabecalho, pois tinha certeza que era a imagem! Mas o erro permaneceu, pensei que era a permissao 644 entao mudei para 777 e testei duas vezes e nada.

Entao nao era a imagem? era a image? Se nao é o SC upload, Nao é o SC comando do PDF, se nao é a Imagem! O que pode ser?

Na tentativa 14, eu pensei, deixa eu voltar para a imagem que funciona, fiz um upload via sistema da imagem que funcionava, e voltei a tentar usar a variável que vinha do banco. Funcionou. Ratifiquei duas coisas: A imagem do banco, a caminho da imagem e a imagem funcionam. nao sei o que está acontecendo especificamente com a imagem do cliente.

Na tentativa 15, volta tudo como era, como eu sempre fiz. Com essa imagem funcionou! O que pode ser entao?
Nao é SC Upload, Nao é ReportPdf, essa imagem funciona.

Como o novo cabecalho nao funcionou, poderia ser algum pixel da imagem do logo do cliente? Impossível!!! Vamos eliminar mais uma coisa entao

Na tentativa 16, vamos criar um cabecalho do zero escrevendo apenas o nome do cliente, sem utilizar o logo do cliente, eliminar qualquer possibilidade de pixel da imagem. Nao funcionou a nova imagem.

Na tentativa 17, deixa eu exportar esse PNG para JPG para ver se pode ser o formato.

Bingo! O Formato PNG gerado pelo Macbook, printscreen (cmd+sifht+4) cria um PNG que quando impresso no PDF do ReportPDF nao funciona em todos os navegadores, nao imprime, nao baixa com o download.

Finalmente, que batalha!

Exportei o cabeçalho do cliente de PNG para JPG e está tudo funcionando conforme a versão original.

Um agradecimento especial para @Jocimar de Oliveira, @Haroldo e @Marcelo Batista que colaboraram.

1 Curtida

“Caraca”, perdeu calorias pra caramba com essa jornada.

Cássio,

Que bom que conseguiu resolver esse problema, e parabéns por detalhar da forma de como resolveu isso, tenho certeza que será útil algum dia pra alguém aqui do fórum quando tiver esse problema semelhante.

Gratidão por compartilhar detalhes da sua jornada e solução !

1 Curtida