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 -
Method Summary
Modifier and TypeMethodDescriptionextraerTexto(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.voidonCloseDocument(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.voidonEndPage(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.voidonOpenDocument(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
-
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
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:
onOpenDocumentin interfacecom.itextpdf.text.pdf.PdfPageEvent- Overrides:
onOpenDocumentin classcom.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:
onEndPagein interfacecom.itextpdf.text.pdf.PdfPageEvent- Overrides:
onEndPagein classcom.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:
onCloseDocumentin interfacecom.itextpdf.text.pdf.PdfPageEvent- Overrides:
onCloseDocumentin classcom.itextpdf.text.pdf.PdfPageEventHelper
-