Erro ao exportar para PDF

(Kásio) #1

Bom pessoal há dias que tento fazer com que o scriptcase exporte consultas para PDF.

Eu segui os seguintes passos SEM ÊXITO

-Permissão 777 em todos os diretórios do scriptcase
-Configuração disable_function do php correto (não está desabilitando nenhuma função do PHP)
-Configuração safe_mode do php como Off
-SELinux desabilitado
-JRE instalado

Estou usando o Ubuntu 9.04

Se alguém tiver mais alguma solução ficarei agradecido. Obrigado desde já!

(system) #2

Olá Kásio, bom dia…

Eu também sofri pra fazer as consultas exportarem em PDF no linux, só consegui com a ajuda do pessoal do suporte da netmake…

Acredito que o problema seja na instalação do JRE. Dá uma conferida no arquivo php.ini, procure pela linha include_path e confira se tem alguma informação sobre o local de instalação do JRE:

[tt]$cat /etc/php5/apache2/php.ini | grep include_path
include_path = “.:/usr/share/php:/usr/lib/jvm/java-1.5.0-sun/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun/jre/lib/i386/server”[/tt]

Se não tiver nada parecido com isso, vc terá que colocar o path do JRE para o php carregar ele corretamente! Outro detalhe é a versão do PHP, se não me engano tem que ser superior a 5.2.6.

Se vc quiser disponibilizar o relatório do diagnosis (ajuda -> diagnosis) pro pessoal aqui do forum dar uma olhada, já facilita bastante… ou então envie ele pro suporte da netmake que eles já lhe dizem o problema também!

Espero ter ajudado…

Att.
Robson

(Kásio) #3

Opa Robson obrigado pela resposta, tinha esquecido até de colocar na minha pergunta inicial mas

eu também coloquei o path para o JRE no include_path do php.ini
Minha versão do PHP é exatamente 5.2.6 tem que ser superior ou pode ser igual?

obrigado!

Qual a versão que você usa?

(system) #4

Olá Kásio,

Eu uso a versão 5.2.11 - Apache/2.2.8 (Ubuntu) PHP/5.2.11 mod_ssl/2.2.8 OpenSSL/0.9.8g… a 5.2.6 funciona normalmente, eu tive problemas quando instalei pelo apt-get e a versão mais recente nos repositórios era a 5.2.4…

Me diga uma coisa… no diagnosis não aparece nenhum problema?

E está dando algum erro ao gerar o PDF ou ele simplesmente “trava” na metade da “barra de progresso” da geração?

Att.
Robson

(Kásio) #5

Obrigado por estar me ajudando Robson

Olha no diagnosis não acontece nenhum problema. Ele não trava, vai até 100% porém quando vou visualizar o arquivo tanto o Adobe Reader 8 quanto o Foxit diz que o arquivo está corrompido ou formato incorreto.

Obrigado desde já a atenção dada!

(system) #6

Kásio,

Após tentar gerar o PDF, veja na pasta “temp” (_lib/tmp) e procure pelos arquivos .log e .html (com o mesmo nome da consulta que gerou o PDF).

Verifique se este arquivo HTML está com a formatação correta… e no arquivo .log tem a linha de comando que está gerando seu arquivo PDF, algo como:

java -Xms128m -Xmx256m -Djava.awt.headless=true -cp .:pd4ml.jar Pd4Php http://www....com.br/_lib/tmp/.....html 1000 A4 -orientation LANDSCAPE -permissions 2076 > /var/www/sys/_lib/tmp/....pdf

Tente executar o comando (que está no .log) no terminal e veja se o arquivo PDF será gerado corretamente…

Tive um problema parecido: http://www.netmake.com.br/forum/index.php?topic=1303.msg3999

Att.
Robson

(Kásio) #7

Executei exatamente o mesmo comando que estava no arquivo de log com o mesmo nome do arquivo do pdf gerado pela consulta.

O arquivo HTML é gerado normalmente (Verifiquei)

Quando digitei no terminal do linux o comando para gerar o pdf aconteceu o seguinte erro:
root@servidor:~# java -Xms128m -Xmx256m -Djava.awt.headless=true -cp .:pd4ml.jar Pd4Php http://juvep.myftp.org/scriptcase/tmp/sc_grid_cad_geral_html_4c049b7634ba72bc3a31454578413fff.html 800 LETTER -orientation PORTRAIT -permissions 2076 > /home/juvep/public_html/scriptcase/tmp/sc_pdf_20091108192204_993_grid_cad_geral.pdf

Exception in thread “main” java.lang.NoClassDefFoundError: Pd4Php
Caused by: java.lang.ClassNotFoundException: Pd4Php
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Pd4Php. Program will exit.

(system) #8

Esse erro também acontece aqui, mas mesmo assim o pdf é gerado normalmente… é estranho que no seu caso está gerando um arquivo PDF vazio!

Qual a versão do JRE instalado?
[tt]$ java -version
java version “1.6.0_14”
Java™ SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot™ Client VM (build 14.0-b16, mixed mode, sharing)[/tt]

ahh… tentei rodar o comando aqui, pra gerar seu arquivo html em um arquivo PDF… e deu o mesmo problema! Gerou um arquivo PDF vazio (e aqui funciona normalmente a exportação em PDF)… Portanto imagino que o problema não seja no Java!

Dá uma verificada em algumas configs no teu php.ini:
[tt]$ cat /etc/php5/apache2/php.ini | grep memory_limit
memory_limit = 128M[/tt]

[tt]$ cat /etc/php5/apache2/php.ini | grep max_
max_execution_time = 1500
max_input_time = 60
post_max_size = 8M

[/tt]

Att.
Robson

(Kásio) #9

Opa!
Andei um pouco ocupado!

java version “1.6.0_14”
Java™ SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot™ 64-Bit Server VM (build 14.0-b16, mixed mode)

Eu tive que mudar apenas o
max_execution_time para 1500 o restante tava igual

Continua o mesmo erro
srsrsr

(Rodrigo Lins) #10

Bom Dia,

Você tentou setar variáveis de ambiente?
Existe um tópico parecido onde, no caso dele, foi solucianado… você já tentou os passos descritos neste tópico

http://www.netmake.com.br/forum/index.php?topic=1312.0

?

Rodrigo Lins.

(system) #11

Estou com o mesmo problema do post citado no link enviado acima. ja adicionei a variavel ambiente JRE mas quando mando gerar o PDF ele me informa o segunte erro

“Devido a uma mudança no mecanismo de geração de arquivos PDF, é necessário que O JRE esteja instalado e acessível ao PHP através do PATH do sistema. Contacte o administrador do servidor a respeito desta mudança.”

como faria para resolver esse problema.
OBS: ambiente windows

(lucianoparente) #12

Eu estava com o mesmo problema, e descobri que o erro era no meu arquivo /etc/hosts que tinha um ip deferente do atual do meu domínio. Como na hora de gerar um pdf ele abre localmente, o próprio servidor faz uma chamada de um arquivo temporário.

Vejam:

java -Xms128m -Xmx256m -Djava.awt.headless=true -cp .:pd4ml.jar Pd4Php http://meudominio.com.br:85/scriptcase/tmp/sc_grid_clientes_cli_1_html_fb4ltopli25hgtrfv44lfaoj65.html 800 LETTER -orientation PORTRAIT -permissions 2076 > /opt/nm/www/scriptcase/tmp/sc_pdf_20111110104650_729_grid_clientes_cli_1.pdf

O domínio meudominio.com.br de fora do servidor resolvia o ip correto, mas de dentro resolvia um endereço antigo que estava no /etc/hosts

Foi só corrigir isso no arquivo /etc/hosts e o problema foi resolvido.

(Eduardo Alves) #13

Estou contratando esse serviço na LOCAWEB (JVM DEDICADO). Gostaria so de estar confirmando se é esse mesmo, para eu gerar os PDFs corretamente nas minhas consultas. O problema é que o preço é SALGADINHO pra caramba… + 50,00 mensais, aff