Problemas na Geração do PDF a partir da Consulta

Olá Pessoal

Estou com problemas nas Consultas do Scriptcase 7 ao gerar PDF. Ele faz todo o processo de geração sem emitir nenhuma mensagem de erro porém, quando vou visualizar ou baixar o arquivo, o arquivo PDF simplesmente não existe. “The requested URL /scriptcase/tmp/sc_pdf_…pdf”. Estou usando LINUX 64 (Ubuntu Server) num servidor na Cloud da Amazon. Já verifiquei a pasta e constatei que os arquivos realmente não estão lá. Na impressão pelo REPORT-PDF funciona tudo certo, só pela consulta acontece esse problema.

Se alguém tiver como me ajudar fico muito grato.

Abraço a todos,

Ronaldo Morais

Cara não sou expert no geração de consulta PDF, mas te digo uma coisa, a mesma não tem nada haver com o reportPDF.
ReportPDF usa a classe FPDF, não precisa de nada externo ou fora do escopo PHP.
Geração de consulta PDF já utiliza uma biblioteca ou app de terceiros, não me recordo o nome agora, só sei que começa com w,
se der uma pesquisada no fórum vai ver oque é preciso para funcionar.

Já de ante-mão, verifique se na sua máquina cloud tem o JRE instalado, pois pelo que já vi no fórum é preciso do mesmo no servidor.

Abraço e boa sorte.

Boa noite Almeida

Em primeiro lugar, muito obrigado pela atenção e feedback. Mencionei o ReportPDF por dois motivos:

O primeiro é que, segundo a Netmake, o Scriptcase 7 já não usa mais o Java para gerar os PDFs da consulta.Não sei ao certo como tá funcionando mas imagino que esteja usando o FPDF e mais alguma coisa para converter os dados da consulta (creio que seja o wkhtmltopdf).

O segundo é que o ReportPDF também cria um arquivo temporário com o mesmo prefixo (SC_PDF) na pasta tmp. Isso descarta a possibilidade de ser algo relacionado às permissões de leitura e escrita nas pastas, já que os arquivos do ReportPDF estão sendo gerados sem problema.

De qualquer maneira, valeu aí pela força (e valeu mesmo).

Abraço,

Ronaldo Morais

Ronaldo,

Eu tenho o mesmo problema e estou hospedado no UOLHOST. Uma hospedagem normal, sem possibilidade de alterações nas configurações.
O problema é com o programa WKHTMLTOPDF que fica na pasta _lib\prod\third\wkhtmltopdf

O suporte da Netmake me solicitou para verificar os atributos das pastas da aplicação.
Já coloquei tudo para 777 e nada.
Parece que essa rotina tem que ser executada através de uma linha de comando (um tipo de shell), como não tenho muito conhecimento em Linux não posso dar maiores detalhes. Mas posso dizer que é uma droga hehehe, antes funcionava legal, agora tá uma m…

Estou mudando todas as minhas consultas para relatórios através do ReportPdf, inclusive com os gráficos.
O Haroldo e o Endrigo tem me ajudado muito em seus posts.

Qualquer coisa que puder ajudar, fique tranquilo em me chamar pelo skype.

Boa noite Jorge

Muitíssimo obrigado pela atenção.

A Netmake mudou a exportação das consultas para PDF num esquema que não usa Java, creio eu, para evitar a incompatibilidade com provedores que não disponibilizam a JRE nos planos de hospedagem PHP. Porém, pelo que estou vendo, o problema acabou aumentando. Tanto o meu Scriptcase quanto a minha aplicação estão instalados num servidor na Cloud da Amazon. Tenho total acesso a ele e posso configurar como quero (inclusive instalar o JRE se necessário) mas estou tendo restrições com a impressão.

Creio que a Netmake deveria documentar melhor o esquema de configuração dos recursos para que tanto o Scriptcase quanto as Aplicações nele desenvolvidas possam rodar tranquilamente e o deployment não seja tão doído.

Obrigadão e um abraço Jorge. Vou fuçar um pouco aqui e esperar mais respostas. Qualquer coisa, vou aceitar teu convite para uma conferência via Skyṕe.

A propósito, meu Skype é sirius_ronaldo. Qualquer coisa, estou à disposição.

Ronaldo Morais

Pois é…

Antes td funcionava, agora complicou. hehehe

Eu ainda acho que a NM está utilizando alguma APP para gerar esses PDF apartir de grids. Pois se estivesse usando algum recurso do PHP, como uma classe feita mais que utilize apenas bibliotecas do PHP jamais teria esse problema.
Infelizmente não temos uma documentação específica para isso.

Sei que existe uma classe que gera um PDF a partir de um HTML, se não me engado é “htmltopdf”. No caso de vocês que precisa desse recurso, caberia procura-la e tentar adapta-la.

Abraço.

Acabei de implantar um VPS CentOS 6 e está tudo funcionando, é alguma limitação da hospedagem, não vejo como um problema do ScriptCase.

Olá Endrigo

Obrigado pela atenção.

Na verdade também uso um VPS, só que com Ubuntu. Então isso descarta a questão da hospedagem. Se tem uma APP convertendo o HTML para PDF, acho que a Netmake deveria documentar como é seu funcionamento e quais são os privilégios que ela necessita.

O pior de tudo é que não dá nenhuma mensagem de erro durante o processo. Apenas não é gerado o arquivo na pasta tmp.

Abraço a todos,

Ronaldo Morais

WKHTMLTOPDF

Já deu uma olhada na pasta wkhtmltopdf para ver se está tudo lá?
scriptcase/prod/third/wkhtmltopdf/

Meus clientes de hospedagem começaram com este problema na versão 7.1 subreleases mais atuais.
Aqui somente funcionou depois de um 777 na pasta xxxxxxx/_lib/prod/third/wkhtmltopdf/

Identifiquei o bug.
Como fiz publicação local via ftp o sc estava mandando todos os arquivos.
Agora um cliente fez a publicação tipo zip, upou e o pdf não era gerado.
Descobrimos que nem todos os arquivos do prod estão indo no zip.
O que fiz junto ao cliente de hospedagem foi baixar o prod.
http://downloads.netmake.com.br/downloads/v7/packs/scriptcase-prod-7.1.007-pt_br.tgz
descompactar na pasta _lib dele e a geração do pdf ocorreu de maneira normal.
Fica ai a dica.
Irei postar isto no bugs@netmake.com.br mais tarde.

Vou tentar essa ultima dica do Alexandre.
O meu problema é que o uol não descompacta arquivos grandes e esse é de mais de 60mega.

Vou baixar no meu notebook e passar por ftp, para ver o que dá.

Enviado e-mail para bugs@netmake.com.br.
Com as experiências que tivemos no provedor para correção da geração de pdf.
Vamos esperar e ver se eles confirma o bug na publicação com zip.

Pessoal,

Vou verificar o problema com nossa equipe de bugs.

att,
Bernhard Bernsmann

Bom dia,
Identifiquei isto na home do projeto de desenvolvimento do wkhtmltopdf:
http://code.google.com/p/wkhtmltopdf/issues/detail?id=289

O cliente ftp “corrompe” os arquivos do wkhtmltopdf em modo ASCII.

Fiz os testes aqui.
Se faço upload do zip e faço todo o procedimento de descompactar e trabalhar pelo shell a geração de pdf funciona corretamente.

Agora se uso um cliente de ftp para fazer upload da publicação, no meu caso o filezilla ou net2ftp, dá erro na geração do pdf.

O net2ftp envia arquivos rar, zip e etc como binário, mas arquivos php, html como ascii.
Logo, a exportação para pdf não funciona
Obs: Mesmo usando o comando unzip do net2ftp ele trabalha em ascii com arquivos php, html.

No Filezilla se descompacto o zip da publicação na minha máquina e envio em modo ASCII a exportação para pdf não funciona.
Se envio em modo binário sobrepondo os arquivos a exportação pdf funciona adequadamente.
Se volto a enviar em modo ascii sobrepondo os arquivos a exportação para pdf deixa de funcionar.
Espero ter solucionado isto de vez.

Para testar o que digo faça upload somente da pasta wkhtmltopdf no seu prod em binário pelo client ftp.
o default da pasta é _lib/prod/third/wkhtmltopdf/

Amigo Alexandre,

Segui seu procedimento de enviar a pasta como zip e descompactar na hospedagem.
No UolHost, dá “erro de barramento”.

Vou continuar tentando.

Obrigado, por enquanto.

Mas Jorgepopel,
tem que descompactar no shell para dar certo
Se descompactar via painel de controle do seu provedor pode dar o referido problema.
Você descompactou pelo shell?
Se não foi pelo shell, descompacte na sua máquina mesmo e envia por um cliente de ftp em modo binário sobrepondo a pasta wkhtmltopdf que esta lá.
No filezilla por exemplo para setar o modo binário vá em transferir tipo de transferência binário.
Por favor me adicione no Skype: simaoebuhler
Quero testar isto com você.

Pessoal,

O Alexandre me auxiliou e consegui solucionar o problema com a geração dos pdfs.

Basta seguir os passos descritos nesse tópico, há 3 postagens atrás.

Detalhes importantes:

  • se enviar a pasta wkhtmltopdf via FileZila (para outros programas acredito que seja a mesma coisa), tem que enviar os arquivos como binário. Opção do Menu: Transferir / Tipo de Transferência / Binário. Geralmente fica automático.
  • as permissões da pasta wkhtmltopdf e subpastas, tem que ser 777.

Fazendo isso, é só ir para o abraço.

Valeu.

Recebido da netmake (bugs@netmake.com.br) após enviar printscreen e texto citado:

"Agradeço ao feedback.

Realmente solicitamos que os arquivos sempre sejam enviados em formato zip para o servidor e que sejam descompactados por lá.

Caso o senhor postou algo sobre isso no fórum, informe a solução do problema.

Agradecemos ao contato.

Att,
Equipe Netmake."