Ocdigital 2 Denunciar post Postado Abril 2, 2013 Bom dia Pessoal, estou desenvolvendo uma aplicação em php que faz a geração do gráfico das notas do aluno porém preciso converter o boletim em pdf para enviar no email do aluno, porém quando vou converter em PDF o gráfico não converte, ja tentei vários tipos de conversores, só funciona fazendo uma impressão como DoroPDF mais são muitos e queria deixar isso dinâmico, alguém tem alguma ideia? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 2, 2013 e que vc tentou e como tentou ? FPDF ? TCPDF? Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 2, 2013 estou ultilizando o DomPDF, estou usando o PhPlot para gerar o gráfico. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 2, 2013 Já deu uma olhada no fórum de artigos ? Considere ler: :sea: http://forum.imasters.com.br/topic/489419-exportando-relatrio-para-pdf/ Abraço. Se seu problema for gerar os gráficos dinamicamente, diga como está fazendo. Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 2, 2013 Então... esse é o arquivo que gera o gráfico (getGraph.php) que ultiliza o phplot <?php require_once 'phplot.php'; include'conexao.php'; /*Busca informaçãoes do banco*/ $myQuery = "Select valor From notas where ra = 20130001"; $consultar = mysql_query($myQuery); $i = 1; while($resultado = mysql_fetch_array($consultar)){ $nota[$i] = $resultado['valor']; $i++; } /*Cria uma array com os dados*/ $notasInt = join(",", array($nota[1],$nota[2])); $notasInt = "[$notasInt]"; /*Busca informaçãoes do banco*/ $myQuery1 = "Select media From medias where idserie = '1' "; $consultar1 = mysql_query($myQuery1); $j = 1; while($resultado1 = mysql_fetch_array($consultar1)){ $media[$j] = $resultado1['media']; $j++; } /*Cria uma array com os dados*/ $mediasInt = join(",", array($media[1],$media[2])); $mediasInt = "[$mediasInt]"; $data = array( array('Interdisciplinar' , $nota[1],$media[1]), array('Quimica' , $nota[2],$media[2] ), array('Geografia' , $nota[3],$media[3]), array('Fisica' , $nota[4],$media[4] ), array('Biologia' , $nota[5],$media[5] ), array('Historia' , $nota[6],$media[6] ), array('Matematica' , $nota[7],$media[7] ), array('Portugues' , $nota[8],$media[8] ), array('Ingles' , $nota[9],$media[9] ) ); # Cria um novo objeto do tipo PHPlot com 500px de largura x 350px de altura $plot = new PHPlot(800 , 350); $legend_text = array('Aluno', 'Media'); // Organiza Gráfico ----------------------------- $plot->SetTitle('Gráfico de desempenho'); # Precisão de uma casa decimal $plot->SetPrecisionY(1); # tipo de Gráfico (poderia ser linepoints por exemplo) $plot->SetPlotType("bars"); # Tipo de dados que preencherão o Gráfico text(label dos anos) e data (valores de porcentagem) $plot->SetDataType("text-data"); # Adiciona ao gráfico os valores do array $plot->SetDataValues($data); $plot->SetLegend($legend_text); // ----------------------------------------------- // Organiza eixo X ------------------------------ # Seta os traços do eixo X para invisível $plot->SetXTickPos('none'); # Texto abaixo do eixo X $plot->SetXLabel(""); # Tamanho da fonte que varia de 1-5 $plot->SetXLabelFontSize(2); $plot->SetAxisFontSize(2); // ----------------------------------------------- // Organiza eixo Y ------------------------------- # Coloca nos pontos os valores de Y $plot->SetYDataLabelPos('plotin'); // ----------------------------------------------- // Desenha o Gráfico ----------------------------- $plot->DrawGraph(); // ----------------------------------------------- ?> e uso o DomPdf para gerar um pdf e gravar na pasta <?php $html = ' <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head> <body> <h3>Teste</h3> <div style="width:800px;margin:0 auto;" > <fieldset> <img src="getGraph.php"/> </fieldset> </div> </body> </html> '; require_once("../dompdf_config.inc.php"); $dompdf = new DOMPDF(); $dompdf->load_html($html); $dompdf->set_paper('letter', 'landscape'); $dompdf->render(); $pdf = $dompdf->output(); file_put_contents("arquivo.pdf", $pdf); echo "Arquivo gerado" ?> Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 2, 2013 Sim, e qual é o problema ? você queria gerar por exemplo 10 PDFs de uma vez ??? Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 2, 2013 Vai funcionar assim ele vai pegar os valores das notas dos alunos pelo RA que é a chave entre as notas e nome dos alunos e gerar um arquivo para cada aluno por exemplo : 20010001.pdf e dai outra classe php vai enviar esse arquivo para o email cadastro para esse aluno .. mas o problema é que não sai o gráfico no PDF. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 2, 2013 Agora sim. O que é gerado no PDF, no lugar do gráfico ? te retorna algo ? Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 2, 2013 Fica em branco, onde era pra esta o gráfico Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 2, 2013 Execute apenas a página getgraf, e veja se o gráfico é gerado... Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 2, 2013 Sim ele gera normalmente Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 2, 2013 Sinto que ele realmente não vai gerar deste modo, pois a tag img ler o que o arquivo php gera. Vamos tentar especificar com o header o tipo de arquivo. Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 2, 2013 Ish... :upset: como faço isso? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 2, 2013 Veja o que te retorna, execute do jeito que aí está. <?php header("Content-type: image/png"); $html = ' <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head> <body> <h3>Teste</h3> <div style="width:800px;margin:0 auto;" > <fieldset> <img src="getGraph.php"/> </fieldset> </div> </body> </html> '; require_once("../dompdf_config.inc.php"); date_default_timezone_set('America/Sao_Paulo'); $dompdf = new DOMPDF(); $dompdf->load_html($html); $dompdf->set_paper('letter', 'landscape'); $dompdf->render(); $dompdf->stream(date('d/m/Y').'_cliente.pdf'); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 2, 2013 Continua saindo em branco... Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 8, 2013 Até q enfim , Resolvi..... pra quem se intessar segue: no arquivo que gera o pdf deve se ultilizar o caminho completo do arquivo do gráfico: Ao invés de: <img src="getGraph.php"/> Ultilizar: <img src="http://localhost:8080/phplot/www/getGraph.php"/> e no arquivo dompdf_config.inc.php,habilitar a opção Remote: def("DOMPDF_ENABLE_REMOTE", true); Compartilhar este post Link para o post Compartilhar em outros sites
Ocdigital 2 Denunciar post Postado Abril 16, 2013 e o fantasma volta a pra assombrar ...rsrsrs, Pessoal o sistema esta funcionando perfeitamente em LOCALHOST (Wamp), porém preciso que seja online, agora que subi os arquivos no server da hospedagem o dompdf não consegue mais inserir as imagens , acho que tem haver com o TEMP dessa imagem, más não estou conseguindo resolver... Segue o erro Image not readable or empty http://eferreira.com.br/boletim/wwww/graficos/grafico.php ja tentei colocar uma jpeg no lugar do pdf mas também dá o mesmo erro Compartilhar este post Link para o post Compartilhar em outros sites