Java tutorial
/* * 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.Empresa; import Export.ConfigDoc.Fontes; import bean.VeiculoBean; import com.itextpdf.text.BadElementException; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.FontFactory; import com.itextpdf.text.Image; 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 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 lib.Moeda; import modelo.Contrato; /** * * @author AhmedJorge */ public class SeguroViatura implements Serializable { private String reString; public String criarDoc(String numApolice, String numCliente, Contrato c, VeiculoBean vb, String user, String arquivo) { try { SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy hh'.'mm'.'ss"); Font fontCabecalhoN = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 10.5f); Font fontCorpo = FontFactory.getFont(Fontes.FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 9f); Font fontCorpoTabT = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 6.5f); Font fontCorpoTab = FontFactory.getFont(Fontes.FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 6.5f); Font fontCorpoP = FontFactory.getFont(Fontes.FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 8f); Font fontCorpoN = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 9f); Font fontCorpoNG = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 9.5f); Font fontCorpoNGT = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 10f); Font fontCabecalhoNG = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 16f, Font.UNDERLINE); Font fontUK = FontFactory.getFont(Fontes.FONT, BaseFont.WINANSI, BaseFont.EMBEDDED, 6f, Font.ITALIC); Font fontUKb = FontFactory.getFont(Fontes.FONTB, BaseFont.WINANSI, BaseFont.EMBEDDED, 6f, Font.ITALIC); PdfPTable pTableEmpresaPricipal = new PdfPTable(new float[] { 25f, 75f }); pTableEmpresaPricipal.setWidthPercentage(88f); PdfPTable pTableEmpresaInforImpres1 = new PdfPTable(1); // PdfPTable pTableEmpresaInforImpres2 = new PdfPTable(1); PdfPTable pTableEmpresaInforImpres5 = new PdfPTable(1); PdfPTable pTableNull = new PdfPTable(1); PdfPCell cellNull = new PdfPCell(new Phrase(" ", fontCorpo)); cellNull.setBorder(0); pTableNull.addCell(cellNull); PdfPCell pCellNomeEmpresa = new PdfPCell(new Phrase(Empresa.NOME, fontCabecalhoNG)); pCellNomeEmpresa.setBorder(0); PdfPCell pCellNomeEndereco = new PdfPCell(new Phrase(Empresa.ENDERECO, fontCabecalhoN)); pCellNomeEndereco.setBorder(0); PdfPCell pCellCaixaPostal = new PdfPCell(new Phrase(Empresa.CAIXAPOSTAL, fontCabecalhoN)); pCellCaixaPostal.setBorder(0); PdfPCell pCellTeleFax = new PdfPCell( new Phrase(Empresa.TELEFAX + " " + ConfigDoc.Empresa.EMAIL, fontCabecalhoN)); pCellTeleFax.setBorder(0); PdfPCell pCellSociedade = new PdfPCell(new Phrase(Empresa.SOCIEDADE, fontCabecalhoN)); pCellSociedade.setBorder(0); PdfPCell pCellPolice = new PdfPCell(new Phrase(Empresa.APOLICE + numApolice, fontCabecalhoN)); pCellPolice.setBorder(0); Image imageEmpresa = Image.getInstance("logo.png"); imageEmpresa.scaleToFit(190f, 100f); pTableEmpresaInforImpres1.addCell(pCellNomeEmpresa); pTableEmpresaInforImpres1.addCell(pCellNomeEndereco); pTableEmpresaInforImpres1.addCell(pCellCaixaPostal); pTableEmpresaInforImpres1.addCell(pCellTeleFax); pTableEmpresaInforImpres1.addCell(pCellSociedade); pTableEmpresaInforImpres1.addCell(pCellPolice); PdfPCell cellTabela3 = new PdfPCell(pTableEmpresaInforImpres1); cellTabela3.setBorder(0); pTableEmpresaInforImpres5.addCell(cellTabela3); PdfPCell cellTabela5 = new PdfPCell(pTableEmpresaInforImpres5); cellTabela5.setBorder(0); PdfPCell cellTabela6 = new PdfPCell(imageEmpresa); cellTabela6.setBorder(0); pTableEmpresaPricipal.addCell(cellTabela6); pTableEmpresaPricipal.addCell(cellTabela5); PdfPTable pTableSeguro = new PdfPTable(1); pTableSeguro.setWidthPercentage(88f); PdfPTable pTableCliente = new PdfPTable(1); pTableCliente.setWidthPercentage(88f); PdfPTable pTableTitulo = new PdfPTable(1); pTableTitulo.setWidthPercentage(88f); Paragraph paTitulo = new Paragraph(); Paragraph pTitulo = new Paragraph("resumo de aplice para Automvel".toUpperCase(), fontCorpoNGT); Paragraph pTituloUk = new Paragraph("\nthe motor policy sumay".toUpperCase(), fontUKb); paTitulo.add(pTitulo); paTitulo.add(pTituloUk); PdfPCell cellTitulo = new PdfPCell(paTitulo); cellTitulo.setBorder(0); cellTitulo.setHorizontalAlignment(Element.ALIGN_CENTER); pTableTitulo.addCell(cellTitulo); ClienteI ci = new ClienteI(numCliente); Paragraph para = new Paragraph(); Paragraph phrase = new Paragraph("1 - Informaes Do Cliente".toUpperCase(), fontCorpoNG); Paragraph paraUK = new Paragraph("\n1 - Customer information".toUpperCase(), fontUKb); para.add(phrase); para.add(paraUK); PdfPCell cellTituloTsbleSegurado = new PdfPCell(para); cellTituloTsbleSegurado.setBorder(0); Paragraph pCl = new Paragraph(); pCl.add(new Phrase(ci.getNOMEL_(), fontCorpo)); pCl.add(new Phrase(ci.getNOME_(), fontCorpoN)); pCl.add(new Phrase("\nNAME:", fontUK)); PdfPCell cellNome = new PdfPCell(new Phrase(pCl)); cellNome.setBorder(0); pCl = new Paragraph(); pCl.add(new Phrase(ci.getENDERECOL_(), fontCorpo)); pCl.add(new Phrase(ci.getENDERECO_(), fontCorpoN)); pCl.add(new Phrase("\nADDRESS:", fontUK)); PdfPCell cellEndereco = new PdfPCell(pCl); cellEndereco.setBorder(0); /** pCl = new Paragraph(); pCl.add(new Phrase(" " +ci.getNUNCLIENTEL_(),fontCorpo)); pCl.add(new Phrase(ci.getNUNCLIENTE_(),fontCorpoN)); PdfPCell cellNCliente = new PdfPCell( pCl ); cellNCliente.setBorder(0); * */ pCl = new Paragraph(); pCl.add(new Phrase(ci.getPROFISSAOL_(), fontCorpo)); pCl.add(new Phrase(ci.getPROFISSAO_(), fontCorpoN)); pCl.add(new Phrase("\nPROFISSION/OCCUPATION/ACTIVITY AREA:", fontUK)); PdfPCell cellProfissao = new PdfPCell(pCl); cellProfissao.setBorder(0); pCl = new Paragraph(); pCl.add(new Phrase(ci.getLOCALTRABALHOL_(), fontCorpo)); pCl.add(new Phrase(ci.getLOCALTRABALHO_(), fontCorpoN)); pCl.add(new Phrase("\nPLACE OF WORK", fontUK)); PdfPCell cellLocalTrabalho = new PdfPCell(pCl); cellLocalTrabalho.setBorder(0); cellNome.setPaddingTop(7f); cellNome.setPaddingBottom(7f); cellNome.setBorder(0); cellEndereco.setPaddingTop(7f); cellEndereco.setPaddingBottom(7f); cellEndereco.setBorder(0); // PdfPCell cellNCliente= new PdfPCell( new Phrase(" "+ci.getNUNCLIENTE(),fontCorpo));cellNome.setPaddingTop(5f); // cellNCliente.setPaddingTop(7f); // cellNCliente.setPaddingBottom(7f); // cellNCliente.setBorder(0); cellProfissao.setPaddingTop(7f); cellProfissao.setPaddingBottom(7f); cellProfissao.setBorder(0); cellLocalTrabalho.setPaddingTop(7f); cellLocalTrabalho.setPaddingBottom(7f); cellLocalTrabalho.setBorder(0); pTableCliente.addCell(cellTituloTsbleSegurado); pTableCliente.addCell(cellNome); pTableCliente.addCell(cellEndereco); // pTableCliente.addCell(cellNCliente); pTableCliente.addCell(cellProfissao); pTableCliente.addCell(cellLocalTrabalho); para = new Paragraph(); Paragraph p = new Paragraph("3 - Premio E Cobertura".toUpperCase(), fontCorpoNG); Paragraph p1 = new Paragraph("\n3 - PREMIUM AND COVER".toUpperCase(), fontUKb); para.add(p); para.add(p1); PdfPCell cellTiltuloSegro = new PdfPCell(para); cellTiltuloSegro.setPaddingTop(7f); cellTiltuloSegro.setPaddingBottom(7f); cellTiltuloSegro.setBorder(0); // PdfPCell cellApolice= new PdfPCell( new Phrase(" N Aplice: ".toUpperCase()+numApolice,fontCorpo)); // cellApolice.setPaddingTop(7f); // cellApolice.setPaddingBottom(7f); // cellApolice.setBorder(0); Paragraph pTotalSegurado = new Paragraph(); pTotalSegurado.add(new Phrase("Prmio: ".toUpperCase().toUpperCase(), fontCorpo)); /** * * * ildo - premio liquido -> */ pTotalSegurado.add(new Phrase( ((c.getPremioLiquidoMoeda() == null /*&& vb.getVeiculo().getTipoCobertura().equals("41") */ ) ? " " : c.getPremioLiquidoMoeda() + " " + c.getSigla()), fontCorpoN)); pTotalSegurado.add(new Phrase("\nPREMIUM", fontUK)); PdfPCell cellTotalSegurado = new PdfPCell(pTotalSegurado); cellTotalSegurado.setPaddingTop(7f); cellTotalSegurado.setPaddingBottom(7f); cellTotalSegurado.setBorder(0); Paragraph pExcesso = new Paragraph(); pExcesso.add(new Phrase("Excesso: ".toUpperCase(), fontCorpo)); pExcesso.add(new Phrase((c.getFranquia() == null) ? "No aplicvel".toUpperCase() : c.getFranquia(), fontCorpoN)); pExcesso.add(new Phrase("\nEXCESS: ", fontUK)); PdfPCell cellExcesso = new PdfPCell(pExcesso); cellExcesso.setPaddingTop(7f); cellExcesso.setPaddingBottom(7f); cellExcesso.setBorder(0); // PdfPCell cellValor1Preminio= new PdfPCell( new Phrase(" Valor Primeiro Premio: ".toUpperCase()+((c.getPrimeiroPremio()==null)?" ":c.getPrimeiroPremio()),fontCorpo)); // cellValor1Preminio.setPaddingTop(7f); // cellValor1Preminio.setPaddingBottom(7f); // cellValor1Preminio.setBorder(0); // // PdfPCell cellTotalPremioAnual= new PdfPCell( new Phrase(" Valor Premio Anual: ".toUpperCase()+((c.getPremioAnual()==null)?" ":c.getPremioAnual()),fontCorpo)); // cellTotalPremioAnual.setPaddingTop(7f); // cellTotalPremioAnual.setPaddingBottom(7f); // cellTotalPremioAnual.setBorder(0); // PdfPCell cellPeriodo= new PdfPCell( new Phrase(" Periodo Do Seguro: ".toUpperCase()+((c.getDataInicio()!= null) ? sdf.format(c.getDataInicio()): " " )+" "+((c.getDataFim()!= null) ? sdf.format(c.getDataFim()): " " ),fontCorpo)); // cellPeriodo.setPaddingTop(7f); // cellPeriodo.setPaddingBottom(7f); // cellPeriodo.setBorder(0) Paragraph pDataRenovacao = new Paragraph(); pDataRenovacao.add(new Phrase("Data Renovao de Seguro: ".toUpperCase(), fontCorpo)); pDataRenovacao.add(new Phrase(((c.getDataRenovacao() != null) ? sdf.format(c.getDataRenovacao()) : " "), fontCorpoN)); pDataRenovacao.add(new Phrase("\nRENEWAL DATE OF COVER", fontUK)); PdfPCell cellDataRenovacao = new PdfPCell(pDataRenovacao); cellDataRenovacao.setPaddingTop(7f); cellDataRenovacao.setPaddingBottom(7f); cellDataRenovacao.setBorder(0); Paragraph pTipoCobert = new Paragraph(); pTipoCobert.add(new Phrase("Tipo De Cobertura: ".toUpperCase(), fontCorpo)); pTipoCobert .add(new Phrase( ((vb.getVeiculo().getTipoCobertura() != null) ? (vb.getVeiculo().getTipoCobertura().equals("41") ? "Contra Terceiros".toUpperCase() : (vb.getVeiculo().getTipoCobertura().equals("42") ? "CONTRA Todos os riscos".toUpperCase() : (vb.getVeiculo().getTipoCobertura().equals("43") ? "Compreensivo limitado".toUpperCase() : vb.getVeiculo().getTipoCobertura()))) : " "), fontCorpoN)); pTipoCobert.add(new Phrase("\nTYPE OF CAVER", fontUK)); PdfPCell cellTipoCobert = new PdfPCell(pTipoCobert); cellTipoCobert.setPaddingTop(7f); cellTipoCobert.setPaddingBottom(7f); cellTipoCobert.setBorder(0); Paragraph pLimiteArea = new Paragraph(); pLimiteArea.add(new Phrase("Limite de rea geogrfica: ".toUpperCase(), fontCorpo)); pLimiteArea.add(new Phrase("so Tom e principe".toUpperCase(), fontCorpoN)); pLimiteArea.add(new Phrase("\nLIMIT OF GEOGRAPHICAL AREA".toUpperCase(), fontUK)); PdfPCell cellLimiteArea = new PdfPCell(pLimiteArea); cellLimiteArea.setPaddingTop(7f); cellLimiteArea.setPaddingBottom(7f); cellLimiteArea.setBorder(0); Paragraph pLeis = new Paragraph(); pLeis.add(new Phrase("legislao: ".toUpperCase(), fontCorpo)); pLeis.add(new Phrase("artigos 1 36, lei n 30/2000 da repblica democrtica de stp".toUpperCase(), fontCorpoN)); pLeis.add(new Phrase("\nLEGISLATION: ", fontUK)); pLeis.add(new Phrase("ARTICLES 1 TO 36, LAW NO 30/2000 OF THE DEMOCRATIC REPUBLIC OF STP", fontUKb)); PdfPCell cellLeis = new PdfPCell(pLeis); cellLeis.setPaddingTop(7f); cellLeis.setPaddingBottom(7f); cellLeis.setBorder(0); pTableSeguro.addCell(cellTiltuloSegro); // pTableSeguro.addCell(cellApolice); pTableSeguro.addCell(cellTotalSegurado); // pTableSeguro.addCell(cellValor1Preminio); // pTableSeguro.addCell(cellTotalPremioAnual); pTableSeguro.addCell(cellExcesso); pTableSeguro.addCell(cellDataRenovacao); pTableSeguro.addCell(cellTipoCobert); pTableSeguro.addCell(cellLimiteArea); pTableSeguro.addCell(cellLeis); PdfPTable pTableDadosTitulo = new PdfPTable(1); pTableDadosTitulo.setWidthPercentage(88f); para = new Paragraph(); Phrase PDadosTitulo = new Phrase("2 - Informaes do(s) Veculo(s)".toUpperCase(), fontCorpoN); Phrase PDadosTitulos = new Phrase("\n2 - VEHICLE (S) INFORMATIONS".toUpperCase(), fontUKb); para.add(PDadosTitulo); para.add(PDadosTitulos); PdfPCell cellDadosTitulo = new PdfPCell(para); cellDadosTitulo.setBorder(0); pTableDadosTitulo.addCell(cellDadosTitulo); pTableDadosTitulo.addCell(cellNull); PdfPTable pTableDados = new PdfPTable(new float[] { 13.5f, 13.5f, 14, 17, 16, 12, 14 }); pTableDados.setWidthPercentage(88f); para = new Paragraph(); Phrase PMarca = new Phrase("Marca".toUpperCase(), fontCorpoTabT); Phrase PMarcaUK = new Phrase("\nMARK".toUpperCase(), fontUK); para.add(PMarca); para.add(PMarcaUK); PdfPCell cellMarca = new PdfPCell(para); cellMarca.setPaddingTop(5f); cellMarca.setPaddingBottom(5f); cellMarca.setHorizontalAlignment(Element.ALIGN_CENTER); para = new Paragraph(); Paragraph PModelo = new Paragraph("Modelo".toUpperCase(), fontCorpoTabT); Paragraph PModeloUK = new Paragraph("\nMODEL".toUpperCase(), fontUK); para.add(PModelo); para.add(PModeloUK); PdfPCell cellModelo = new PdfPCell(para); cellModelo.setHorizontalAlignment(Element.ALIGN_CENTER); cellModelo.setPaddingTop(5f); cellModelo.setPaddingBottom(5f); para = new Paragraph(); Phrase PMatricula = new Phrase("NO DE MATR?CULA".toUpperCase(), fontCorpoTabT); Phrase PMatriculaUK = new Phrase("\nREG. NUMBER".toUpperCase(), fontUK); para.add(PMatricula); para.add(PMatriculaUK); PdfPCell cellMatricula = new PdfPCell(para); cellMatricula.setHorizontalAlignment(Element.ALIGN_CENTER); cellMatricula.setPaddingTop(5f); cellMatricula.setPaddingBottom(5f); para = new Paragraph(); Phrase PChasii = new Phrase("No. de chissi/Motor".toUpperCase(), fontCorpoTabT); Phrase PChasiiUK = new Phrase("\nchissiS/ENGINE NO.".toUpperCase(), fontUK); para.add(PChasii); para.add(PChasiiUK); PdfPCell cellChasii = new PdfPCell(para); cellChasii.setHorizontalAlignment(Element.ALIGN_CENTER); cellChasii.setPaddingTop(5f); cellChasii.setPaddingBottom(5f); para = new Paragraph(); Phrase PAnoFabricoCompra = new Phrase("ano de Fabrico/Compra".toUpperCase(), fontCorpoTabT); Phrase PAnoFabricoCompraUK = new Phrase("\nYear of Manufacture/PURCHASE".toUpperCase(), fontUK); para.add(PAnoFabricoCompra); para.add(PAnoFabricoCompraUK); PdfPCell cellAnoFabricoCompra = new PdfPCell(para); cellAnoFabricoCompra.setHorizontalAlignment(Element.ALIGN_CENTER); cellAnoFabricoCompra.setPaddingTop(5f); cellAnoFabricoCompra.setPaddingBottom(5f); para = new Paragraph(); Phrase PTotalLuagares = new Phrase("lotao".toUpperCase(), fontCorpoTabT); Phrase PTotalLuagaresUK = new Phrase("\nSTOCKING", fontUK); para.add(PTotalLuagares); para.add(PTotalLuagaresUK); PdfPCell cellTotalLuagares = new PdfPCell(para); cellTotalLuagares.setHorizontalAlignment(Element.ALIGN_CENTER); cellTotalLuagares.setPaddingTop(5f); cellTotalLuagares.setPaddingBottom(5f); para = new Paragraph(); Phrase PDadosValorSeguro = new Phrase("Estimativa / Valor Segurado".toUpperCase(), fontCorpoTabT); Phrase PDadosValorSeguroUK = new Phrase("\nEstimation / Amount Insured".toUpperCase(), fontUK); para.add(PDadosValorSeguro); para.add(PDadosValorSeguroUK); PdfPCell cellDadosValorSeguro = new PdfPCell(para); cellDadosValorSeguro.setHorizontalAlignment(Element.ALIGN_CENTER); cellDadosValorSeguro.setPaddingTop(5f); cellDadosValorSeguro.setPaddingBottom(5f); pTableDados.addCell(cellMarca); pTableDados.addCell(cellModelo); pTableDados.addCell(cellMatricula); pTableDados.addCell(cellChasii); pTableDados.addCell(cellAnoFabricoCompra); pTableDados.addCell(cellTotalLuagares); pTableDados.addCell(cellDadosValorSeguro); int total = vb.getInfo().size(); for (int i = 0; i < total; i++) { cellMarca = new PdfPCell( new Phrase((vb.getInfo().get(i).getMarca() == null) ? " " : vb.getInfo().get(i).getMarca(), fontCorpoTab)); cellMarca.setHorizontalAlignment(Element.ALIGN_CENTER); cellModelo = new PdfPCell(new Phrase( (vb.getInfo().get(i).getModelo() == null) ? " " : vb.getInfo().get(i).getModelo(), fontCorpoTab)); cellModelo.setHorizontalAlignment(Element.ALIGN_CENTER); cellMatricula = new PdfPCell( new Phrase(((vb.getInfo().get(i).getNumeroMatricula() == null) ? ".........." : vb.getInfo().get(i).getNumeroMatricula()), fontCorpoTab)); cellMatricula.setHorizontalAlignment(Element.ALIGN_CENTER); cellDadosValorSeguro = new PdfPCell(new Phrase( ((vb.getInfo().get(i).getValorAtual() == null || vb.getInfo().get(i).getValorAtual().isEmpty() || vb.getVeiculo().getTipoCobertura().equals("41")) ? " NA " : Moeda.format(Double.valueOf(vb.getInfo().get(i).getValorAtual()))), fontCorpoTab)); cellDadosValorSeguro.setHorizontalAlignment(Element.ALIGN_CENTER); cellAnoFabricoCompra = new PdfPCell(new Phrase(((vb.getInfo().get(i).getAnoFabrico() == null || (vb.getInfo().get(i).getAnoFabrico().isEmpty())) ? "......." : vb.getInfo().get(i).getAnoFabrico()) + "/" + ((vb.getInfo().get(i).getAnoCompra() == null || (vb.getInfo().get(i).getAnoCompra().isEmpty())) ? "......." : vb.getInfo().get(i).getAnoCompra()), fontCorpoTab)); cellAnoFabricoCompra.setHorizontalAlignment(Element.ALIGN_CENTER); cellTotalLuagares = new PdfPCell( new Phrase(vb.getInfo().get(i).getCapacidade() + " LUGARES", fontCorpoTab)); cellTotalLuagares.setHorizontalAlignment(Element.ALIGN_CENTER); cellChasii = new PdfPCell(new Phrase(vb.getInfo().get(i).getChassi() + " ", fontCorpoTab)); cellChasii.setHorizontalAlignment(Element.ALIGN_CENTER); float pad = getPadding(total); cellMarca.setPaddingTop(pad); cellMarca.setPaddingBottom(pad); pTableDados.addCell(cellMarca); cellModelo.setPaddingTop(pad); cellModelo.setPaddingBottom(pad); pTableDados.addCell(cellModelo); cellMatricula.setPaddingTop(pad); cellMatricula.setPaddingBottom(pad); pTableDados.addCell(cellMatricula); cellChasii.setPaddingTop(pad); cellChasii.setPaddingBottom(pad); pTableDados.addCell(cellChasii); cellAnoFabricoCompra.setPaddingTop(pad); cellAnoFabricoCompra.setPaddingBottom(pad); pTableDados.addCell(cellAnoFabricoCompra); cellTotalLuagares.setPaddingTop(pad); cellTotalLuagares.setPaddingBottom(pad); pTableDados.addCell(cellTotalLuagares); cellDadosValorSeguro.setPaddingTop(pad); cellDadosValorSeguro.setPaddingBottom(pad); pTableDados.addCell(cellDadosValorSeguro); } // PdfPTable pTableAssinaturaTitulo= new PdfPTable(1); // pTableAssinaturaTitulo.setWidthPercentage(88f); // PdfPTable pTableAssinatura= new PdfPTable( new float[]{50f,50f}); // pTableAssinatura.setWidthPercentage(88f); // PdfPCell cellAssinatora= new PdfPCell(new Phrase("Assinaturas".toUpperCase(),fontCorpoN)); // cellAssinatora.setBorder(0); // cellAssinatora.setHorizontalAlignment(Element.ALIGN_CENTER); // PdfPCell celllinha1= new PdfPCell(new Phrase("____________________________________________".toUpperCase(),fontCorpo)); // celllinha1.setBorder(0); // celllinha1.setHorizontalAlignment(Element.ALIGN_CENTER); // PdfPCell celllinha2= new PdfPCell(new Phrase("____________________________________________".toUpperCase(),fontCorpo)); // celllinha2.setBorder(0); // celllinha2.setHorizontalAlignment(Element.ALIGN_CENTER); // PdfPCell celllinha11= new PdfPCell(new Phrase("para nicon Seguro sa stp".toUpperCase(),fontCorpoP)); // celllinha11.setBorder(0); // celllinha11.setHorizontalAlignment(Element.ALIGN_CENTER); // PdfPCell celllinha21= new PdfPCell(new Phrase("o segurado ".toUpperCase(),fontCorpoP)); // celllinha21.setBorder(0); // celllinha21.setHorizontalAlignment(Element.ALIGN_CENTER); // pTableAssinaturaTitulo.addCell(cellAssinatora); // pTableAssinatura.addCell(celllinha1); // pTableAssinatura.addCell(celllinha2); // pTableAssinatura.addCell(celllinha11); // pTableAssinatura.addCell(celllinha21); Document documento = new Document(); documento.setPageSize(PageSize.A4); documento.setMargins(20f, 20f, 35f, 5f); // File ff= new File("Documentos\\"+user+"\\Seguro Automovel\\"); // ff.mkdirs(); // ff =new File(ff.getAbsoluteFile()+"\\"+"Formulario Seguro Automovel "+sdf1.format(new Date())+".pdf"); File ff = new File(arquivo + "/" + user + "/Seguro Automovel/"); ff.mkdirs(); String Ddata = sdf1.format(new Date()); ff = new File(ff.getAbsoluteFile() + "/" + "Formulario Seguro Automovel " + Ddata + ".pdf"); reString = "../Documentos/" + user + "/Seguro Automovel/" + "Formulario Seguro Automovel " + Ddata + ".pdf"; OutputStream 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); } PdfPTable pTableLinha = new PdfPTable(1); pTableLinha.setWidthPercentage(88f); PdfPCell cellLinha = new PdfPCell(new Phrase( "----------------------------------------------------------------------------------------------------------------------", fontCorpo)); cellLinha.setBorder(0); pTableLinha.addCell(cellLinha); cellLinha.setPaddingTop(-9f); pTableLinha.addCell(cellLinha); PdfPTable pTableApoliceAndPeriodo = new PdfPTable(new float[] { 40, 60 }); pTableApoliceAndPeriodo.setWidthPercentage(88f); Paragraph pApolice = new Paragraph(); pApolice.add(new Phrase("N Aplice: ".toUpperCase(), fontCorpo)); pApolice.add(new Phrase(numApolice, fontCorpoN)); pApolice.add(new Phrase("\nPOLICY NO:", fontUK)); PdfPCell cellApolice = new PdfPCell(pApolice); // cellApolice.setPaddingTop(-2); // cellApolice.setPaddingBottom(4.5f); cellApolice.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); pTableApoliceAndPeriodo.addCell(cellApolice); Paragraph pPeriodo = new Paragraph(); pPeriodo.add(new Phrase("Periodo Do Seguro: ".toUpperCase(), fontCorpo)); pPeriodo.add(new Phrase(((c.getDataInicio() != null) ? sdf.format(c.getDataInicio()) : " ") + " " + ((c.getDataFim() != null) ? sdf.format(c.getDataFim()) : " "), fontCorpoN)); pPeriodo.add(new Phrase("\nPERIOD OF INSURANCE:", fontUK)); PdfPCell cellPeriodo = new PdfPCell(pPeriodo); // cellPeriodo.setPaddingTop(-2); // cellPeriodo.setPaddingBottom(4.5f); cellPeriodo.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); pTableApoliceAndPeriodo.addCell(cellPeriodo); documento.open(); documento.add(pTableEmpresaPricipal); documento.add(pTableNull); documento.add(pTableTitulo); documento.add(pTableNull); documento.add(pTableApoliceAndPeriodo); documento.add(pTableNull); documento.add(pTableCliente); documento.add(pTableNull); documento.add(pTableLinha); documento.add(pTableNull); documento.add(pTableDadosTitulo); documento.add(pTableDados); documento.add(pTableNull); documento.add(pTableLinha); documento.add(pTableNull); documento.add(pTableSeguro); // documento.add(pTableNull); // documento.add(pTableAssinaturaTitulo); // documento.add(pTableNull); // documento.add(pTableNull); // documento.add(pTableAssinatura); documento.close(); // PrintPdf printPdf = new PrintPdf(ff.getAbsolutePath(), ff.getAbsolutePath(), 0, 595f,842f,"Enviar Para o OneNote 2013",1); // //PrintPdf printPdf = new PrintPdf(ff.getAbsolutePath(), ff.getAbsolutePath(), 0, 595f,842f,"Hewlett-Packard HP LaserJet P2035",1); // // printPdf.print(); } catch (BadElementException | IOException ex) { Logger.getLogger(SeguroAPG.class.getName()).log(Level.SEVERE, null, ex); } catch (DocumentException ex) { Logger.getLogger(SeguroAPG.class.getName()).log(Level.SEVERE, null, ex); } return reString; } public static void main(String[] args) { SeguroViatura aPG = new SeguroViatura(); aPG.criarDoc("ddhd", "223", new Contrato(), new VeiculoBean(), "ah", "text"); } // 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); // } // } // } public float getPadding(int total) { return ((40 / total) < 0) ? 0 : (40 / total); } public static String toMoeda(String valor) { try { return Moeda.format(Double.valueOf(valor)); } catch (Exception e) { return valor; } } }