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 com.mx.ipn.clases; import com.itextpdf.text.BadElementException; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Chunk; import java.io.FileOutputStream; 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.List; import com.itextpdf.text.ListItem; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Phrase; import com.itextpdf.text.ZapfDingbatsList; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfWriter; import java.awt.Desktop; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; /** * * @author bdfernandez */ public class PDF { // Creacion del documento con los margenes public void crearpdf(String nombre, String appat, String apmat) throws FileNotFoundException, DocumentException { // Creacion del documento con los margenes // Creacion del documento con los margenes Document document = new Document(PageSize.A4, 35, 30, 50, 50); try { // El archivo pdf que vamos a generar FileOutputStream fileOutputStream = new FileOutputStream("AvisoPrivacidad.pdf"); // Obtener la instancia del PdfWriter PdfWriter.getInstance(document, fileOutputStream); // Abrir el documento document.open(); // Crear las fuentes para el contenido y los titulos Font fontContenido = FontFactory.getFont(FontFactory.TIMES_ROMAN.toString(), 9, Font.NORMAL, BaseColor.DARK_GRAY); Font fontTitulos = FontFactory.getFont(FontFactory.TIMES_BOLD, 11, Font.UNDERLINE, BaseColor.DARK_GRAY); Font nomb = FontFactory.getFont(FontFactory.TIMES_BOLD, 9, Font.NORMAL, BaseColor.DARK_GRAY); // Creacion del parrafo Paragraph paragraph = new Paragraph(); // Agregar un titulo con su respectiva fuente paragraph.add(new Phrase("Aviso de Privacidad", fontTitulos)); paragraph.setAlignment(Element.ALIGN_CENTER); // Agregar saltos de linea paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); // Agregar contenido con su respectiva fuente paragraph.add(new Phrase( "Con fundamento en los artculos 15, 16 y de acuerdo a lo Previsto en la Ley Federal de Proteccin de Datos" + "Personales, hacemos de su conocimiento que ZERCHERS, S.A. de C.V., es una empresa legalmente" + "constituido de conformidad con las leyes mexicanas, con domicilio en Av. Juan de Dios Btiz s/n, Gustavo" + "A. Madero, Nueva Industrial Vallejo, 07700 Ciudad de Mxico; y como responsable del tratamiento de sus" + "datos personales, del uso que se le d a los mismos y de su proteccin. Hace de su conocimiento que la" + "informacin de nuestros clientes es tratada de forma estrictamente confidencial por lo que, al proporcionar" + "sus datos personales. Estos sern utilizados nica y exclusivamente para los siguientes fines: " + "Proveer los servicios y productos que ha solicitado; notificarle sobre nuevos servicios o productos que" + "tengan relacin con los ya contratados o adquiridos; comunicarle sobre cambios en los mismos; evaluar la" + "calidad de los servicios que brindamos; mantener actualizada nuestra base de datos con sus datos" + "recientes y en general, para dar cumplimiento a las obligaciones que hemos contrado con usted.", fontContenido)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase( " Para las finalidades antes mencionadas, requerimos obtener los siguientes datos personales:", fontContenido)); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); // Agregar el parrafo al documento document.add(paragraph); document.add(Tabla_Simple()); paragraph = new Paragraph(); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase( "Para prevenir el acceso no autorizado a sus datos personales y con el fin de asegurar que la informacin sea " + "utilizada para los fines establecidos en este aviso de privacidad, hemos establecido diversos procedimientos" + " con la finalidad de evitar el uso o divulgacin no autorizados de sus datos, permitindonos tratarlos debidamente." + " As mismo, le informamos que sus datos personales pueden ser Transmitidos para ser tratados por personas " + "distintas a esta empresa. Todos sus datos personales son tratados de acuerdo a la legislacin aplicable y " + "vigente en el pas, por ello le informamos que usted tiene en todo momento los derechos (ARCO) de acceder, " + "rectificar, cancelar u oponerse al tratamiento que le damos a sus datos personales; derecho que podr " + "hacer valer a travs del ?rea de Privacidad encargada de la seguridad de datos personales en el " + "Telfono 5729 6000.", fontContenido)); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase( " A travs de estos canales usted podr actualizar sus datos y especificar el medio por el cual desea recibir " + "informacin, ya que en caso de no contar con esta especificacin de su parte, ZERCHERS, S.A. de C.V., " + "establecer libremente el canal que considere pertinente para enviarle informacin. Este aviso de" + " privacidad podr ser modificado por ZERCHERS, S.A. de C.V., dichas modificaciones sern oportunamente " + "informadas a travs de correo electrnico, telfono, pgina web o cualquier otro medio de comunicacin" + " que ZERCHERS, S.A. de C.V., determine para tal efecto.", fontContenido)); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" ATENTAMENTE", nomb)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" Direccin General TT/SisPLD", nomb)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" Consiento que mis datos personales sensibles sean tratados conforme a" + "los trminos y condiciones del presente aviso de privacidad.", fontContenido)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase("Nombre: " + nombre + " " + appat + " " + apmat, nomb)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase("____________________________________", fontContenido)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(Chunk.NEWLINE)); paragraph.add(new Phrase(" ltima Fecha de Emisin: Mayo 13, 2016", fontContenido)); document.add(paragraph); // Cerrar el documento document.close(); // Abrir el archivo File file = new File("AvisoPrivacidad.pdf"); Desktop.getDesktop().open(file); } catch (Exception ex) { ex.printStackTrace(); } } public PdfPTable Tabla_Simple() throws BadElementException, IOException { Paragraph paragraph1 = new Paragraph(); Font nomb = FontFactory.getFont(FontFactory.TIMES_BOLD, 9, Font.NORMAL, BaseColor.DARK_GRAY); Image image; // Obtenemos el logo de datojava image = Image.getInstance(getClass().getResource("/com/ipn/mx/imagenes/logo.png")); image.scaleAbsolute(70f, 60f); //creamos la tabla con 3 columnas PdfPTable mitablasimple = new PdfPTable(2); PdfPCell cellimage = new PdfPCell(image); // Propiedades de la celda cellimage.setBorderColor(BaseColor.WHITE); cellimage.setHorizontalAlignment(Element.ALIGN_CENTER); paragraph1.add(new Phrase("1. Nombre completo Y/O Razn Social.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("2. Direccin.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("3. Registro Federal de Contribuyentes Y/O CURP.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("4. Telfonos de Oficina y mviles.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("5. Actividad econmica e ingreso promedio.", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); paragraph1.add(new Phrase("6. Correo Electrnico. ", nomb)); paragraph1.add(new Phrase(Chunk.NEWLINE)); PdfPCell cell = new PdfPCell(paragraph1); // Propiedades de la celda cell.setBorderColor(BaseColor.WHITE); cell.setHorizontalAlignment(Element.ALIGN_JUSTIFIED); mitablasimple.addCell(cell); mitablasimple.addCell(cellimage); //retornamos la tabla return mitablasimple; } }