Export.SeguroViagem.java Source code

Java tutorial

Introduction

Here is the source code for Export.SeguroViagem.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Export;

import Export.ConfigDoc.Fontes;
import bean.ViagemBean;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import dao.ClienteDao;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import modelo.Contrato;

/**
 *
 * @author AhmedJorge
 */
public class SeguroViagem implements Serializable {

    private String reString;
    OutputStream outputStraem = null;

    public String criarDoc(ViagemBean vb, String numCriente, String user, String arquivo, Contrato c) {
        try {
            PdfPTable pTablePrincaipal;
            //            PdfPTable pTableSegu1;
            PdfPTable pTableSegu2;
            SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh'.'mm'.'ss");
            SimpleDateFormat sdfPot = new SimpleDateFormat("dd/MM/yyyy");

            Font fontCorpoN = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 7.9f);
            Font fontCorpo = FontFactory.getFont(Fontes.FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 7.9f);

            //            PdfPTable pTableLinha = new PdfPTable(1);
            //            pTableLinha.setWidthPercentage(95);
            //            PdfPCell linha= new PdfPCell(new Phrase(" "));
            //            
            //            linha.setBorderWidthTop(0.5f);
            //            linha.setBorderWidthBottom(0);
            //            linha.setBorderWidthLeft(0);
            //            linha.setBorderWidthRight(0);
            //            pTableLinha.addCell(linha);
            Document documento = new Document();
            documento.setPageSize(PageSize.A4);
            documento.setMargins(20f, 20f, 138f, 5f);
            File ff = new File(arquivo + "/" + user + "/Seguro Viagem/");
            ff.mkdirs();
            String Ddata = sdf.format(new Date());
            ff = new File(ff.getAbsoluteFile() + "/" + "Doc Seguro Viagem " + Ddata + ".pdf");
            reString = "../Documentos/" + user + "/Seguro Viagem/" + "Doc Seguro Viagem " + Ddata + ".pdf";
            outputStraem = new FileOutputStream(ff);
            PdfWriter writer = PdfWriter.getInstance(documento, outputStraem);

            if (MarcaDAgua.isSimulation) {
                MarcaDAgua.SimulacaoVertical v = new MarcaDAgua.SimulacaoVertical();
                writer.setPageEvent(v);
            }

            if (MarcaDAgua.isCanceled) {
                MarcaDAgua.AnulacaoVertical v = new MarcaDAgua.AnulacaoVertical();
                writer.setPageEvent(v);
            }

            documento.open();

            int total = vb.getInfoPessoaSegurada().size();
            for (int i = 0; i < total; i++) {

                pTablePrincaipal = new PdfPTable(1);
                pTablePrincaipal.setWidthPercentage(98f);
                //                pTableSegu1 = new PdfPTable(1);
                //                pTableSegu1.setWidthPercentage(95);
                pTableSegu2 = new PdfPTable(new float[] { 55f, 45f });
                pTableSegu2.setWidthPercentage(100f);

                //                PdfPCell cellTitulo= new PdfPCell(new Phrase("Lista Pessoas Seguradas",fontCabecalhoN));
                //                cellTitulo.setBorder(0);
                PdfPCell cellNull = new PdfPCell(new Phrase(" ", fontCorpo));
                cellNull.setBorder(0);

                //                if(((i)%6)==0)
                //                {
                //                    pTableSegu1.addCell(cellTitulo);
                //                    pTableSegu1.addCell(cellNull);
                //                }
                //                
                Paragraph pCl = new Paragraph();
                pCl.add(new Phrase("Nome do Segurado: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getNomePessoaSegurada().toUpperCase(),
                        fontCorpoN));
                PdfPCell cellNome = new PdfPCell(pCl);
                cellNome.setColspan(2);
                cellNome.setBorder(0);
                pTableSegu2.addCell(cellNome);

                //                PdfPCell cellNum= new PdfPCell(new Phrase(""+(i+1),fontCorpo));
                //                cellNum.setBorder(0);
                //                cellNum.setHorizontalAlignment(Element.ALIGN_RIGHT);
                //                pTableSegu2.addCell(cellNum);
                pCl = new Paragraph();
                pCl.add(new Phrase("Endereo: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getEndereco().toUpperCase(), fontCorpoN));
                PdfPCell cellEndereco = new PdfPCell(pCl);
                cellEndereco.setBorder(0);
                pTableSegu2.addCell(cellEndereco);
                pTableSegu2.addCell(cellNull);

                pCl = new Paragraph();
                pCl.add(new Phrase("Data e Local Nascimento: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getDataNascFormatada(), fontCorpoN));
                pCl.add(new Phrase(" em ", fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getLocalNascimento(), fontCorpoN));
                PdfPCell cellNascDaNascloc = new PdfPCell(pCl);
                cellNascDaNascloc.setBorder(0);

                pCl = new Paragraph();
                pCl.add(new Phrase("Sexo: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getSexo(), fontCorpoN));
                pCl.add(new Phrase("   Tel.N ", fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getTelefone(), fontCorpoN));
                PdfPCell cellSexo = new PdfPCell(pCl);
                cellSexo.setBorder(0);
                pTableSegu2.addCell(cellNascDaNascloc);
                pTableSegu2.addCell(cellSexo);

                pCl = new Paragraph();
                pCl.add(new Phrase("Apolice: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getNumApolice(), fontCorpoN));
                PdfPCell cellApolice = new PdfPCell(pCl);
                cellApolice.setBorder(0);

                pCl = new Paragraph();
                pCl.add(new Phrase("Cliente: ".toUpperCase(), fontCorpo));

                String[] codCliente = vb.getInfoPessoaSegurada().get(i).getNumApolice().split("/");

                pCl.add(new Phrase(((codCliente.length == 2) ? "TIN " + codCliente[1] : "TIN "), fontCorpoN));
                PdfPCell cellCliente = new PdfPCell(pCl);
                cellCliente.setBorder(0);
                pTableSegu2.addCell(cellApolice);
                pTableSegu2.addCell(cellCliente);

                pCl = new Paragraph();
                pCl.add(new Phrase("Durao: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getNumDias() + " DIAS", fontCorpoN));
                PdfPCell cellDuracao = new PdfPCell(pCl);
                cellDuracao.setBorder(0);

                pCl = new Paragraph();
                pCl.add(new Phrase("Perodo: de ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(sdfPot.format(vb.getInfoPessoaSegurada().get(i).getDataInicio()), fontCorpoN));
                pCl.add(new Phrase("  ", fontCorpo));
                pCl.add(new Phrase(((vb.getInfoPessoaSegurada().get(i).getDataFim() != null)
                        ? sdfPot.format(vb.getInfoPessoaSegurada().get(i).getDataFim())
                        : " "), fontCorpoN));
                PdfPCell cellPeriodo = new PdfPCell(pCl);
                cellPeriodo.setBorder(0);
                pTableSegu2.addCell(cellDuracao);
                pTableSegu2.addCell(cellPeriodo);

                pCl = new Paragraph();
                pCl.add(new Phrase("Data de Emisso: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(sdfPot.format(c.getDataContrato()), fontCorpoN));
                PdfPCell cellDataEmissao = new PdfPCell(pCl);
                cellDataEmissao.setBorder(0);

                pCl = new Paragraph();
                pCl.add(new Phrase("Destino: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(
                        ClienteDao.paisesSelected(vb.getInfoPessoaSegurada().get(i).getPaisDestino().toUpperCase())
                                + "    ",
                        fontCorpoN));
                pCl.add(new Phrase("N de Pessoas: ", fontCorpo));
                pCl.add(new Phrase((i + 1) + "", fontCorpoN));
                PdfPCell cellDestino = new PdfPCell(pCl);
                cellDestino.setBorder(0);
                pTableSegu2.addCell(cellDataEmissao);
                pTableSegu2.addCell(cellDestino);

                pCl = new Paragraph();
                pCl.add(new Phrase("Meio de Identificao: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(
                        ((vb.getInfoPessoaSegurada().get(i).getTipoDoc().toUpperCase().equals("PASSAPORTE"))
                                ? "PASS"
                                : (vb.getInfoPessoaSegurada().get(i).getTipoDoc().toUpperCase()
                                        .equals("BILHETE IDENTIDADE") ? "BI"
                                                : vb.getInfoPessoaSegurada().get(i).getTipoDoc().toUpperCase())),
                        fontCorpoN));
                pCl.add(new Phrase("   N ", fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getNumDoc(), fontCorpoN));
                PdfPCell cellEmiDocNum = new PdfPCell(pCl);
                cellEmiDocNum.setBorder(0);

                pCl = new Paragraph();
                pCl.add(new Phrase("Emitido em: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getLocalEmissao().toUpperCase() + " ",
                        fontCorpoN));
                pCl.add(new Phrase("em ", fontCorpo));
                pCl.add(new Phrase(vb.getInfoPessoaSegurada().get(i).getDataEmissaoFormatada(), fontCorpoN));
                PdfPCell cellEmiDoc = new PdfPCell(pCl);
                cellEmiDoc.setBorder(0);
                pTableSegu2.addCell(cellEmiDocNum);
                pTableSegu2.addCell(cellEmiDoc);

                pCl = new Paragraph();
                pCl.add(new Phrase("Outras Informaes: ".toUpperCase(), fontCorpo));
                pCl.add(new Phrase(
                        ((vb.getInfoPessoaSegurada().get(i).getOutrasInformacoes() == null) ? " "
                                : vb.getInfoPessoaSegurada().get(i).getOutrasInformacoes().toUpperCase()),
                        fontCorpoN));
                PdfPCell cellOutraInf = new PdfPCell(pCl);
                cellOutraInf.setColspan(2);
                cellOutraInf.setBorder(0);
                pTableSegu2.addCell(cellOutraInf);

                //                PdfPCell cellSegui1 = new PdfPCell();
                //                cellSegui1.addElement(pTableSegu1);
                //                cellSegui1.setBorder(0);
                PdfPCell cellSegui2 = new PdfPCell();
                cellSegui2.addElement(pTableSegu2);
                cellSegui2.setBorder(0);

                //                PdfPCell cellSeguiT = new PdfPCell();
                //                cellSeguiT.addElement(pTableLinha);
                //                cellSeguiT.setBorder(0);
                //                pTablePrincaipal.addCell(cellSegui1);
                pTablePrincaipal.addCell(cellSegui2);

                //                if((i+1)<total&&((i+1)%6)!=0)
                //                    pTablePrincaipal.addCell(cellSeguiT);
                //                
                documento.add(pTablePrincaipal);
                //                
                //                System.err.println((((i+1)%6)==0)+" "+(i+1));
                if ((i + 1) != total) {
                    documento.newPage();
                }

            }

            documento.close();
            return reString;

        } catch (DocumentException | IOException ex) {
            Logger.getLogger(SeguroViagem.class.getName()).log(Level.SEVERE, null, ex);
            return reString;
        }
    }

    public static void main(String[] args) {
        SeguroViagem dv = new SeguroViagem();
        dv.criarDoc(new ViagemBean(), "djdd", "ah", "d", new Contrato());
    }
    //    class MyFooter extends PdfPageEventHelper {
    //
    //        @Override
    //        public void onStartPage(PdfWriter writer, Document document) {
    //            try {
    //                PdfContentByte canvas = writer.getDirectContentUnder();
    //                Image image = Image.getInstance("logo.png");
    //                image.scaleAbsolute(PageSize.A4.rotate());
    //                image.scaleToFit(700f, 500f);
    //                image.setAbsolutePosition(document.getPageSize().getWidth() - 495, 170);
    //                canvas.saveState();
    //                PdfGState state = new PdfGState();
    //                state.setFillOpacity(0.2f);
    //                canvas.setGState(state);
    //                canvas.addImage(image);
    //                canvas.restoreState();
    //            } catch (BadElementException | IOException ex) {
    //                Logger.getLogger(ReciboPagamento.class.getName()).log(Level.SEVERE, null, ex);
    //            } catch (DocumentException ex) {
    //                Logger.getLogger(ReciboPagamento.class.getName()).log(Level.SEVERE, null, ex);
    //            }
    //        }
    //    }
}