Class PdfPrematricula

java.lang.Object
com.itextpdf.text.pdf.PdfPageEventHelper
PdfPrematricula
All Implemented Interfaces:
com.itextpdf.text.pdf.PdfPageEvent

public class PdfPrematricula extends com.itextpdf.text.pdf.PdfPageEventHelper
Crea el PDF de la prematrícula (el informe PDF de la Fase IV) a partir de la lista leída del JSON, y después vuelve a abrir ese PDF para sacar su texto y ordenarlo en una tabla, que es lo que se envía por correo. Hereda de PdfPageEventHelper (iText) y sobrescribe los métodos que iText llama al abrir el documento, al terminar cada página y al cerrarlo, para dibujar el encabezado y el pie de página.
Version:
4.0
Author:
Alejandro D. Castillo M., Saúl Castillo, Adonis Bonilla
  • Constructor Summary

    Constructors
    Constructor
    Description
    Prepara las fuentes del documento.
  • Method Summary

    Modifier and Type
    Method
    Description
    extraerTexto(String archivoPdf)
    Abre un PDF ya creado, saca su texto y lo ordena para el correo: los datos del estudiante alineados y las materias en una tabla con bordes.
    generar(Prematricula prematricula)
    Crea Prematricula_cedula.pdf con los datos del estudiante y la tabla de materias.
    void
    onCloseDocument(com.itextpdf.text.pdf.PdfWriter escritor, com.itextpdf.text.Document documento)
    iText lo llama al cerrar el documento: ya se conoce el total de páginas y se escribe en cada pie.
    void
    onEndPage(com.itextpdf.text.pdf.PdfWriter escritor, com.itextpdf.text.Document documento)
    iText lo llama al terminar cada página: dibuja el encabezado y el pie.
    void
    onOpenDocument(com.itextpdf.text.pdf.PdfWriter escritor, com.itextpdf.text.Document documento)
    iText lo llama al abrir el documento: reserva el espacio donde al final se escribe el total de páginas.

    Methods inherited from class com.itextpdf.text.pdf.PdfPageEventHelper

    onChapter, onChapterEnd, onGenericTag, onParagraph, onParagraphEnd, onSection, onSectionEnd, onStartPage

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PdfPrematricula

      public PdfPrematricula()
      Prepara las fuentes del documento.
  • Method Details

    • generar

      public String generar(Prematricula prematricula) throws IOException, com.itextpdf.text.DocumentException
      Crea Prematricula_cedula.pdf con los datos del estudiante y la tabla de materias.
      Parameters:
      prematricula - la prematrícula leída del JSON
      Returns:
      el nombre del archivo creado
      Throws:
      IOException - si el archivo no se puede escribir (por ejemplo, si está abierto en otro programa)
      com.itextpdf.text.DocumentException - si iText no puede armar el documento
    • extraerTexto

      public String extraerTexto(String archivoPdf) throws IOException
      Abre un PDF ya creado, saca su texto y lo ordena para el correo: los datos del estudiante alineados y las materias en una tabla con bordes. En Make el texto va dentro de una etiqueta pre, que usa letra de ancho fijo, por eso las columnas se ven alineadas. Si el texto no tiene la forma esperada, se devuelve tal como salió del PDF.
      Parameters:
      archivoPdf - el PDF de la prematrícula
      Returns:
      el texto del PDF ordenado en una tabla, listo para guardarlo en el .txt y enviarlo
      Throws:
      IOException - si el PDF no existe o no se puede leer
    • onOpenDocument

      public void onOpenDocument(com.itextpdf.text.pdf.PdfWriter escritor, com.itextpdf.text.Document documento)
      iText lo llama al abrir el documento: reserva el espacio donde al final se escribe el total de páginas.
      Specified by:
      onOpenDocument in interface com.itextpdf.text.pdf.PdfPageEvent
      Overrides:
      onOpenDocument in class com.itextpdf.text.pdf.PdfPageEventHelper
    • onEndPage

      public void onEndPage(com.itextpdf.text.pdf.PdfWriter escritor, com.itextpdf.text.Document documento)
      iText lo llama al terminar cada página: dibuja el encabezado y el pie.
      Specified by:
      onEndPage in interface com.itextpdf.text.pdf.PdfPageEvent
      Overrides:
      onEndPage in class com.itextpdf.text.pdf.PdfPageEventHelper
    • onCloseDocument

      public void onCloseDocument(com.itextpdf.text.pdf.PdfWriter escritor, com.itextpdf.text.Document documento)
      iText lo llama al cerrar el documento: ya se conoce el total de páginas y se escribe en cada pie.
      Specified by:
      onCloseDocument in interface com.itextpdf.text.pdf.PdfPageEvent
      Overrides:
      onCloseDocument in class com.itextpdf.text.pdf.PdfPageEventHelper