Help com PDF e Gerar Gráficos

4 respostas
B

Olá amigos, blz?
Sou um mero acompanhador do fórum, porém não havia criado conta ainda.

Estou com um problema aqui…

Tenho um relatório em asp, que possui alguns gráficos que são gerados apartir de um .swf (igual o do google), e preciso fazer que esse mesmo gráfico seja gerado em PDF.
Esse sistema é em ASP, e conforme a api do google para impressão em PDF vi que eles utilizam o iText…

Então gostaria da ajuda de vcs ai que manjam mais…
O que eu preciso fazer pra criar essa impressão em PDF com uma classe .java?

Tentei criar um .jsp para ir colocando o preenchimento do relatório, sendo que a única coisa que muda são os gráficos.
Mais eu não sei como faço pra instanciar uma classe dentro do .jsp, alguém poderia ai dar uma luz??

Por console eu já to conseguindo gerar o pdf e tals, mais preciso fazer isso via web.

valeu!

4 Respostas

andrestrindade

Não sei se entendi bem sua pergunta, mas já pensou em usar jasper reports? :stuck_out_tongue:
Dê uma pesquisada que acho que pode te ajudar. Queres gerar o pdf onde? E mostrar onde?

B

Olá andre,
Escutei falar do jasper reports, não vejo problema em usar ele não.
Mais a única grande dificuldade que estou tendo é....

eu tenho uma classe .java criada.... eu preciso chamar ela pra gerar o pdf que contem textos e gráficos dinamicos, e depois abrir na tela esse pdf para que o usuário imprima, sómente isso.
porém não sei como chamar essa classe pelo meu .jsp... pesquisei no forum, verifiquei alguns comando e tals mais não consegui, por isso estou pedindo ajuda.

Essa é minha classe que gera o pdf.
package br.com.ivc.report.auditoria;

import java.io.IOException;

import java.io.FileOutputStream;


import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public HelloServlet() {
    	System.out.println("teste");
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().write("cu2");
		try {
			new HelloServlet().createPdf(RESULT);
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.getWriter().write("ahahhahhahhahahha");
	}

	   /** Path to the resulting PDF file. */
    public static final String RESULT
        = "hello.pdf";
    
    /**
     * Creates a PDF file: hello.pdf
     * @param    args    no arguments needed
     */
    public static void main(String[] args)
    	throws DocumentException, IOException {
    	new HelloServlet().createPdf(RESULT);
    }

    /**
     * Creates a PDF document.
     * @param filename the path to the new PDF document
     * @throws    DocumentException 
     * @throws    IOException 
     */
    public void createPdf(String filename)
	throws DocumentException, IOException {
        // step 1
        Document document = new Document();
        // step 2
        PdfWriter.getInstance(document, new FileOutputStream(filename));
        // step 3
        document.open();
        // step 4
        document.add(new Paragraph("Hello World!"));
        // step 5
        document.close();
    }
}
Aqui é minha .jsp que quero abrir o pdf gerado, para conseguir imprimir.
<%@page import="br.com.ivc.report.auditoria.HelloWorld"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1" %>

<%@page import="br.com.ivc.report.auditoria.HelloServlet" %> 


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%

HelloServlet hello = new HelloServlet();

%>

</body>
</html>
andrestrindade

Cara, não entendi ainda aonde estás gerando o relatório. Mas veja este tópico:

http://www.guj.com.br/posts/list/99078.java

Talvez te ajude! =)

B

Falae andré, o relatório que eu emito é um certificado pro cliente, no caso preciso gerar esse certificado(relatório) em pdf, para que ele possa salvar em sua máquina, porém hoje o certificado que emito está em asp… e possuí gráficos, por este motivo optei por utilizar o JAVA para gerar os mesmos novamente para facilitar pros clientes em .PDF.

A questão toda mesmo são mais os gráfico rsrs, que é uma informação muito necessária no .pdf.

Criado 12 de novembro de 2010
Ultima resposta 15 de nov. de 2010
Respostas 4
Participantes 2