Relatório usando itext

0 respostas
G
package Gerador;




import forms.FormRelatorio;
import beans.PesquisaBean;
import beans.QuestaoBean;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;


public class GeradorPDF {
    
    
    Document doc = null;
    OutputStream os = null;
                        
   public boolean gerarRelatorio (ArrayList<String> relatorio, String nomeQuestionario) throws DocumentException{                     
                        try {
                            doc = new Document(PageSize.A4, 72, 72, 72, 72);
                            os = new FileOutputStream("Relatorio " + nomeQuestionario + ".pdf");
                            
                            PdfWriter.getInstance(doc, os);
                            
                            doc.open();
                            Font fontTitulo = new Font(Font.FontFamily.COURIER, 20, Font.BOLD);
                            Font fontPergunta = new Font(Font.FontFamily.COURIER, 14, Font.BOLD);
                            Font fontResposta = new Font(Font.FontFamily.COURIER, 12, Font.NORMAL);

                            Paragraph titulo = new Paragraph(nomeQuestionario, fontTitulo);
                            doc.add(titulo);
                            
                            for(String entidade : relatorio) {
                                if(entidade.contains("Pergunta: ")){
                                Paragraph pergunta = new Paragraph(entidade, fontPergunta);
                                doc.newPage();
                                doc.add(pergunta);
                                }else{
                                Paragraph resposta = new Paragraph(entidade, fontResposta);
                                doc.add(resposta);
                                }
                            }
                            
                            doc.close();
                            
                        } catch (FileNotFoundException ex) {
                            Logger.getLogger(FormRelatorio.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        return true;
   }
   
    /**
     *
     * @param questionario
     * @return
     */
    public boolean gerarQuestionario (PesquisaBean pesquisa) throws DocumentException{
       try {
                            doc = new Document(PageSize.A4, 72, 72, 72, 72);
                            os = new FileOutputStream(pesquisa.getNome() + ".pdf");
                            
                            PdfWriter.getInstance(doc, os);
                            
                            doc.open();
                            Font fontTitulo = new Font(Font.FontFamily.COURIER, 20, Font.BOLD);
                            Font fontPergunta = new Font(Font.FontFamily.COURIER, 14, Font.BOLD);
                            Font fontOpcao = new Font(Font.FontFamily.COURIER, 12, Font.NORMAL);

                            Paragraph titulo = new Paragraph(pesquisa.getNome(), fontTitulo);
                            doc.add(titulo);
                            
                            for(QuestaoBean entidade : pesquisa.getNome()) {//Erro Aqui for(QuestaoBean entidade : pesquisa.getNome()) { required: array or java.lang.Iterable found String
                                Paragraph pergunta = new Paragraph(entidade.getDescricao(), fontPergunta);
                                doc.add(new Paragraph("\n"));
                                doc.add(new Paragraph("\n"));
                                doc.add(pergunta);
                                if(entidade.getTipo() == 1){
                                    for(QuestaoBean entidadeOpcao : 
                                            entidade.getGrupoOpcoes().getOpcoes()){   // Erro Aqui entidade.getGrupoOpcoes().getOpcoes()){ symbol:   method getOpcoes()
                                        Paragraph opcao = new Paragraph(
                                                "( ) " + entidadeOpcao.getDescricao()
                                                , fontOpcao);
                                        doc.add(opcao);
                                    }
                                }else{
                                    Paragraph espacoEmBranco = new Paragraph(
                                            "___________________________________"
                                            + "________________________"
                                            , fontOpcao);
                                    doc.add(espacoEmBranco);
                                }
                                
                            }
                            
                            doc.close();
                            
                        } catch (FileNotFoundException ex) {
                            Logger.getLogger(FormRelatorio.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        return true;
   }

    
   
}
Criado 31 de outubro de 2013
Respostas 0
Participantes 1