List of usage examples for com.itextpdf.text.pdf PdfWriter getDirectContentUnder
public PdfContentByte getDirectContentUnder()
From source file:org.gbif.ipt.task.Eml2Pdf.java
public void writeEmlIntoPdf(Document doc, Resource resource, PdfWriter pdfWriter, String lng, String cert, String url) {/* w w w .j a v a 2s.c om*/ Locale loc = new Locale(lng); String[] dataCert = cert.split("-"); resourceBundle = ResourceBundle.getBundle("ApplicationResources", loc); // this.action = action; authoritiesHome = new LinkedHashMap<String, String>(); authoritiesHome.putAll(cfg.loadAuthorities()); //roles list, derived from XML vocabulary, and displayed in drop-down where new contacts are created roles = new LinkedHashMap<String, String>(); roles.put("", getText("eml.agent.role.selection")); roles.putAll(vocabManager.getI18nVocab(Constants.VOCAB_URI_ROLES, "es", false)); Eml eml = resource.getEml(); setInfo(eml); setDate(dataCert[0]); String keys = ""; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); for (KeywordSet kw : eml.getKeywords()) { if (keys.length() == 0) { keys = kw.getKeywordsString(", "); } else { keys += ", " + kw.getKeywordsString(", "); } } doc.addKeywords(keys); addMetaData(doc); doc.open(); String htmlText = "<html>"; htmlText += "<style type='text/css'>"; htmlText += " .mainTable{width:100%;} " + ".nota{color:#e75170;font-family:sans-serif;font-size: 14px;padding: 40px;font-weight:bold;margin-top:90px;margin-botom:400px}" + ".centerLine{text-align:center;} " + ".subtitle{color:#ebf7fb;} " + ".resumeInfo{width: 418px;padding: 40px;}" + "h4{font-family:sans-serif;font-size: 22px;color: #58585b}" + "span{color:#268ac7}" + "label{font-family:sans-serif;font-size: 18px;color: #58585b;margin-bottom:5px;font-weight:100}" + "a{color:#43afe3}" + "b{font-weight:bold}" + "h2{font-family:sans-serif;font-size: 26px;color: #58585b}" + "h3{font-family:sans-serif;color: #58585b}" + "p{font-family:sans-serif;font-size: 16px;color: #58585b;font-weight:100;text-align:justify;}"; htmlText += "</style>"; htmlText += "<body><table class='mainTable'><tr align='center' class='centerLine'><td>"; htmlText += "<img width='520px' src='" + url + "/styles/certificado_header_crsibA.png' class='imgTitle'/>"; htmlText += "</td></tr>"; htmlText += "<tr align='center' class='centerLine'><td>"; htmlText += "</td></tr>"; htmlText += "<tr><td class='resumeInfo'>"; htmlText += "<p id='resumeInfo'>"; htmlText += "<h4><span>1. </span>" + getText("pdf.info.cert") + "</h4>"; htmlText += "<br />"; htmlText += "<label>" + getText("pdf.cert.number") + "<b>" + dataCert[0] + "</b></label><br/>"; htmlText += "<label>" + getText("pdf.cert.resource.actu") + "<b>" + dateFormat.format(resource.getModified()) + "</b></label><br/>"; htmlText += "<label>" + getText("pdf.cert.resource.url") + "<a href='" + url + "/resource.do?r=" + resource.getShortname() + "'>" + url + "/resource.do?r=" + resource.getShortname() + "</a></label><br/>"; if (resource.getRecordsPublished() != 0) { htmlText += "<label>" + getText("pdf.cert.resource.records") + "<b>" + resource.getRecordsPublished() + "</b></label>"; } else { if (resource.getSources().size() > 0) { if (resource.getSources().get(0).isExcelSource()) { ExcelFileSource excl = new ExcelFileSource(); excl = (ExcelFileSource) resource.getSources().get(0); htmlText += "<label>" + getText("pdf.cert.resource.records") + "<b>" + excl.getRows() + "</b></label>"; } else if (resource.getSources().get(0).isFileSource()) { TextFileSource txtcl = new TextFileSource(); txtcl = (TextFileSource) resource.getSources().get(0); htmlText += "<label>" + getText("pdf.cert.resource.records") + "<b>" + txtcl.getRows() + "</b></label>"; } } } htmlText += "</p>"; htmlText += "</td></tr>"; htmlText += "<tr ><td style='text-align:justify;'>"; //htmlText +="<br />"; htmlText += "<h2><span>2. </span>" + getText("pdf.license") + "</h2> "; htmlText += "<p><b>" + getText("pdf.license.authority") + "</b><br/>" + aut + "<br/>"; htmlText += "<b>" + getText("pdf.license.number") + "</b><br/>" + num + "<br/>"; htmlText += "<b>" + getText("pdf.license.holder") + "</b><br/>" + hol + "<br/>"; htmlText += "<b>" + getText("pdf.license.nit") + "</b><br/>" + nit + "<br/>"; htmlText += "<b>" + getText("pdf.license.date") + "</b><br/>" + dte + "</p>"; htmlText += "<h2><span>3. </span>" + getText("pdf.info.project") + "</h2> "; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.title.proyect") + "</b><br/>"; htmlText += eml.getTitle().replaceAll("<", "<").replaceAll(">", ">"); ; htmlText += "</p>"; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.abstract") + "</b><br/>"; htmlText += eml.getDescription().replaceAll("<", "<").replaceAll(">", ">"); ; htmlText += "</p>"; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.keywords") + "</b><br/>"; htmlText += keys.replaceAll("<", "<").replaceAll(">", ">"); htmlText += "</p>"; int subI = 0; subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.contact.resource") + "</h3> "; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.contact.resource.name") + "</b><br/>"; htmlText += eml.getContact().getFirstName().replaceAll("<", "<").replaceAll(">", ">") + " " + eml.getContact().getLastName().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.contact.resource.position") + "</b><br/>"; htmlText += eml.getContact().getPosition().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.contact.resource.organisation") + "</b><br/>"; htmlText += eml.getContact().getOrganisation().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.contact.resource.address.address") + "</b><br/>"; htmlText += eml.getContact().getAddress().getAddress().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.contact.resource.address.city") + "</b><br/>"; htmlText += eml.getContact().getAddress().getCity().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; if (exists(eml.getContact().getAddress().getPostalCode())) { htmlText += "<b>" + getText("pdf.contact.resource.address.postalcode") + "</b><br/>"; htmlText += eml.getContact().getAddress().getPostalCode().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } htmlText += "<b>" + getText("pdf.contact.resource.phone") + "</b><br/>"; htmlText += eml.getContact().getPhone().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.contact.resource.email") + "</b><br/>"; htmlText += eml.getContact().getEmail().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; if (exists(eml.getContact().getHomepage())) { htmlText += "<b>" + getText("pdf.contact.resource.homepage") + "</b><br/>"; //*** htmlText += eml.getContact().getHomepage().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } htmlText += "</p>"; subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.resourceCreator") + "</h3> "; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.resourceCreator.name") + "</b><br/>"; htmlText += eml.getResourceCreator().getFirstName().replaceAll("<", "<").replaceAll(">", ">") + " " + eml.getResourceCreator().getLastName().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.resourceCreator.position") + "</b><br/>"; htmlText += eml.getResourceCreator().getPosition().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.resourceCreator.organisation") + "</b><br/>"; htmlText += eml.getResourceCreator().getOrganisation().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.resourceCreator.address.address") + "</b><br/>"; htmlText += eml.getResourceCreator().getAddress().getAddress().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.resourceCreator.address.city") + "</b><br/>"; htmlText += eml.getResourceCreator().getAddress().getCity().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; if (exists(eml.getResourceCreator().getAddress().getPostalCode())) { htmlText += "<b>" + getText("pdf.resourceCreator.address.postalcode") + "</b><br/>"; htmlText += eml.getResourceCreator().getAddress().getPostalCode().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } htmlText += "<b>" + getText("pdf.resourceCreator.phone") + "</b><br/>"; htmlText += eml.getResourceCreator().getPhone().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.resourceCreator.email") + "</b><br/>"; htmlText += eml.getResourceCreator().getEmail().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; if (exists(eml.getResourceCreator().getHomepage())) { htmlText += "<b>" + getText("pdf.resourceCreator.homepage") + "</b><br/>"; //*** htmlText += eml.getResourceCreator().getHomepage().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } htmlText += "</p>"; subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.metadataProvider") + "</h3> "; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.metadataProvider.name") + "</b><br/>"; htmlText += eml.getMetadataProvider().getFirstName() + " " + eml.getMetadataProvider().getLastName().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.metadataProvider.position") + "</b><br/>"; htmlText += eml.getMetadataProvider().getPosition().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.metadataProvider.organisation") + "</b><br/>"; htmlText += eml.getMetadataProvider().getOrganisation().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.metadataProvider.address.address") + "</b><br/>"; htmlText += eml.getMetadataProvider().getAddress().getAddress().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.metadataProvider.address.city") + "</b><br/>"; htmlText += eml.getMetadataProvider().getAddress().getCity().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; if (exists(eml.getMetadataProvider().getAddress().getPostalCode())) { htmlText += "<b>" + getText("pdf.metadataProvider.address.postalcode") + "</b><br/>"; htmlText += eml.getMetadataProvider().getAddress().getPostalCode().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } htmlText += "<b>" + getText("pdf.metadataProvider.phone") + "</b><br/>"; htmlText += eml.getMetadataProvider().getPhone().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.metadataProvider.email") + "</b><br/>"; htmlText += eml.getMetadataProvider().getEmail().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; if (exists(eml.getMetadataProvider().getHomepage())) { htmlText += "<b>" + getText("pdf.metadataProvider.homepage") + "</b><br/>"; //*** htmlText += eml.getMetadataProvider().getHomepage().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } htmlText += "</p>"; subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.spatialCoverage") + "</h3> "; htmlText += "<p>"; htmlText += getGeoCov(eml).replaceAll("<", "<").replaceAll(">", ">"); htmlText += "</p>"; //------ subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.taxcoverage") + "</h3> "; htmlText += "<p>"; htmlText += getTaxCov(eml); htmlText += "</p>"; subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.tempcoverage") + "</h3> "; htmlText += "<p>"; htmlText += getTempCov(eml, loc); htmlText += "</p>"; subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.methods") + "</h3> "; htmlText += "<p>"; htmlText += eml.getSampleDescription().replaceAll("<", "<").replaceAll(">", ">"); htmlText += "</p>"; //------- if (exists(eml.getCollectionName())) { subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.collections") + "</h3> "; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.collections.name") + "</b><br/>"; htmlText += eml.getCollectionName().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.collections.identifier") + "</b><br/>"; htmlText += eml.getCollectionId().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; htmlText += "<b>" + getText("pdf.collections.parent") + "</b><br/>"; htmlText += eml.getParentCollectionId().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; Map<String, String> metp = vocabManager.getI18nVocab(Constants.VOCAB_URI_PRESERVATION_METHOD, "es", false); if (exists(eml.getSpecimenPreservationMethod())) { htmlText += "<b>" + getText("pdf.collections.specimen") + "</b><br/>"; //*** htmlText += metp .get(eml.getSpecimenPreservationMethod().replaceAll("<", "<").replaceAll(">", ">")) + "<br/>"; } htmlText += "</p>"; } if (exists(eml.getProject().getTitle())) { subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.project") + "</h3> "; htmlText += "<p>"; htmlText += "<b>" + getText("pdf.project.title") + "</b><br/>"; htmlText += eml.getProject().getTitle().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; if (exists(eml.getProject().getPersonnel())) { htmlText += "<b>" + getText("pdf.project.personnel.firstName") + "</b><br/>"; htmlText += eml.getProject().getPersonnel().getFirstName() + " " + eml.getProject().getPersonnel().getLastName() + "<br/>"; } if (exists(eml.getProject().getPersonnel().getRole())) { htmlText += "<b>" + getText("pdf.project.personnel.role") + "</b><br/>"; htmlText += roles.get( eml.getProject().getPersonnel().getRole().replaceAll("<", "<").replaceAll(">", ">")) + "<br/>"; } if (exists(eml.getProject().getFunding())) { htmlText += "<b>" + getText("pdf.project.funding") + "</b><br/>"; htmlText += eml.getProject().getFunding().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } if (exists(eml.getProject().getStudyAreaDescription())) { htmlText += "<b>" + getText("pdf.project.studyAreaDescription.descriptorValue") + "</b><br/>"; htmlText += eml.getProject().getStudyAreaDescription().getDescriptorValue().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } if (exists(eml.getProject().getDesignDescription())) { htmlText += "<b>" + getText("pdf.project.designDescription") + "</b><br/>"; htmlText += eml.getProject().getDesignDescription().replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } htmlText += "</p>"; } if (eml.getAssociatedParties().size() != 0) { if (exists(eml.getAssociatedParties().get(0))) { subI++; htmlText += "<h3><span>3." + subI + " </span>" + getText("pdf.associatedParties") + "</h3> "; htmlText += "<p>"; for (int i = 0; i < eml.getAssociatedParties().size(); i++) { if (exists(eml.getAssociatedParties().get(i).getLastName())) { htmlText += "<b>" + getText("pdf.associatedParties.name") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getFirstName() + " " + eml.getAssociatedParties().get(i).getLastName().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getPosition())) { htmlText += "<b>" + getText("pdf.associatedParties.position") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getPosition().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getOrganisation())) { htmlText += "<b>" + getText("pdf.associatedParties.organisation") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getOrganisation().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getAddress().getAddress())) { htmlText += "<b>" + getText("pdf.associatedParties.address.address") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getAddress().getAddress() .replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getAddress().getCity())) { htmlText += "<b>" + getText("pdf.associatedParties.city") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getAddress().getCity() .replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getAddress().getPostalCode())) { htmlText += "<b>" + getText("pdf.associatedParties.address.postalcode") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getAddress().getPostalCode() .replaceAll("<", "<").replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getPhone())) { htmlText += "<b>" + getText("pdf.associatedParties.phone") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getPhone().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getEmail())) { htmlText += "<b>" + getText("pdf.associatedParties.email") + "</b><br/>"; htmlText += eml.getAssociatedParties().get(i).getEmail().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } if (exists(eml.getAssociatedParties().get(i).getHomepage())) { htmlText += "<b>" + getText("pdf.associatedParties.homepage") + "</b><br/>"; //*** htmlText += eml.getAssociatedParties().get(i).getHomepage().replaceAll("<", "<") .replaceAll(">", ">") + "<br/>"; } htmlText += "<br/>"; } htmlText += "</p>"; } } htmlText += "</td>"; htmlText += "</tr>"; htmlText += "<tr class='centerLine'>"; htmlText += "<td>"; htmlText += "</td>"; htmlText += "</tr>"; htmlText += "</table>"; htmlText += "<p class='nota'>" + getText("pdf.cert.dis") + "<a href='" + url + "/pdf.do?r=" + resource.getShortname() + "&n" + "=" + dataCert[0] + "'>" + url + "/pdf.do?r=" + resource.getShortname() + "&n=" + dataCert[0] + "</a></p><p></p></body></html>"; try { Image background = Image.getInstance(url + "/styles/certificado_bg1.png"); float width = 498; float height = 174; pdfWriter.getDirectContentUnder().addImage(background, width, 0, 0, height, 50, 490); parseHTML(doc, htmlText, pdfWriter); Image background_1 = Image.getInstance(url + "/styles/certificado_footer.png"); width = 498; height = 103; pdfWriter.getDirectContentUnder().addImage(background_1, width, 0, 0, height, 50, 20); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (BadElementException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } doc.close(); }
From source file:org.primaresearch.pdf.PageToPdfConverter.java
License:Apache License
/** * Adds the text of the given page to the current PDF page * @param writer/* w w w . ja v a 2s . c o m*/ * @param page */ private void addText(PdfWriter writer, Page page) { if (textLevel == null) return; int pageHeight = page.getLayout().getHeight(); try { PdfContentByte cb = writer.getDirectContentUnder(); cb.saveState(); for (ContentIterator it = page.getLayout().iterator(textLevel); it.hasNext();) { ContentObject obj = it.next(); if (obj == null || !(obj instanceof TextObject)) continue; TextObject textObj = (TextObject) obj; if (textObj.getText() != null && !textObj.getText().isEmpty()) { List<String> strings = new ArrayList<String>(); List<Rect> boxes = new ArrayList<Rect>(); float fontSize = 1.0f; //Collect if (textObj instanceof LowLevelTextObject) { strings.add(textObj.getText()); Rect boundingBox = obj.getCoords().getBoundingBox(); boxes.add(boundingBox); fontSize = calculateFontSize(textObj.getText(), boundingBox.getWidth(), boundingBox.getHeight()); } else { fontSize = splitTextRegion((TextRegion) obj, strings, boxes); } //Render for (int i = 0; i < strings.size(); i++) { String text = strings.get(i); Rect boundingBox = boxes.get(i); //Calculate vertical transition (text is rendered at baseline -> descending bits are below the chosen position) int descent = (int) font.getDescentPoint(text, fontSize); int ascent = (int) font.getAscentPoint(text, fontSize); int textHeight = Math.abs(descent) + ascent; int transY = descent; if (textHeight < boundingBox.getHeight()) { transY = descent - (boundingBox.getHeight() - textHeight) / 2; } cb.beginText(); //cb.moveText(boundingBox.left, pageHeight - boundingBox.bottom); cb.setTextMatrix(boundingBox.left, pageHeight - boundingBox.bottom - transY); cb.setFontAndSize(font, fontSize); cb.showText(text); cb.endText(); //Debug //cb.moveTo(boundingBox.left, pageHeight - boundingBox.bottom - transY); //cb.lineTo(boundingBox.right, pageHeight - boundingBox.bottom - transY); //cb.moveTo(boundingBox.left, pageHeight - boundingBox.bottom); //cb.lineTo(boundingBox.right, pageHeight - boundingBox.bottom); } } } cb.restoreState(); } catch (Exception e) { e.printStackTrace(); } }
From source file:org.primaresearch.pdf.PageToPdfConverter.java
License:Apache License
/** * Adds the document page image to the current PDF page (spanning the whole page). */// w w w. j a v a 2 s .co m private void addImage(String filepath, PdfWriter writer, Document doc, Page page) throws MalformedURLException, IOException, DocumentException { PdfContentByte cb = writer.getDirectContentUnder(); cb.saveState(); Image img = Image.getInstance(filepath); img.setAbsolutePosition(0f, 0f); //if (img.getScaledWidth() > 300 || img.getScaledHeight() > 300) { //img.scaleToFit(300, 300); //} img.scaleToFit(page.getLayout().getWidth(), page.getLayout().getHeight()); cb.addImage(img); cb.restoreState(); }
From source file:PDF.CrearPDF_Ficha.java
public void generarPDF(ServletOutputStream sops, DatosPDF datos, String url) { try {/* w w w . j a v a2s . c o m*/ Document documento = new Document(); // ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(documento, sops); documento.open(); Image itt_logo; try { itt_logo = Image.getInstance(url); Image Logo_itt = Image.getInstance(itt_logo); Logo_itt.setAbsolutePosition(50f, 698f); Logo_itt.scaleAbsolute(90, 100); documento.add(Logo_itt); } catch (BadElementException | IOException ex) { Logger.getLogger(CrearPDF_Ficha.class.getName()).log(Level.SEVERE, null, ex); } PdfContentByte rectangulo_info = writer.getDirectContentUnder(); drawRectangle(rectangulo_info, 430, 648, 90, 100); Paragraph leyendaFoto = new Paragraph("\nFOTO:\n", FontFactory.getFont("arial", 14, Font.BOLD)); leyendaFoto.setIndentationLeft(200f); Paragraph titulo = new Paragraph("INSTITUTO TECNOLGICO DE TOLUCA", FontFactory.getFont("arial", 14)); titulo.setAlignment(Element.ALIGN_CENTER); Paragraph asunto = new Paragraph("FICHA DE EXAMEN", FontFactory.getFont("arial", 12)); asunto.setAlignment(Element.ALIGN_CENTER); Chunk folio1 = new Chunk("FICHA PARA EL EXAMEN DE ADMISIN: ", FontFactory.getFont("arial", 10)); Chunk folio2 = new Chunk(datos.getFicha(), FontFactory.getFont("arial", 10, Font.BOLD)); Phrase fol = new Phrase(); fol.add(folio1); fol.add(folio2); Paragraph noFicha = new Paragraph(fol); noFicha.setAlignment(Element.ALIGN_LEFT); Chunk nombre1 = new Chunk("NOMBRE DEL SOLICITANTE: ", FontFactory.getFont("arial", 10)); Chunk nombre2 = new Chunk(datos.getNombre(), FontFactory.getFont("arial", 10, Font.BOLD)); Phrase nom = new Phrase(); nom.add(nombre1); nom.add(nombre2); Paragraph nombre = new Paragraph(nom); nombre.setAlignment(Element.ALIGN_LEFT); Chunk in1 = new Chunk("PROCESO PARA EL REGISTRO DE ASPIRANTES EN EL PERIODO: ", FontFactory.getFont("arial", 10)); Chunk in2 = new Chunk(datos.getPeriodoConcursa().toUpperCase(), FontFactory.getFont("arial", 10, Font.BOLD)); Phrase in = new Phrase(); in.add(in1); in.add(in2); Paragraph instrucciones = new Paragraph(in); instrucciones.setAlignment(Element.ALIGN_LEFT); Chunk folCen1 = new Chunk("1.- NMERO DE FOLIO CENEVAL: ", FontFactory.getFont("arial", 10)); Chunk folCen2 = new Chunk(datos.getFolioCENEVAL(), FontFactory.getFont("arial", 10, Font.BOLD)); Phrase folC = new Phrase(); folC.add(folCen1); folC.add(folCen2); Paragraph folioCENEVAL = new Paragraph(folC); folioCENEVAL.setAlignment(Element.ALIGN_LEFT); Chunk fechas1 = new Chunk("2.- LOS EX?MENES DE ADMISIN SE APLICAR?N LOS D?AS: ", FontFactory.getFont("arial", 10)); Chunk fechas2 = new Chunk(datos.getFechaExamenCeneval() + " (" + datos.getLugarExamenCeneval() + ")", FontFactory.getFont("arial", 10, Font.BOLD)); Chunk fechas3 = new Chunk(" Y ", FontFactory.getFont("arial", 10)); Chunk fechas4 = new Chunk(datos.getFechaExamenMate() + " (" + datos.getLugarExamenMate() + ")", FontFactory.getFont("arial", 10, Font.BOLD)); Phrase fechas = new Phrase(); fechas.add(fechas1); fechas.add(fechas2); fechas.add(fechas3); fechas.add(fechas4); Paragraph fechaExamenes = new Paragraph(fechas); fechaExamenes.setAlignment(Element.ALIGN_LEFT); Phrase lugar = new Phrase(); Paragraph lugarYhora = new Paragraph(lugar); lugarYhora.setAlignment(Element.ALIGN_LEFT); Chunk paginaPub1 = new Chunk( "3.- LA PUBLICACIN DE LOS RESULTADOS SER? NICAMENTE EN LA P?GINA WEB: ", FontFactory.getFont("arial", 10)); Anchor url_itt = new Anchor(datos.getPagResultados()); url_itt.setReference(datos.getPagResultados()); Phrase pag = new Phrase(); pag.add(paginaPub1); pag.add(url_itt); Paragraph pagWeb = new Paragraph(pag); Chunk diaPub1 = new Chunk("EL D?A: ", FontFactory.getFont("arial", 10)); Chunk diaPub2 = new Chunk(convertir(datos.getDiaPublicacion() + "-"), FontFactory.getFont("arial", 10, Font.BOLD)); Phrase dia = new Phrase(); dia.add(diaPub1); dia.add(diaPub2); Paragraph diaResultados = new Paragraph(dia); diaResultados.setAlignment(Element.ALIGN_LEFT); Chunk notas = new Chunk("\nNOTAS:\n", FontFactory.getFont("arial", 14, Font.BOLD)); Chunk uno = new Chunk("1.- ", FontFactory.getFont("arial", 10, Font.BOLD)); Chunk guias = new Chunk("Guas de estudio:\n - (CENEVAL) \n", FontFactory.getFont("arial", 10)); Anchor url_guia_cen = new Anchor(" " + datos.getEstudioCeneval()); // url_guia_cen.setReference(datos.getEstudioCeneval()); Chunk ceneval_inter = new Chunk("\n - (CENEVAL INTERACTIVA) \n", FontFactory.getFont("arial", 10)); Anchor url_guia_cen_inter = new Anchor(" " + datos.getEstudioCenevalInt()); url_guia_cen_inter.setReference(datos.getEstudioCenevalInt()); Chunk tem_mate_itt = new Chunk("\n - Temario de Matemticas (TECNOLGICO DE TOLUCA)\n\n", FontFactory.getFont("arial", 10)); Chunk dos = new Chunk("2.- ", FontFactory.getFont("arial", 10, Font.BOLD)); Chunk veri = new Chunk("Verifique que el nmero de folio de Ceneval de esta ficha, coincida con el", FontFactory.getFont("arial", 10)); Chunk fol_ceneval = new Chunk(" FOLIO CENEVAL ", FontFactory.getFont("arial", 10, Font.BOLD)); Chunk capturado = new Chunk("capturado en la informacin proporcionada por el Tecnlogico.\n\n", FontFactory.getFont("arial", 10)); Chunk tres = new Chunk("3.- ", FontFactory.getFont("arial", 10, Font.BOLD)); Chunk dia_exam = new Chunk( "El da del examen deber presentarse con el presente documento, pase de ingreso al examen(Ceneval), una identificacin con fotografa reciente(credencial escolar, IMSS, ISSSTE, ISSEMYM, licencia, pasaporte), lpiz del nmero 2 y goma.\n\n", FontFactory.getFont("arial", 10)); Chunk cuatro = new Chunk("4.- ", FontFactory.getFont("arial", 10, Font.BOLD)); Chunk curso = new Chunk( "Si curs sus estudios de secundaria o bachillerato en el extranjero deber presentar revalidacin de estudios correspondientes al momento de la inscripcin.\n", FontFactory.getFont("arial", 10)); Chunk cinco = new Chunk("\n5.- ", FontFactory.getFont("arial", 10, Font.BOLD)); Chunk examenes = new Chunk( "Los exmenes que se evaluarn son: 1) ADMISIN Y DIAGNSTICO. 2) MATEM?TICAS.", FontFactory.getFont("arial", 10)); Phrase ulti = new Phrase(); ulti.add(notas); ulti.add(uno); ulti.add(guias); ulti.add(url_guia_cen); ulti.add(ceneval_inter); ulti.add(url_guia_cen_inter); ulti.add(tem_mate_itt); ulti.add(dos); ulti.add(veri); ulti.add(fol_ceneval); ulti.add(capturado); ulti.add(tres); ulti.add(dia_exam); ulti.add(cuatro); ulti.add(curso); ulti.add(cinco); ulti.add(examenes); Paragraph ultimo = new Paragraph(ulti); ultimo.setAlignment(Element.ALIGN_LEFT); documento.addTitle("Ficha de Examen"); documento.addSubject("Instituto Tecnolgico de Toluca"); documento.addKeywords("Instituto Tecnolgico de Toluca"); documento.addAuthor("Departamento de Servicios escolares"); documento.addCreator("Departamento de Servicios escolares"); documento.add(titulo); documento.add(asunto); documento.add(new Paragraph(" ")); documento.add(new Paragraph(" ")); documento.add(new Paragraph(" ")); documento.add(new Paragraph(" ")); documento.add(new Paragraph(" ")); documento.add(noFicha); documento.add(nombre); documento.add(new Paragraph(" ")); documento.add(instrucciones); documento.add(new Paragraph(" ")); documento.add(folioCENEVAL); documento.add(fechaExamenes); documento.add(lugarYhora); documento.add(pagWeb); documento.add(diaResultados); documento.add(new Paragraph(" ")); documento.add(ultimo); documento.close(); } catch (DocumentException ex) { Logger.getLogger(CrearPDF_Ficha.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:pl.marcinmilkowski.hocrtopdf.Main.java
License:Open Source License
/** * @param args//from ww w .ja v a 2 s . c om */ public static void main(String[] args) { try { if (args.length < 1 || args[0] == "--help" || args[0] == "-h") { System.out.print("Usage: java pl.marcinmilkowski.hocrtopdf.Main INPUTURL.html OUTPUTURL.pdf\n" + "\n" + "Converts hOCR files into PDF\n" + "\n" + "Example: java pl.marcinmilkowski.hocrtopdf.Main hocr.html output.pdf\n"); if (args.length < 1) System.exit(-1); else System.exit(0); } URL inputHOCRFile = null; FileOutputStream outputPDFStream = null; try { File file = new File(args[0]); inputHOCRFile = file.toURI().toURL(); } catch (MalformedURLException e) { System.out.println("The first parameter has to be a valid file."); System.out.println("We got an error: " + e.getMessage()); System.exit(-1); } try { outputPDFStream = new FileOutputStream(args[1]); } catch (FileNotFoundException e) { System.out.println("The second parameter has to be a valid URL"); System.exit(-1); } // The resolution of a PDF file (using iText) is 72pt per inch float pointsPerInch = 72.0f; // Using the jericho library to parse the HTML file Source source = new Source(inputHOCRFile); int pageCounter = 1; Document pdfDocument = null; PdfWriter pdfWriter = null; PdfContentByte cb = null; RandomAccessFileOrArray ra = null; // Find the tag of class ocr_page in order to load the scanned image StartTag pageTag = source.getNextStartTag(0, "class", OCRPAGE); while (pageTag != null) { int prevPos = pageTag.getEnd(); Pattern imagePattern = Pattern.compile("image\\s+([^;]+)"); Matcher imageMatcher = imagePattern.matcher(pageTag.getElement().getAttributeValue("title")); if (!imageMatcher.find()) { System.out.println("Could not find a tag of class \"ocr_page\", aborting."); System.exit(-1); } // Load the image Image pageImage = null; try { File file = new File(imageMatcher.group(1)); pageImage = Image.getInstance(file.toURI().toURL()); } catch (MalformedURLException e) { System.out.println("Could not load the scanned image from: " + "file://" + imageMatcher.group(1) + ", aborting."); System.exit(-1); } if (pageImage.getOriginalType() == Image.ORIGINAL_TIFF) { // this might // be // multipage // tiff! File file = new File(imageMatcher.group(1)); if (pageCounter == 1 || ra == null) { ra = new RandomAccessFileOrArray(file.toURI().toURL()); } int nPages = TiffImage.getNumberOfPages(ra); if (nPages > 0 && pageCounter <= nPages) { pageImage = TiffImage.getTiffImage(ra, pageCounter); } } int dpiX = pageImage.getDpiX(); if (dpiX == 0) { // for images that don't set the resolution we assume // 300 dpi dpiX = 300; } int dpiY = pageImage.getDpiY(); if (dpiY == 0) { // as above for dpiX dpiY = 300; } float dotsPerPointX = dpiX / pointsPerInch; float dotsPerPointY = dpiY / pointsPerInch; float pageImagePixelHeight = pageImage.getHeight(); if (pdfDocument == null) { pdfDocument = new Document(new Rectangle(pageImage.getWidth() / dotsPerPointX, pageImage.getHeight() / dotsPerPointY)); pdfWriter = PdfWriter.getInstance(pdfDocument, outputPDFStream); pdfDocument.open(); // Put the text behind the picture (reverse for debugging) // cb = pdfWriter.getDirectContentUnder(); cb = pdfWriter.getDirectContent(); } else { pdfDocument.setPageSize(new Rectangle(pageImage.getWidth() / dotsPerPointX, pageImage.getHeight() / dotsPerPointY)); pdfDocument.newPage(); } // first define a standard font for our text BaseFont base = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED); Font defaultFont = new Font(base, 8); // FontFactory.getFont(FontFactory.HELVETICA, 8, Font.BOLD, // CMYKColor.BLACK); cb.setHorizontalScaling(1.0f); pageImage.scaleToFit(pageImage.getWidth() / dotsPerPointX, pageImage.getHeight() / dotsPerPointY); pageImage.setAbsolutePosition(0, 0); // Put the image in front of the text (reverse for debugging) // pdfWriter.getDirectContent().addImage(pageImage); pdfWriter.getDirectContentUnder().addImage(pageImage); // In order to place text behind the recognised text snippets we are // interested in the bbox property Pattern bboxPattern = Pattern.compile("bbox(\\s+\\d+){4}"); // This pattern separates the coordinates of the bbox property Pattern bboxCoordinatePattern = Pattern.compile("(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)"); // Only tags of the ocr_line class are interesting StartTag ocrTag = source.getNextStartTag(prevPos, "class", OCRPAGEORLINE); while (ocrTag != null) { prevPos = ocrTag.getEnd(); if ("ocrx_word".equalsIgnoreCase(ocrTag.getAttributeValue("class"))) { net.htmlparser.jericho.Element lineElement = ocrTag.getElement(); Matcher bboxMatcher = bboxPattern.matcher(lineElement.getAttributeValue("title")); if (bboxMatcher.find()) { // We found a tag of the ocr_line class containing a bbox property Matcher bboxCoordinateMatcher = bboxCoordinatePattern.matcher(bboxMatcher.group()); bboxCoordinateMatcher.find(); int[] coordinates = { Integer.parseInt((bboxCoordinateMatcher.group(1))), Integer.parseInt((bboxCoordinateMatcher.group(2))), Integer.parseInt((bboxCoordinateMatcher.group(3))), Integer.parseInt((bboxCoordinateMatcher.group(4))) }; String line = lineElement.getContent().getTextExtractor().toString(); float bboxWidthPt = (coordinates[2] - coordinates[0]) / dotsPerPointX; float bboxHeightPt = (coordinates[3] - coordinates[1]) / dotsPerPointY; // Put the text into the PDF cb.beginText(); // Comment the next line to debug the PDF output (visible Text) cb.setTextRenderingMode(PdfContentByte.TEXT_RENDER_MODE_INVISIBLE); // height cb.setFontAndSize(defaultFont.getBaseFont(), Math.max(Math.round(bboxHeightPt), 1)); // width cb.setHorizontalScaling(bboxWidthPt / cb.getEffectiveStringWidth(line, false)); cb.moveText((coordinates[0] / dotsPerPointX), ((pageImagePixelHeight - coordinates[3]) / dotsPerPointY)); cb.showText(line); cb.endText(); cb.setHorizontalScaling(1.0f); } } else { if ("ocr_page".equalsIgnoreCase(ocrTag.getAttributeValue("class"))) { pageCounter++; pageTag = ocrTag; break; } } ocrTag = source.getNextStartTag(prevPos, "class", OCRPAGEORLINE); } if (ocrTag == null) { pdfDocument.close(); break; } } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:printom.PDFCreator.java
public static void createBOL(ArrayList<Shipment> aShipmentList, int aTemplate) { ArrayList<Shipment> shipmentList = aShipmentList; Order chosenOrder = shipmentList.get(0).getChosenOrder(); String bolCode = shipmentList.get(0).getBolCode(); String bolFileName = bolCode + ".pdf"; String myCustName = Customer.getCustomerName(chosenOrder.getCustID()); String myShipDate = Prompter.dateString(shipmentList.get(0).getDateShipped()); String myCarrier = shipmentList.get(0).getCarrier(); String myInstructs = shipmentList.get(0).getInstructions(); Address myAddress = Address.retAddress(shipmentList.get(0).getChosenOrder().getShipAddressID()); try {//from w w w . j a va2s.c o m //BaseFont bf1 = BaseFont.createFont("c:/windows/fonts/consola.ttf", //BaseFont.WINANSI, BaseFont.EMBEDDED); Font timesJob = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD, BaseColor.WHITE); Font timesDef = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.NORMAL, BaseColor.BLACK); Font courierNorm = new Font(Font.FontFamily.COURIER, 11, Font.NORMAL, BaseColor.BLACK); Font courierSBig = new Font(Font.FontFamily.COURIER, 13, Font.NORMAL, BaseColor.BLACK); // step 1 Document document = new Document(PageSize.LETTER, 18, 18, 126, 54); // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(bolFileName)); // step 3 document.open(); // step 4 // we set the compression to 0 so that we can read the PDF syntax writer.setCompressionLevel(0); // writes something to the direct content using a convenience method PdfContentByte canvas = writer.getDirectContentUnder(); // Graphic Letterheard Image image = Image.getInstance("AresLH.jpg"); image.scalePercent(50f); image.setAbsolutePosition(43, 680); if (aTemplate == 1) document.add(image); // 11" = 792 // 8.5 = 612 // TEXT SIZE = 11 // LINE SPACING = 11 // PARAGRAPH SPACE = 3 * 11 int myPageWidth = 612; int myPageHeight = 792; int myTopMargin = 655; int myTopSubMargin = 622; int myPageLeftMargin = 54; // HEADER LINES ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ARES BOL# " + bolCode, courierNorm), myPageLeftMargin, myTopMargin, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, new Phrase("DATE: " + myShipDate, courierNorm), myPageWidth - myPageLeftMargin, myTopMargin, 0); // CONSIGNEE ADDRESS int myAddressStartY = myTopSubMargin; int myCurrentY = myTopSubMargin; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CONSIGNEE", courierNorm), myPageLeftMargin, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ADDRESS:", courierNorm), myPageLeftMargin, myCurrentY, 0); myCurrentY = myAddressStartY; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myAddress.getAttention(), courierNorm), 125, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myAddress.getAddress1(), courierNorm), 125, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myAddress.getCity() + ", " + myAddress.getState() + " " + myAddress.getZipCode(), courierNorm), 125, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(myAddress.getLastLine(), courierNorm), 125, myCurrentY, 0); // FROM ADDRESS myCurrentY = myAddressStartY; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("FROM:", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("Ares Printing & Packaging", courierNorm), 98 + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("63 Flushing Ave, Bldg 5", courierNorm), 98 + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("Brooklyn Navy Yard", courierNorm), 98 + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("Brooklyn, NY 11205", courierNorm), 98 + 288, myCurrentY, 0); // CARRIER, FOB AND SPECIAL INSTRUCTIONS myCurrentY -= 33; int myItemStartY = myCurrentY; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CARRIER: " + myCarrier, courierNorm), myPageLeftMargin, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("FOB: Brooklyn", courierNorm), myPageLeftMargin, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("SPECIAL INSTRUCTIONS: " + myInstructs, courierNorm), myPageLeftMargin, myCurrentY, 0); int myBOLTPallets = 0; int myBOLTCases = 0; int myBOLTPieces = 0; myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0); // Start Item/ShipLine Information for (Shipment shipment : shipmentList) { ArrayList<Inventory> shipInventoryList = shipment.getInvenList(); ArrayList<Inventory.InventoryLine> invenLineList = new ArrayList<>(); Item item = new Item(shipInventoryList.get(0).getItemID()); String apo = ""; for (int i = 0; i < shipInventoryList.size(); i++) { if (i == 0) { apo += shipInventoryList.get(i).getJobNum(); } else { apo += ", " + shipInventoryList.get(i).getJobNum(); } invenLineList.addAll(shipInventoryList.get(i).getInvenLines()); } //START ITEM myCurrentY -= 22; if (myCurrentY < 100) { document.newPage(); if (aTemplate == 1) { document.add(image); } myCurrentY = myTopSubMargin; } ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM NAME: " + item.getItemName(), courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CUSTOMER PO#: " + chosenOrder.getPOrderNum(), courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM CODE: " + item.getItemCode(), courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("APO: " + apo, courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); // ITEM 1 myCurrentY -= 12; int myItemTPallets = 0; int myItemTCases = 0; int myItemTPieces = 0; for (Inventory.InventoryLine invenLine : invenLineList) { ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase(String.valueOf(invenLine.getPallets()), courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase(String.valueOf(invenLine.getCases()), courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase(String.valueOf(invenLine.getPieces()), courierNorm), myPageLeftMargin + 340, myCurrentY, 0); // LINE 2 myCurrentY -= 11; myItemTPallets += invenLine.getPallets(); myItemTCases += invenLine.getPallets() * invenLine.getCases(); myItemTPieces += invenLine.getPallets() * invenLine.getCases() * invenLine.getPieces(); myBOLTPallets += myItemTPallets; myBOLTCases += myItemTCases; myBOLTPieces += myItemTPieces; } myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned( canvas, Element.ALIGN_LEFT, new Phrase(" PALLETS: " + myItemTPallets + " CASES: " + myItemTCases + " QUANTITY: " + myItemTPieces, courierNorm), myPageLeftMargin + 95, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /* //START ITEM myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); // ITEM 1 myCurrentY -= 12; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); // LINE 2 myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); myCurrentY -= 33; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(" PALLETS: 12 CASES: 282 QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0); ////////////// //END ITEM ////////////// myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); myCurrentY -= 6; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0); ////////////// //END ITEM ////////////// myCurrentY -= 12; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); // LINE 2 myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); myCurrentY -= 1; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0); myCurrentY -= 33; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(" PALLETS: 12 CASES: 282 QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0); myCurrentY -= 11; ////////////// //START ITEM ////////////// ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0); //START ITEM myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); myCurrentY -= 6; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0); // ITEM 1 myCurrentY -= 12; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); // LINE 2 myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); myCurrentY -= 1; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0); myCurrentY -= 33; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(" PALLETS: 12 CASES: 282 QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0); ////////////// //END ITEM ////////////// */ ////////////// //START FOOTER ////////////// myCurrentY -= 33; if (myCurrentY < 85) { document.newPage(); myCurrentY = myTopSubMargin; } ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("SHIPMENT RECEIVED IN GOOD CONDITION BY:", courierNorm), myPageLeftMargin + 128, myCurrentY, 0); myCurrentY -= 33; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("______________________________________", courierNorm), myPageLeftMargin + 128, myCurrentY, 0); myCurrentY -= 16; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("(SIGNATURE) (DATE & TIME)", courierNorm), myPageLeftMargin + 128, myCurrentY, 0); myCurrentY += 49; ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, new Phrase("TOTAL PALLETS: " + myBOLTPallets, courierSBig), myPageLeftMargin + 500, myCurrentY, 0); myCurrentY -= 13; ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, new Phrase("TOTAL CASES: " + myBOLTCases, courierSBig), myPageLeftMargin + 500, myCurrentY, 0); myCurrentY -= 13; ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, new Phrase("TOTAL WEIGHT: ~" + ((myBOLTCases * 25) + (myBOLTPallets * 40)) + " lbs", courierSBig), myPageLeftMargin + 500, myCurrentY, 0); ////////////// //END FOOTER ////////////// /* document.newPage(); myCurrentY = myTopSubMargin; ////////////// //START ITEM ////////////// ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0); //START ITEM myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM NAME: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("CUSTOMER PO#: 2011444", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM CODE: ZCART-248", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("APO: 14900", courierNorm), myPageLeftMargin + 288, myCurrentY, 0); myCurrentY -= 22; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pallets", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Cases per pallet", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("Pieces per case", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); myCurrentY -= 6; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0); // ITEM 1 myCurrentY -= 12; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("11", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("24", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); // LINE 2 myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("1", courierNorm), myPageLeftMargin + 115, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 150, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("18", courierNorm), myPageLeftMargin + 215, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("@", courierNorm), myPageLeftMargin + 281, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, new Phrase("180", courierNorm), myPageLeftMargin + 340, myCurrentY, 0); myCurrentY -= 1; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("_______________________________________________", courierNorm), myPageLeftMargin + 85, myCurrentY, 0); myCurrentY -= 33; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("ITEM TOTALS:", courierNorm), myPageLeftMargin, myCurrentY, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(" PALLETS: 12 CASES: 282 QUANTITY: 50,760", courierNorm), myPageLeftMargin + 95, myCurrentY, 0); myCurrentY -= 11; ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("---------------------------------------------------------------------------", courierNorm), myPageLeftMargin, myCurrentY, 0); ////////////// //END ITEM ////////////// */ // step 5 document.close(); if (Desktop.isDesktopSupported()) { try { File f = new File(bolFileName); Desktop.getDesktop().open(f); } catch (IOException ex) { // no application registered for PDFs } } } catch (IOException | DocumentException ex) { Logger.getLogger(PDFCreator.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:Report.RelatorioAluno.java
/** * funcao para gerar o stream do relatorio * * @return ByteArrayOutputStream/*from w ww.j a v a 2 s .c om*/ */ public ByteArrayOutputStream relatorioAlunosMatriculados() { ByteArrayOutputStream baos = new ByteArrayOutputStream(); FacesContext faces = FacesContext.getCurrentInstance(); // pega o contexto da aplicacao realPath = faces.getExternalContext().getRealPath("/"); //realPath = "C:/Users/Alessandro/Desktop/TCC2/SisGES/build/web"; try { BaseFont fHelvetica = BaseFont.createFont(BaseFont.HELVETICA, "Cp1252", false); //---------------------------------------------------------------------- // creation of the document with a certain size and certain margins // may want to use PageSize.LETTER instead Document document = new Document(PageSize.A4, 40, 40, 20, 50); document.addAuthor("SisGES"); // optional document.addSubject("Relatrio"); // opcional document.addKeywords("SisGES"); document.addCreator("iText"); //---------------------------------------------------------------------- // creation of the different writers //PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("web/resources/report/alunosMatriculados.pdf")); PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setBoxSize("header", new Rectangle(36, 54, 559, 788)); //---------------------------------------------------------------------- // ADICIONA HEADER E FOOTER //---------------------------------------------------------------------- HeaderFooter headerFooter = new HeaderFooter(); writer.setPageEvent(headerFooter); //---------------------------------------------------------------------- // ABRE DOCUMENTO PARA ESCRITA //---------------------------------------------------------------------- document.open(); //---------------------------------------------------------------------- //ADICIONAR LOGO NO DOCUMENTO //---------------------------------------------------------------------- Image logoUfu = Image.getInstance(realPath + "/resources/images/logoUFU.png"); logoUfu.scaleAbsolute(57, 56);//(largura,altura) logoUfu.isImgTemplate(); //add no template //logoUfu.setAbsolutePosition(30, 745); //x ,y por referencia do rodape document.add(logoUfu); Image logoFacom = Image.getInstance(realPath + "/resources/images/logoFacom.png"); logoFacom.scaleAbsolute(62, 55);//(largura,altura) logoFacom.setAbsolutePosition(92, 767); //x ,y por referencia do rodape //logoFacom.isImgTemplate(); //add no template document.add(logoFacom); //---------------------------------------------------------------------- //ADICIONAR CABEALHO //---------------------------------------------------------------------- PdfContentByte univ = writer.getDirectContentUnder(); univ.beginText(); univ.setFontAndSize(fHelvetica, 10); univ.setTextMatrix(349, 805); // x e y univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); univ.setTextMatrix(405, 790); // x e y univ.showText("FACULDADE DE COMPUTAO"); univ.setTextMatrix(403, 775); // x e y univ.showText("COORDENADORIA DE ESTGIO "); univ.endText(); PdfContentByte univEnd = writer.getDirectContentUnder(); univEnd.beginText(); univEnd.setFontAndSize(fHelvetica, 7); univEnd.setTextMatrix(326, 761); // x e y univEnd.showText("Campus Universitrio - Santa Mnica - CEP 38408-100 - Uberlndia - MG"); univEnd.setTextMatrix(432, 750); // x e y univEnd.showText("Telefone: (34) 3239-4144 ou 3239-4393"); univEnd.endText(); //---------------------------------------------------------------------- //ADICIONAR TITULO //---------------------------------------------------------------------- PdfContentByte titulo = writer.getDirectContentUnder(); titulo.beginText(); titulo.setFontAndSize(fHelvetica, 16); titulo.setTextMatrix(210, 700); // x e y titulo.showText("Alunos Matrculados"); titulo.endText(); //---------------------------------------------------------------------- //---------------------------------------------------------------------- AlunoDAO aDAO = new AlunoDAO(); List<Aluno> allAlunos = aDAO.getAllAlunos(); aDAO.closeSession(); PdfPTable table = new PdfPTable(5); table.setTotalWidth(100f); table.setWidthPercentage(100); float[] widths = { 10, 30, 30, 13, 17 };//largura das colunas table.setWidths(widths); table.setHeaderRows(1); Paragraph cabecalho = new Paragraph("Matricula"); PdfPCell cellMatricula = new PdfPCell(cabecalho); // celula cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); cellMatricula.setBackgroundColor(BaseColor.LIGHT_GRAY); cellMatricula.setBorderColor(BaseColor.LIGHT_GRAY); cellMatricula.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cellMatricula); cabecalho = new Paragraph("Nome"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cellNome = new PdfPCell(cabecalho); // celula cellNome.setBackgroundColor(BaseColor.LIGHT_GRAY); cellNome.setBorderColor(BaseColor.LIGHT_GRAY); cellNome.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cellNome); cabecalho = new Paragraph("Email"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cellEmail = new PdfPCell(cabecalho); // celula cellEmail.setBackgroundColor(BaseColor.LIGHT_GRAY); cellEmail.setBorderColor(BaseColor.LIGHT_GRAY); cellEmail.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cellEmail); cabecalho = new Paragraph("Telefone"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cellTelefone = new PdfPCell(cabecalho); // celula cellTelefone.setBackgroundColor(BaseColor.LIGHT_GRAY); cellTelefone.setBorderColor(BaseColor.LIGHT_GRAY); cellTelefone.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cellTelefone); cabecalho = new Paragraph("Curso"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cellCurso = new PdfPCell(cabecalho); // celula cellCurso.setBackgroundColor(BaseColor.LIGHT_GRAY); cellCurso.setBorderColor(BaseColor.LIGHT_GRAY); cellCurso.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cellCurso); for (int i = 0; i < allAlunos.size(); i++) { Aluno aluno = allAlunos.get(i); Paragraph texto = new Paragraph(aluno.getMatricula()); cellMatricula = new PdfPCell(texto); // celula cellMatricula.setBorderColor(BaseColor.LIGHT_GRAY); texto.getFont().setSize(8); table.addCell(cellMatricula); texto = new Paragraph(aluno.getNome()); texto.getFont().setSize(8); cellNome = new PdfPCell(texto); // celula cellNome.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cellNome); texto = new Paragraph(aluno.getEmail()); texto.getFont().setSize(8); cellEmail = new PdfPCell(texto); // celula cellEmail.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cellEmail); texto = new Paragraph(aluno.getTelefone()); texto.getFont().setSize(8); cellTelefone = new PdfPCell(texto); // celula cellTelefone.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cellTelefone); texto = new Paragraph(aluno.getCursoidcurso().getNomecurso()); texto.getFont().setSize(8); cellCurso = new PdfPCell(texto); // celula cellCurso.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cellCurso); } table.setSpacingBefore(100); table.setSpacingAfter(10); table.completeRow(); document.add(table); //add nova pagina document.newPage(); //close document document.close(); } catch (DocumentException | IOException ex) { Logger.getLogger(RelatorioAluno.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(RelatorioAluno.class.getName()).log(Level.SEVERE, null, ex); } //return stream return baos; }
From source file:Report.RelatorioBanca.java
/** * funcao para gerar o stream do relatorio * * @param banca/*from w ww . j av a2s. co m*/ * @param listaConvidados * @param coordenador * @param campus * @return ByteArrayOutputStream */ public ByteArrayOutputStream relatorioAtaDeDefesa(Banca banca, List<Convidado> listaConvidados, Professor coordenador, Campus campus) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); FacesContext faces = FacesContext.getCurrentInstance(); //pega o contexto da aplicacao String realPath = faces.getExternalContext().getRealPath("/"); try { BaseFont fHelvetica = BaseFont.createFont(BaseFont.HELVETICA, "Cp1252", false); //---------------------------------------------------------------------- // creation of the document with a certain size and certain margins // may want to use PageSize.LETTER instead Document document = new Document(PageSize.A4, 40, 40, 20, 50); document.addAuthor("SisGES"); // optional document.addSubject("Relatrio"); // opcional document.addKeywords("SisGES"); document.addCreator("iText"); //---------------------------------------------------------------------- // creation of the different writers //PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("web/resources/report/alunosMatriculados.pdf")); PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setBoxSize("header", new Rectangle(36, 54, 559, 788)); //---------------------------------------------------------------------- // ADICIONA HEADER E FOOTER //---------------------------------------------------------------------- HeaderFooter headerFooter = new HeaderFooter(); headerFooter.setY(760f); writer.setPageEvent(headerFooter); //---------------------------------------------------------------------- // ABRE DOCUMENTO PARA ESCRITA //---------------------------------------------------------------------- document.open(); //---------------------------------------------------------------------- //ADICIONAR LOGO NO DOCUMENTO //---------------------------------------------------------------------- Image logoUfu = Image.getInstance(realPath + "/resources/images/logoUFUAta.png"); logoUfu.scaleAbsolute(155, 39);//(largura,altura) logoUfu.isImgTemplate(); //add no template document.add(logoUfu); //---------------------------------------------------------------------- //ADICIONAR CABEALHO //---------------------------------------------------------------------- PdfContentByte univ = writer.getDirectContentUnder(); univ.beginText(); univ.setFontAndSize(fHelvetica, 10); univ.setTextMatrix(349, 816); // x e y univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); univ.setTextMatrix(405, 802); // x e y univ.showText("FACULDADE DE COMPUTAO"); univ.setTextMatrix(403, 788); // x e y univ.showText("COORDENADORIA DE ESTGIO "); univ.endText(); String info = "Campus Universitrio - " + campus.getNomecampus() + " - CEP " + campus.getCep() + " - " + campus.getCidade() + " - " + campus.getEstadosigla().toUpperCase(); Chunk txtCampus = new Chunk(info); Paragraph paragraph0 = new Paragraph(); paragraph0.setSpacingBefore(-10); paragraph0.setFont(new Font(fHelvetica, 7)); paragraph0.add(txtCampus); paragraph0.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph0); info = "Telefone: " + coordenador.getTelefone() + " Email: " + coordenador.getEmail(); Chunk txtCoordenador = new Chunk(info); Paragraph paragraph1 = new Paragraph(); paragraph1.setSpacingBefore(-5); paragraph1.setSpacingAfter(10); paragraph1.setFont(new Font(fHelvetica, 7)); paragraph1.add(txtCoordenador); paragraph1.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph1); // PdfContentByte univ = writer.getDirectContentUnder(); // univ.beginText(); // univ.setFontAndSize(fHelvetica, 12); // univ.setTextMatrix(200, 815); // x e y // univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); // univ.setTextMatrix(235, 800); // x e y // univ.showText("FACULDADE DE COMPUTAO"); // univ.endText(); // // PdfContentByte univEnd = writer.getDirectContentUnder(); // univEnd.beginText(); // univEnd.setFontAndSize(fHelvetica, 7); // univEnd.setTextMatrix(210, 785); // x e y // univEnd.showText("Campus Universitrio - Santa Mnica - CEP 38408-100 - Uberlndia - MG"); // univEnd.setTextMatrix(260, 775); // x e y // univEnd.showText("Telefone: (34) 3239-4144 ou 3239-4393"); // univEnd.endText(); //---------------------------------------------------------------------- //ADICIONAR TITULO //---------------------------------------------------------------------- PdfContentByte curso = writer.getDirectContentUnder(); curso.beginText(); curso.setFontAndSize(fHelvetica, 14); curso.setTextMatrix(140, 720); // x e y String cursoAluno; //curso.showText("Curso de Bacharelado em Cincia da Computao"); cursoAluno = banca.getTrabalhoidtrabalho().getAlunomatricula().getCursoidcurso().getNomecurso(); if (cursoAluno.contains("sistema")) { cursoAluno = "Bacharelado em Sistemas de Informao"; } else { cursoAluno = "Bacharelado em Cincia da Computao"; } curso.showText("Curso de " + cursoAluno); curso.endText(); PdfContentByte titulo = writer.getDirectContentUnder(); titulo.beginText(); titulo.setFontAndSize(fHelvetica, 12); titulo.setTextMatrix(160, 660); // x e y titulo.showText("Ata de Defesa de Trabalho de Estgio Supervisionado"); titulo.endText(); //----------------------------------------------------------------------] String texto = "Ata da ___________ de defesa de Trabalho de Estgio Supervisionado, do Curso de Bacharelado " + "em Cincia da Computao, realizada em " + CalendarFormat.getDataBRtoDate(banca.getDatabanca()) + ", na " + banca.getLocalbanca() + ", s " + CalendarFormat.parseDateToTimeString(banca.getHorario()) + " horas, pelo aluno " + banca.getTrabalhoidtrabalho().getAlunomatricula().getNome() + " (" + banca.getTrabalhoidtrabalho().getAlunomatricula().getMatricula() + "). O trabalho " + "intitulado \"" + banca.getTrabalhoidtrabalho().getTitulo() + "\" foi apresentado pelo aluno em sesso pblica " + "com cerca de 1 hora de durao. Na ocasio, o aluno foi arguido oralmente pelos membros " + "da banca, sendo considerado ________________________ (aprovado/reprovado)."; Chunk chunk1 = new Chunk(texto); Paragraph paragraph = new Paragraph(); paragraph.setFont(new Font(fHelvetica, 12)); paragraph.setSpacingBefore(170); paragraph.add(chunk1); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph); document.add(Chunk.NEWLINE); texto = "Carga horria total do estgio: ____________ horas (preenchido pela coordenao de estgios)"; Paragraph paragraph2 = new Paragraph(); paragraph2.setSpacingBefore(15); paragraph2.setFont(new Font(fHelvetica, 10)); paragraph2.add(texto); paragraph2.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph2); document.add(Chunk.NEWLINE); Paragraph paragraph3 = new Paragraph(); paragraph3.setSpacingBefore(25); paragraph3.add("Uberlndia, " + CalendarFormat.getDataPorExtenso(banca.getDatabanca()) + "."); paragraph3.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph3); document.add(Chunk.NEWLINE); //---------------------------------------------------------------------- PdfContentByte tituloMembros = writer.getDirectContentUnder(); tituloMembros.beginText(); tituloMembros.setFontAndSize(fHelvetica, 12); tituloMembros.setTextMatrix(220, 350); // x e y tituloMembros.showText("Membros da Banca Examinadora"); tituloMembros.endText(); //---------------------------------------------------------------------- float x = 160f; float y = 300f; // distancia do fim da pagina //retorna orientador //----------------------------------------------------- //linha PdfContentByte linhaOrientador = writer.getDirectContentUnder(); linhaOrientador.setLineWidth(1f); // mostrar linha linhaOrientador.setGrayStroke(0.5f); // 0 = preto, 1 = branco linhaOrientador.moveTo(x, y); linhaOrientador.lineTo(450f, y); // ate onde a linha vai linhaOrientador.stroke(); //------------------------------------------------------ //nome orientador PdfContentByte orientador = writer.getDirectContentUnder(); orientador.beginText(); orientador.setFontAndSize(fHelvetica, 12); orientador.setTextMatrix(x, y - 20); // x e y orientador.showText("Prof.Orientador - " + banca.getTrabalhoidtrabalho().getProfessorsiape().getNome()); orientador.setTextMatrix(x, y - 35); // x e y orientador.showText("Presidente da banca"); orientador.endText(); y = y - 100; //retorna convidados for (int i = 0; i < listaConvidados.size(); i++) { Convidado convidado = listaConvidados.get(i); if (convidado.getConfirmado() == true) { //----------------------------------------------------- //linha PdfContentByte linha = writer.getDirectContentUnder(); linha.setLineWidth(1f); // mostrar linha linha.setGrayStroke(0.5f); // 0 = preto, 1 = branco linha.moveTo(x, y); linha.lineTo(450f, y); // ate onde a linha vai linha.stroke(); //------------------------------------------------------ //nome convidado PdfContentByte conv = writer.getDirectContentUnder(); conv.beginText(); conv.setFontAndSize(fHelvetica, 12); conv.setTextMatrix(x, y - 20); // x e y conv.showText("Prof.Convidado - " + convidado.getProfessorsiape().getNome()); conv.endText(); //------------------------------------------------------ y = y - 80; } } //add nova pagina document.newPage(); //close document document.close(); } catch (DocumentException | IOException ex) { Logger.getLogger(RelatorioBanca.class.getName()).log(Level.SEVERE, null, ex); } //return stream return baos; }
From source file:Report.RelatorioBanca.java
/** * funcao para gerar o stream do relatorio de participaes em banca * * @param prof// ww w . j a va 2 s . c o m * @param listaOrientador * @param listaConvidado * @param dtinicial * @param dtfinal * @param coordenador * @param campus * @return ByteArrayOutputStream */ public ByteArrayOutputStream relatorioParticipacaoEmBanca(Professor prof, List<Banca> listaOrientador, List<Convidado> listaConvidado, Date dtinicial, Date dtfinal, Professor coordenador, Campus campus) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); FacesContext faces = FacesContext.getCurrentInstance(); //pega o contexto da aplicacao String realPath = faces.getExternalContext().getRealPath("/"); try { BaseFont fHelvetica = BaseFont.createFont(BaseFont.HELVETICA, "Cp1252", false); //---------------------------------------------------------------------- //creation of the document with a certain size and certain margins //may want to use PageSize.LETTER instead Document document = new Document(PageSize.A4, 40, 40, 20, 50); document.addAuthor("SisGES"); // optional document.addSubject("Relatrio"); // opcional document.addKeywords("SisGES"); document.addCreator("iText"); //---------------------------------------------------------------------- // creation of the different writers //PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("web/resources/report/alunosMatriculados.pdf")); PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setBoxSize("header", new Rectangle(36, 54, 559, 788)); //---------------------------------------------------------------------- // ADICIONA HEADER E FOOTER //---------------------------------------------------------------------- HeaderFooter headerFooter = new HeaderFooter(); headerFooter.setY(760f); writer.setPageEvent(headerFooter); //---------------------------------------------------------------------- //ABRE DOCUMENTO PARA ESCRITA //---------------------------------------------------------------------- document.open(); //---------------------------------------------------------------------- //ADICIONAR LOGO NO DOCUMENTO //---------------------------------------------------------------------- Image logoUfu = Image.getInstance(realPath + "/resources/images/logoUFUAta.png"); logoUfu.scaleAbsolute(155, 39);//(largura,altura) logoUfu.isImgTemplate(); //add no template document.add(logoUfu); //---------------------------------------------------------------------- //ADICIONAR CABEALHO //---------------------------------------------------------------------- PdfContentByte univ = writer.getDirectContentUnder(); univ.beginText(); univ.setFontAndSize(fHelvetica, 10); univ.setTextMatrix(349, 816); // x e y univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); univ.setTextMatrix(405, 802); // x e y univ.showText("FACULDADE DE COMPUTAO"); univ.setTextMatrix(403, 788); // x e y univ.showText("COORDENADORIA DE ESTGIO "); univ.endText(); String info = "Campus Universitrio - " + campus.getNomecampus() + " - CEP " + campus.getCep() + " - " + campus.getCidade() + " - " + campus.getEstadosigla().toUpperCase(); Chunk txtCampus = new Chunk(info); Paragraph paragraph0 = new Paragraph(); paragraph0.setSpacingBefore(-10); paragraph0.setFont(new Font(fHelvetica, 7)); paragraph0.add(txtCampus); paragraph0.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph0); info = "Telefone: " + coordenador.getTelefone() + " Email: " + coordenador.getEmail(); Chunk txtCoordenador = new Chunk(info); Paragraph paragraph1 = new Paragraph(); paragraph1.setSpacingBefore(-5); paragraph1.setSpacingAfter(10); paragraph1.setFont(new Font(fHelvetica, 7)); paragraph1.add(txtCoordenador); paragraph1.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph1); // PdfContentByte univ = writer.getDirectContentUnder(); // univ.beginText(); // univ.setFontAndSize(fHelvetica, 12); // univ.setTextMatrix(200, 815); // x e y // univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); // univ.setTextMatrix(235, 800); // x e y // univ.showText("FACULDADE DE COMPUTAO"); // univ.endText(); // // PdfContentByte univEnd = writer.getDirectContentUnder(); // univEnd.beginText(); // univEnd.setFontAndSize(fHelvetica, 7); // univEnd.setTextMatrix(210, 785); // x e y // univEnd.showText("Campus Universitrio - Santa Mnica - CEP 38408-100 - Uberlndia - MG"); // univEnd.setTextMatrix(260, 775); // x e y // univEnd.showText("Telefone: (34) 3239-4144 ou 3239-4393"); // univEnd.endText(); //---------------------------------------------------------------------- //ADICIONAR TITULO //---------------------------------------------------------------------- PdfContentByte t1 = writer.getDirectContentUnder(); t1.beginText(); t1.setFontAndSize(fHelvetica, 14); t1.setTextMatrix(210, 735); // x e y t1.showText("Participao em Bancas"); t1.endText(); PdfContentByte t2 = writer.getDirectContentUnder(); t2.beginText(); t2.setFontAndSize(fHelvetica, 12); t2.setTextMatrix(190, 710); // x e y String periodo = CalendarFormat.getDataBRtoDate(dtinicial) + " at " + CalendarFormat.getDataBRtoDate(dtfinal); t2.showText("Perodo: " + periodo); t2.endText(); PdfContentByte t3 = writer.getDirectContentUnder(); t3.beginText(); t3.setFontAndSize(fHelvetica, 12); t3.setTextMatrix(40, 675); // x e y t3.showText("Professor: " + prof.getNome()); t3.endText(); //---------------------------------------------------------------------- //TABELA PdfPTable table = new PdfPTable(6); //espao do inicio da pagina table.setSpacingBefore(100f); table.setTotalWidth(110f); table.setWidthPercentage(100); float[] widths = { 13, 25, 22, 18, 12, 10 };//largura das 2 colunas table.setWidths(widths); table.setHeaderRows(1); //CABEALHO DA TABELA Paragraph cabecalho = new Paragraph("Matricula do Aluno"); PdfPCell cell1 = new PdfPCell(cabecalho); // celula cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell1); cabecalho = new Paragraph("Nome do Aluno"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cell2 = new PdfPCell(cabecalho); // celula cell2.setBackgroundColor(BaseColor.LIGHT_GRAY); cell2.setBorderColor(BaseColor.LIGHT_GRAY); cell2.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell2); cabecalho = new Paragraph("Ttulo do Trabalho"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cell3 = new PdfPCell(cabecalho); // celula cell3.setBackgroundColor(BaseColor.LIGHT_GRAY); cell3.setBorderColor(BaseColor.LIGHT_GRAY); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell3); cabecalho = new Paragraph("Nome do Orientador"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cell4 = new PdfPCell(cabecalho); // celula cell4.setBackgroundColor(BaseColor.LIGHT_GRAY); cell4.setBorderColor(BaseColor.LIGHT_GRAY); cell4.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell4); cabecalho = new Paragraph("Papel do Professor"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cell5 = new PdfPCell(cabecalho); // celula cell5.setBackgroundColor(BaseColor.LIGHT_GRAY); cell5.setBorderColor(BaseColor.LIGHT_GRAY); cell5.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell5); cabecalho = new Paragraph("Data Defesa"); cabecalho.getFont().setStyle(Font.BOLD); cabecalho.getFont().setSize(8); PdfPCell cell6 = new PdfPCell(cabecalho); // celula cell6.setBackgroundColor(BaseColor.LIGHT_GRAY); cell6.setBorderColor(BaseColor.LIGHT_GRAY); cell6.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell6); for (int i = 0; i < listaOrientador.size(); i++) { Banca b = listaOrientador.get(i); Paragraph texto = new Paragraph(b.getTrabalhoidtrabalho().getAlunomatricula().getMatricula()); texto.getFont().setSize(8); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell1); texto = new Paragraph(b.getTrabalhoidtrabalho().getAlunomatricula().getNome()); texto.getFont().setSize(8); cell2 = new PdfPCell(texto); // celula cell2.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell2); texto = new Paragraph(b.getTrabalhoidtrabalho().getTitulo()); texto.getFont().setSize(8); cell3 = new PdfPCell(texto); // celula cell3.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell3); texto = new Paragraph(b.getTrabalhoidtrabalho().getProfessorsiape().getNome()); texto.getFont().setSize(8); cell4 = new PdfPCell(texto); // celula cell4.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell4); texto = new Paragraph("Orientador"); texto.getFont().setSize(8); cell5 = new PdfPCell(texto); // celula cell5.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell5); texto = new Paragraph(CalendarFormat.getDataBRtoDate(b.getDatabanca())); texto.getFont().setSize(8); cell6 = new PdfPCell(texto); // celula cell6.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell6); switch (i % 2) { case 0: cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); break; case 1: break; } } for (int i = 0; i < listaConvidado.size(); i++) { Convidado c = listaConvidado.get(i); Paragraph texto = new Paragraph( c.getBancaidbanca().getTrabalhoidtrabalho().getAlunomatricula().getMatricula()); texto.getFont().setSize(8); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell1); texto = new Paragraph(c.getBancaidbanca().getTrabalhoidtrabalho().getAlunomatricula().getNome()); texto.getFont().setSize(8); cell2 = new PdfPCell(texto); // celula cell2.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell2); texto = new Paragraph(c.getBancaidbanca().getTrabalhoidtrabalho().getTitulo()); texto.getFont().setSize(8); cell3 = new PdfPCell(texto); // celula cell3.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell3); texto = new Paragraph(c.getBancaidbanca().getTrabalhoidtrabalho().getProfessorsiape().getNome()); texto.getFont().setSize(8); cell4 = new PdfPCell(texto); // celula cell4.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell4); texto = new Paragraph("Convidado"); texto.getFont().setSize(8); cell5 = new PdfPCell(texto); // celula cell5.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell5); texto = new Paragraph(CalendarFormat.getDataBRtoDate(c.getBancaidbanca().getDatabanca())); texto.getFont().setSize(8); cell6 = new PdfPCell(texto); // celula cell6.setBorderColor(BaseColor.LIGHT_GRAY); table.addCell(cell6); } //add a tabela document.add(table); //----------------------------------------------------- // distancia do fim da pagina float y = 70f; float x = 160f; //----------------------------------------------------- //linha PdfContentByte linha = writer.getDirectContentUnder(); linha.setLineWidth(1f); // mostrar linha linha.setGrayStroke(0.5f); // 0 = preto, 1 = branco linha.moveTo(x, y); linha.lineTo(450f, y); // ate onde a linha vai linha.stroke(); //------------------------------------------------------ //assinatura PdfContentByte a1 = writer.getDirectContentUnder(); a1.beginText(); a1.setFontAndSize(fHelvetica, 10); a1.setTextMatrix(x + 50, y - 15); // x e y a1.showText("Coordenao de Estgio Supervisionado"); a1.endText(); //------------------------------------------------------ //assinatura PdfContentByte a2 = writer.getDirectContentUnder(); a2.beginText(); a2.setFontAndSize(fHelvetica, 10); a2.setTextMatrix(x + 50, y - 27); // x e y a2.showText("FACOM/UFU"); a2.endText(); //---------------------------------------------------------------------- /*String texto = "Ata da defesa de Trabalho de Estgio Supervisionado, do Curso de Bacharelado" + "em Cincia da Computao, realizada em " + CalendarFormat.getDataBRtoDate(banca.getDatabanca()) + ", na " + banca.getLocalbanca() + ", s " + CalendarFormat.parseDateToTimeString(banca.getHorario()) + " horas, pelo aluno " + banca.getTrabalhoidtrabalho().getAlunomatricula().getNome() + " (" + banca.getTrabalhoidtrabalho().getAlunomatricula().getMatricula() + "). O trabalho " + "intitulado \"" + banca.getTrabalhoidtrabalho().getTitulo() + "\" foi apresentado pelo aluno em sesso pblica " + "com cerca de 1 hora de durao. Na ocasio, o aluno foi arguido oralmente pelos membros " + "da banca, sendo considerado ________________________ (aprovado/reprovado)."; */ //Chunk chunk1 = new Chunk(texto); //Paragraph paragraph = new Paragraph(); // paragraph.setSpacingBefore(180); //paragraph.add(chunk1); //paragraph.setAlignment(Element.ALIGN_JUSTIFIED); //document.add(paragraph); //document.add(Chunk.NEWLINE); //Paragraph paragraph2 = new Paragraph(); //paragraph2.setSpacingBefore(25); //paragraph2.add("Uberlndia, " + CalendarFormat.getDataPorExtenso(banca.getDatabanca()) + "."); //paragraph2.setAlignment(Element.ALIGN_JUSTIFIED); ///document.add(paragraph2); //document.add(Chunk.NEWLINE); //---------------------------------------------------------------------- //---------------------------------------------------------------------- //float x = 160f; //float y = 340f; // distancia do fim da pagina //retorna orientador //----------------------------------------------------- //linha //PdfContentByte linhaOrientador = writer.getDirectContentUnder(); //linhaOrientador.setLineWidth(1f); // mostrar linha //linhaOrientador.setGrayStroke(0.5f); // 0 = preto, 1 = branco //linhaOrientador.moveTo(x, y); //linhaOrientador.lineTo(450f, y); // ate onde a linha vai //linhaOrientador.stroke(); //------------------------------------------------------ //nome orientador //PdfContentByte orientador = writer.getDirectContentUnder(); //orientador.beginText(); //orientador.setFontAndSize(fHelvetica, 12); //orientador.setTextMatrix(x, y - 20); // x e y //orientador.showText("Prof.Orientador - " + banca.getTrabalhoidtrabalho().getProfessorsiape().getNome()); //orientador.setTextMatrix(x, y - 35); // x e y //orientador.showText("Presidente da banca"); //orientador.endText(); /* y = y - 100; //retorna convidados for (int i = 0; i < listaConvidados.size(); i++) { Convidado convidado = listaConvidados.get(i); if (convidado.getConfirmado() == true) { //----------------------------------------------------- //linha PdfContentByte linha = writer.getDirectContentUnder(); linha.setLineWidth(1f); // mostrar linha linha.setGrayStroke(0.5f); // 0 = preto, 1 = branco linha.moveTo(x, y); linha.lineTo(450f, y); // ate onde a linha vai linha.stroke(); //------------------------------------------------------ //nome convidado PdfContentByte conv = writer.getDirectContentUnder(); conv.beginText(); conv.setFontAndSize(fHelvetica, 12); conv.setTextMatrix(x, y - 20); // x e y conv.showText("Prof.Convidado - " + convidado.getProfessorsiape().getNome()); conv.endText(); //------------------------------------------------------ y = y - 80; } } */ //---------------------------------------------------------------------- //AlunoDAO aDAO = new AlunoDAO(); //List<Aluno> allAlunos = aDAO.getAllAlunos(); //aDAO.closeSession(); // PdfPTable table = new PdfPTable(5); // table.setSpacingBefore(35f); // table.setTotalWidth(100f); // table.setWidthPercentage(100); // float[] widths = {10, 30, 30, 13, 17};//largura das 2 colunas // table.setWidths(widths); // table.setHeaderRows(1); // // Paragraph cabecalho = new Paragraph("Matricula"); // PdfPCell cellMatricula = new PdfPCell(cabecalho); // celula // cabecalho.getFont().setStyle(Font.BOLD); // cabecalho.getFont().setSize(8); // cellMatricula.setBackgroundColor(BaseColor.LIGHT_GRAY); // cellMatricula.setBorderColor(BaseColor.LIGHT_GRAY); // cellMatricula.setHorizontalAlignment(Element.ALIGN_CENTER); // table.addCell(cellMatricula); // // cabecalho = new Paragraph("Nome"); // cabecalho.getFont().setStyle(Font.BOLD); // cabecalho.getFont().setSize(8); // PdfPCell cellNome = new PdfPCell(cabecalho); // celula // cellNome.setBackgroundColor(BaseColor.LIGHT_GRAY); // cellNome.setBorderColor(BaseColor.LIGHT_GRAY); // cellNome.setHorizontalAlignment(Element.ALIGN_CENTER); // table.addCell(cellNome); // // cabecalho = new Paragraph("Email"); // cabecalho.getFont().setStyle(Font.BOLD); // cabecalho.getFont().setSize(8); // PdfPCell cellEmail = new PdfPCell(cabecalho); // celula // cellEmail.setBackgroundColor(BaseColor.LIGHT_GRAY); // cellEmail.setBorderColor(BaseColor.LIGHT_GRAY); // cellEmail.setHorizontalAlignment(Element.ALIGN_CENTER); // table.addCell(cellEmail); // // cabecalho = new Paragraph("Telefone"); // cabecalho.getFont().setStyle(Font.BOLD); // cabecalho.getFont().setSize(8); // PdfPCell cellTelefone = new PdfPCell(cabecalho); // celula // cellTelefone.setBackgroundColor(BaseColor.LIGHT_GRAY); // cellTelefone.setBorderColor(BaseColor.LIGHT_GRAY); // cellTelefone.setHorizontalAlignment(Element.ALIGN_CENTER); // table.addCell(cellTelefone); // // cabecalho = new Paragraph("Curso"); // cabecalho.getFont().setStyle(Font.BOLD); // cabecalho.getFont().setSize(8); // PdfPCell cellCurso = new PdfPCell(cabecalho); // celula // cellCurso.setBackgroundColor(BaseColor.LIGHT_GRAY); // cellCurso.setBorderColor(BaseColor.LIGHT_GRAY); // cellCurso.setHorizontalAlignment(Element.ALIGN_CENTER); // table.addCell(cellCurso); // for (int i = 0; i < allAlunos.size(); i++) { // Aluno aluno = allAlunos.get(i); // Paragraph texto = new Paragraph(aluno.getMatricula()); // cellMatricula = new PdfPCell(texto); // celula // cellMatricula.setBorderColor(BaseColor.LIGHT_GRAY); // texto.getFont().setSize(8); // table.addCell(cellMatricula); // texto = new Paragraph(aluno.getNome()); // texto.getFont().setSize(8); // cellNome = new PdfPCell(texto); // celula // cellNome.setBorderColor(BaseColor.LIGHT_GRAY); // table.addCell(cellNome); // texto = new Paragraph(aluno.getEmail()); // texto.getFont().setSize(8); // cellEmail = new PdfPCell(texto); // celula // cellEmail.setBorderColor(BaseColor.LIGHT_GRAY); // table.addCell(cellEmail); // texto = new Paragraph(aluno.getTelefone()); // texto.getFont().setSize(8); // cellTelefone = new PdfPCell(texto); // celula // cellTelefone.setBorderColor(BaseColor.LIGHT_GRAY); // table.addCell(cellTelefone); // texto = new Paragraph(aluno.getCursoidcurso().getNomecurso()); // texto.getFont().setSize(8); // cellCurso = new PdfPCell(texto); // celula // cellCurso.setBorderColor(BaseColor.LIGHT_GRAY); // table.addCell(cellCurso); // // switch (i % 2) { // case 0: // cellMatricula.setBorderColor(BaseColor.LIGHT_GRAY); // cellMatricula.setBackgroundColor(BaseColor.LIGHT_GRAY); // break; // case 1: // // break; // } // // } //add nova pagina document.newPage(); //close document document.close(); } catch (DocumentException | IOException ex) { Logger.getLogger(RelatorioBanca.class.getName()).log(Level.SEVERE, null, ex); } //return stream com dados return baos; }
From source file:Report.RelatorioCurso.java
/** * Funo para gerar o stream do relatrio anual de atividades * * @param proforiseparada//from ww w.jav a 2 s. co m * @param sm * @param sa * @param am * @param aa * @param dtinicial * @param dtfinal * @param ano * @param cursoNome * @param coordenador * @param campus * @return ByteArrayOutputStream */ public ByteArrayOutputStream relatorioAnualDeAtividades(ArrayList<Professororientacaoseparada> proforiseparada, ArrayList<Sumariomatricula> sm, ArrayList<Sumarioaprovado> sa, ArrayList<Alunomatriculado> am, ArrayList<Alunoaprovado> aa, Date dtinicial, Date dtfinal, String ano, String cursoNome, Professor coordenador, Campus campus) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); FacesContext faces = FacesContext.getCurrentInstance(); // pega o contexto da aplicacao realPath = faces.getExternalContext().getRealPath("/"); //realPath = "C:/Users/Alessandro/Desktop/TCC2/SisGES/build/web"; try { BaseFont fHelvetica = BaseFont.createFont(BaseFont.HELVETICA, "Cp1252", false); BaseFont fHelveticaBOLD = BaseFont.createFont(BaseFont.HELVETICA_BOLD, "Cp1252", false); //---------------------------------------------------------------------- // creation of the document with a certain size and certain margins // may want to use PageSize.LETTER instead Document document = new Document(PageSize.A4, 40, 40, 20, 50); document.addAuthor("SisGES"); // optional document.addSubject("Relatrio"); // opcional document.addKeywords("SisGES"); document.addCreator("iText"); //---------------------------------------------------------------------- // creation of the different writers //PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("web/resources/report/alunosMatriculados.pdf")); PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setBoxSize("header", new Rectangle(36, 54, 559, 788)); //---------------------------------------------------------------------- // ADICIONA HEADER E FOOTER //---------------------------------------------------------------------- HeaderFooter headerFooter = new HeaderFooter(); writer.setPageEvent(headerFooter); //---------------------------------------------------------------------- // ABRE DOCUMENTO PARA ESCRITA //---------------------------------------------------------------------- document.open(); //---------------------------------------------------------------------- //ADICIONAR LOGO NO DOCUMENTO //---------------------------------------------------------------------- Image logoUfu = Image.getInstance(realPath + "/resources/images/logoUFU.png"); logoUfu.scaleAbsolute(57, 56);//(largura,altura) logoUfu.isImgTemplate(); //add no template //logoUfu.setAbsolutePosition(30, 745); //x ,y por referencia do rodape document.add(logoUfu); Image logoFacom = Image.getInstance(realPath + "/resources/images/logoFacom.png"); logoFacom.scaleAbsolute(62, 55);//(largura,altura) logoFacom.setAbsolutePosition(92, 767); //x ,y por referencia do rodape //logoFacom.isImgTemplate(); //add no template document.add(logoFacom); //---------------------------------------------------------------------- //ADICIONAR CABEALHO //---------------------------------------------------------------------- PdfContentByte univ = writer.getDirectContentUnder(); univ.beginText(); univ.setFontAndSize(fHelvetica, 10); univ.setTextMatrix(349, 805); // x e y univ.showText("UNIVERSIDADE FEDERAL DE UBERLNDIA"); univ.setTextMatrix(405, 790); // x e y univ.showText("FACULDADE DE COMPUTAO"); univ.setTextMatrix(403, 775); // x e y univ.showText("COORDENADORIA DE ESTGIO "); univ.endText(); String info = "Campus Universitrio - " + campus.getNomecampus() + " - CEP " + campus.getCep() + " - " + campus.getCidade() + " - " + campus.getEstadosigla().toUpperCase(); Chunk txtCampus = new Chunk(info); Paragraph paragraph0 = new Paragraph(); paragraph0.setSpacingBefore(-10); paragraph0.setFont(new Font(fHelvetica, 7)); paragraph0.add(txtCampus); paragraph0.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph0); info = "Telefone: " + coordenador.getTelefone() + " Email: " + coordenador.getEmail(); Chunk txtCoordenador = new Chunk(info); Paragraph paragraph1 = new Paragraph(); paragraph1.setSpacingBefore(-5); paragraph1.setSpacingAfter(10); paragraph1.setFont(new Font(fHelvetica, 7)); paragraph1.add(txtCoordenador); paragraph1.setAlignment(Element.ALIGN_RIGHT); document.add(paragraph1); //---------------------------------------------------------------------- //ADICIONAR TITULO //---------------------------------------------------------------------- PdfContentByte t1 = writer.getDirectContentUnder(); t1.beginText(); t1.setFontAndSize(fHelveticaBOLD, 12); t1.setTextMatrix(175, 700); // x e y t1.showText("RELATRIO ANUAL DE ATIVIDADES - " + ano); t1.endText(); PdfContentByte t2 = writer.getDirectContentUnder(); t2.beginText(); t2.setFontAndSize(fHelveticaBOLD, 12); t2.setTextMatrix(160, 680); // x e y if (cursoNome.contains("sistema") || cursoNome.contains("Sistemas") || cursoNome.contains("Sistema")) { t2.showText("BACHARELADO EM SISTEMAS DE INFORMAO"); cursoNome = "Sistemas de Informao"; } else if (cursoNome.contains("cincia") || cursoNome.contains("Cincias") || cursoNome.contains("Cincia")) { t2.showText("BACHARELADO EM CINCIA DA COMPUTAO"); cursoNome = "Cincia da Computao"; } else { t2.showText("BACHARELADO EM " + cursoNome.toUpperCase()); } t2.endText(); Paragraph p0 = new Paragraph("1. Introduo"); p0.setSpacingBefore(95); p0.getFont().setStyle(Font.BOLD); p0.getFont().setSize(12); document.add(p0); //---------------------------------------------------------------------- String textoIntro = "Este documento tem o objetivo de apresentar as atividades da coordenao de estgio " + "supervisionado da Faculdade de Computao da Universidade Federal de Uberlndia. As principais " + "atividades desenvolvidas foram:"; Chunk chunk1 = new Chunk(textoIntro); Paragraph paragraph = new Paragraph(); paragraph.setSpacingBefore(20); paragraph.setSpacingAfter(10); paragraph.setFont(new Font(fHelvetica, 12)); paragraph.add(chunk1); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph); //lista List overview = new List(false, 10); overview.setAutoindent(true); overview.add("Aprovao dos documentos de matricula do estgio supervisionado;"); overview.add("Alocao de professores orientadores de estgio;"); overview.add( "Matrcula de alunos do curso de " + cursoNome + " na disciplina de estgio supervisionado;"); overview.add("Acompanhamento das atividades do estagirio na empresa;"); overview.add("Aprovao do Relatrio parcial/final do estagirio."); document.add(overview); String textoIntro2 = "Os resultados das atividades listadas so apresentados nas prximas sees."; Chunk chunk2 = new Chunk(textoIntro2); Paragraph paragraph2 = new Paragraph(); paragraph2.setSpacingBefore(10); paragraph2.setSpacingAfter(10); paragraph2.setFont(new Font(fHelvetica, 12)); paragraph2.add(chunk2); paragraph2.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph2); Paragraph p01 = new Paragraph("2. Sumrio das Atividades"); p01.setSpacingBefore(5); p01.getFont().setStyle(Font.BOLD); p01.getFont().setSize(12); document.add(p01); //---------------------------------------------------------------------- //FAZER SUMARIO //---------------------------------------------------------------------- PdfPTable tabelaSumario = new PdfPTable(4); tabelaSumario.setTotalWidth(100f); tabelaSumario.setWidthPercentage(100); float[] widths = { 40, 20, 20, 20 };//largura das colunas tabelaSumario.setWidths(widths); tabelaSumario.setHeaderRows(1); Paragraph l1 = new Paragraph(" "); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); PdfPCell cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.WHITE); cell1.setBorderColor(BaseColor.WHITE); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaSumario.addCell(cell1); l1 = new Paragraph("Matrculas"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); PdfPCell cell2 = new PdfPCell(l1); // celula cell2.setBackgroundColor(BaseColor.LIGHT_GRAY); cell2.setBorderColor(BaseColor.LIGHT_GRAY); cell2.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaSumario.addCell(cell2); l1 = new Paragraph("Aprovaes"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); PdfPCell cell3 = new PdfPCell(l1); // celula cell3.setBackgroundColor(BaseColor.LIGHT_GRAY); cell3.setBorderColor(BaseColor.LIGHT_GRAY); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaSumario.addCell(cell3); l1 = new Paragraph("Reprovaes"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); PdfPCell cell4 = new PdfPCell(l1); // celula cell4.setBackgroundColor(BaseColor.LIGHT_GRAY); cell4.setBorderColor(BaseColor.LIGHT_GRAY); cell4.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaSumario.addCell(cell4); int i = 0; for (Sumariomatricula m : sm) { Sumarioaprovado a = sa.get(i); Paragraph texto = new Paragraph(m.getTipoestagio()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_LEFT); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); if (m.getMatriculas() != null) { texto = new Paragraph(String.valueOf(m.getMatriculas())); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } else { texto = new Paragraph(String.valueOf(0)); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } if (m.getTipoestagio().equalsIgnoreCase("Estgio Obrigatrio") && a.getTipoestagio().equalsIgnoreCase("Estgio Obrigatrio")) { if (a.getAprovados() != null) { //aprovados texto = new Paragraph(String.valueOf(a.getAprovados())); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } else { texto = new Paragraph(String.valueOf(0)); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } //reprovados texto = new Paragraph(String.valueOf(0)); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } else if (m.getTipoestagio().equalsIgnoreCase("Estgio No Obrigatrio") && a.getTipoestagio().equalsIgnoreCase("Estgio No Obrigatrio")) { if (a.getAprovados() != null) { //aprovados texto = new Paragraph(String.valueOf(a.getAprovados())); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } else { texto = new Paragraph(String.valueOf(0)); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } //reprovados texto = new Paragraph(String.valueOf(0)); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaSumario.addCell(cell1); } i++; } tabelaSumario.setSpacingBefore(20); tabelaSumario.setSpacingAfter(20); tabelaSumario.completeRow(); document.add(tabelaSumario); //---------------------------------------------------------------------- //ALUNOS MATRICULADOS //---------------------------------------------------------------------- Paragraph p1 = new Paragraph("3. Alunos Matriculados"); p1.setSpacingBefore(5); p1.getFont().setStyle(Font.BOLD); p1.getFont().setSize(12); document.add(p1); p01 = new Paragraph("Estgio Obrigatrio"); p01.setSpacingBefore(5); p01.getFont().setStyle(Font.BOLD); p01.getFont().setSize(10); document.add(p01); //---------------------------------------------------------------------- //FAZER TABELA ALUNOS MATRICULADOS ESTAGIO OBRIGATORIO //---------------------------------------------------------------------- PdfPTable tabelaAlunoMatriculadoEO = new PdfPTable(4); tabelaAlunoMatriculadoEO.setTotalWidth(100f); tabelaAlunoMatriculadoEO.setWidthPercentage(100); float[] widthsEO = { 20, 30, 30, 20 };//largura das colunas tabelaAlunoMatriculadoEO.setWidths(widthsEO); tabelaAlunoMatriculadoEO.setHeaderRows(1); l1 = new Paragraph("Matrculas"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoEO.addCell(cell1); l1 = new Paragraph("Nome"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoEO.addCell(cell1); l1 = new Paragraph("Orientador"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoEO.addCell(cell1); l1 = new Paragraph("Data de Matrcula"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoEO.addCell(cell1); for (int j = 0; j < am.size(); j++) { Alunomatriculado amat = am.get(j); if (amat.getTipoestagio().equalsIgnoreCase("Estgio Obrigatrio") || amat.getTipoestagio().equalsIgnoreCase("Estgio Obrigatorio") || amat.getTipoestagio().equalsIgnoreCase("Estagio Obrigatorio")) { Paragraph texto = new Paragraph(amat.getMatricula()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoEO.addCell(cell1); texto = new Paragraph(amat.getNome()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoEO.addCell(cell1); texto = new Paragraph(amat.getOrientador()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoEO.addCell(cell1); texto = new Paragraph(CalendarFormat.getDataBRtoDate(amat.getDatamatricula())); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoEO.addCell(cell1); } } tabelaAlunoMatriculadoEO.setSpacingBefore(20); tabelaAlunoMatriculadoEO.setSpacingAfter(20); tabelaAlunoMatriculadoEO.completeRow(); document.add(tabelaAlunoMatriculadoEO); //---------------------------------------------------------------------- //FAZER TABELA ALUNOS MATRICULADOS ESTAGIO NO OBRIGATORIO //---------------------------------------------------------------------- p01 = new Paragraph("Estgio No Obrigatrio"); p01.setSpacingBefore(5); p01.getFont().setStyle(Font.BOLD); p01.getFont().setSize(10); document.add(p01); PdfPTable tabelaAlunoMatriculadoENO = new PdfPTable(4); tabelaAlunoMatriculadoENO.setTotalWidth(100f); tabelaAlunoMatriculadoENO.setWidthPercentage(100); float[] widthsENO = { 20, 30, 30, 20 };//largura das colunas tabelaAlunoMatriculadoENO.setWidths(widthsENO); tabelaAlunoMatriculadoENO.setHeaderRows(1); l1 = new Paragraph("Matrculas"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoENO.addCell(cell1); l1 = new Paragraph("Nome"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoENO.addCell(cell1); l1 = new Paragraph("Orientador"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoENO.addCell(cell1); l1 = new Paragraph("Data de Matrcula"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoMatriculadoENO.addCell(cell1); for (int k = 0; k < am.size(); k++) { Alunomatriculado amat = am.get(k); if (amat.getTipoestagio().equalsIgnoreCase("Estgio No Obrigatrio") || amat.getTipoestagio().equalsIgnoreCase("Estgio No Obrigatorio") || amat.getTipoestagio().equalsIgnoreCase("Estagio No Obrigatorio")) { Paragraph texto = new Paragraph(amat.getMatricula()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoENO.addCell(cell1); texto = new Paragraph(amat.getNome()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoENO.addCell(cell1); texto = new Paragraph(amat.getOrientador()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoENO.addCell(cell1); texto = new Paragraph(CalendarFormat.getDataBRtoDate(amat.getDatamatricula())); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoMatriculadoENO.addCell(cell1); } } tabelaAlunoMatriculadoENO.setSpacingBefore(20); tabelaAlunoMatriculadoENO.setSpacingAfter(20); tabelaAlunoMatriculadoENO.completeRow(); document.add(tabelaAlunoMatriculadoENO); //add nova pagina //document.newPage(); //---------------------------------------------------------------------- //ALUNOS APROVADOS EM ESTAGIO OBRIGATORIO //---------------------------------------------------------------------- p1 = new Paragraph("4. Alunos Aprovados em Estgio Obrigatrio"); p1.setSpacingBefore(20); p1.getFont().setStyle(Font.BOLD); p1.getFont().setSize(12); document.add(p1); PdfPTable tabelaAlunoAprovadoEO = new PdfPTable(5); tabelaAlunoAprovadoEO.setTotalWidth(100f); tabelaAlunoAprovadoEO.setWidthPercentage(100); float[] widthsAprovadoEO = { 20, 30, 30, 10, 10 };//largura das colunas tabelaAlunoAprovadoEO.setWidths(widthsAprovadoEO); tabelaAlunoAprovadoEO.setHeaderRows(1); l1 = new Paragraph("Matrculas"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoAprovadoEO.addCell(cell1); l1 = new Paragraph("Nome"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoAprovadoEO.addCell(cell1); l1 = new Paragraph("Orientador"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoAprovadoEO.addCell(cell1); l1 = new Paragraph("Data de Matrcula"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoAprovadoEO.addCell(cell1); l1 = new Paragraph("Data de Finalizao"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaAlunoAprovadoEO.addCell(cell1); for (int t = 0; t < aa.size(); t++) { Alunoaprovado aprov = aa.get(t); if (aprov.getTipoestagio().equalsIgnoreCase("Estgio Obrigatrio") || aprov.getTipoestagio().equalsIgnoreCase("Estgio Obrigatorio") || aprov.getTipoestagio().equalsIgnoreCase("Estagio Obrigatorio")) { Paragraph texto = new Paragraph(aprov.getMatricula()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoAprovadoEO.addCell(cell1); texto = new Paragraph(aprov.getNome()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoAprovadoEO.addCell(cell1); texto = new Paragraph(aprov.getOrientador()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoAprovadoEO.addCell(cell1); texto = new Paragraph(CalendarFormat.getDataBRtoDate(aprov.getDatamatricula())); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoAprovadoEO.addCell(cell1); texto = new Paragraph(CalendarFormat.getDataBRtoDate(aprov.getDatafinalizacao())); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaAlunoAprovadoEO.addCell(cell1); } } tabelaAlunoAprovadoEO.setSpacingBefore(20); tabelaAlunoAprovadoEO.setSpacingAfter(20); tabelaAlunoAprovadoEO.completeRow(); document.add(tabelaAlunoAprovadoEO); //---------------------------------------------------------------------- //ALUNOS APROVADOS EM ESTAGIO OBRIGATORIO //---------------------------------------------------------------------- p1 = new Paragraph("5. Participao dos professores FACOM"); p1.setSpacingBefore(20); p1.getFont().setStyle(Font.BOLD); p1.getFont().setSize(12); document.add(p1); // PdfPTable tabelaProfOriSeparada = new PdfPTable(3); tabelaProfOriSeparada.setTotalWidth(100f); tabelaProfOriSeparada.setWidthPercentage(100); float[] widths0 = { 60, 20, 20 };//largura das colunas tabelaProfOriSeparada.setWidths(widths0); tabelaProfOriSeparada.setHeaderRows(1); l1 = new Paragraph("Professor"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaProfOriSeparada.addCell(cell1); l1 = new Paragraph("Orientaes Estgio Obrigatrio"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaProfOriSeparada.addCell(cell1); l1 = new Paragraph("Orientaes Estgio No Obrigatrio"); l1.getFont().setStyle(Font.BOLD); l1.getFont().setSize(8); cell1 = new PdfPCell(l1); // celula cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); tabelaProfOriSeparada.addCell(cell1); for (int ii = 0; ii < proforiseparada.size(); ii++) { Professororientacaoseparada profoe = proforiseparada.get(ii); Paragraph texto = new Paragraph(profoe.getNome()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_LEFT); texto.getFont().setSize(8); tabelaProfOriSeparada.addCell(cell1); texto = new Paragraph(profoe.getOrientacoesestobrigatorio().toString()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaProfOriSeparada.addCell(cell1); texto = new Paragraph(profoe.getOrientacoesestnaoobrigatorio().toString()); cell1 = new PdfPCell(texto); // celula cell1.setBorderColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); texto.getFont().setSize(8); tabelaProfOriSeparada.addCell(cell1); } tabelaProfOriSeparada.setSpacingBefore(20); tabelaProfOriSeparada.setSpacingAfter(20); tabelaProfOriSeparada.completeRow(); document.add(tabelaProfOriSeparada); //---------------------------------------------------------------------- p1 = new Paragraph("6. Observaes e Consideraes Finais"); p1.setSpacingBefore(20); p1.getFont().setStyle(Font.BOLD); p1.getFont().setSize(12); document.add(p1); String text6 = "O processo de matrcula, acompanhamento, composio de bancas e " + "defesas ocorreu sem nenhum problema ou acontecimento excepcional."; chunk1 = new Chunk(text6); paragraph = new Paragraph(); paragraph.setSpacingBefore(20); paragraph.setSpacingAfter(10); paragraph.setFont(new Font(fHelvetica, 12)); paragraph.add(chunk1); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraph); document.add(Chunk.NEWLINE); document.add(Chunk.NEWLINE); document.add(Chunk.NEWLINE); //----------------------------------------------------- Paragraph paragraphCab = new Paragraph(); paragraphCab.setSpacingBefore(25); paragraphCab.add("Uberlndia, " + CalendarFormat.getDataPorExtenso(CalendarFormat.getDataSO()) + "."); paragraphCab.setAlignment(Element.ALIGN_JUSTIFIED); document.add(paragraphCab); document.add(Chunk.NEWLINE); //----------------------------------------------------- // distancia do fim da pagina float y = 120f; float x = 160f; //----------------------------------------------------- //linha PdfContentByte linha = writer.getDirectContentUnder(); linha.setLineWidth(1f); // mostrar linha linha.setGrayStroke(0.5f); // 0 = preto, 1 = branco linha.moveTo(x, y); linha.lineTo(450f, y); // ate onde a linha vai linha.stroke(); //assinatura PdfContentByte a0 = writer.getDirectContentUnder(); a0.beginText(); a0.setFontAndSize(fHelvetica, 10); a0.setTextMatrix(x + 50, y - 15); // x e y a0.showText("Prof. " + coordenador.getNome()); a0.endText(); PdfContentByte a1 = writer.getDirectContentUnder(); a1.beginText(); a1.setFontAndSize(fHelvetica, 10); a1.setTextMatrix(x + 50, y - 30); // x e y a1.showText("Coordenao de Estgio Supervisionado"); a1.endText(); //assinatura PdfContentByte a2 = writer.getDirectContentUnder(); a2.beginText(); a2.setFontAndSize(fHelvetica, 10); a2.setTextMatrix(x + 50, y - 45); // x e y a2.showText("SIAPE: " + coordenador.getSiape()); a2.endText(); //---------------------------------------------------------------------- //FIM DO DOCUMENTO //add nova pagina document.newPage(); //close document document.close(); //---------------------------------------------------------------------- } catch (DocumentException | IOException ex) { Logger.getLogger(RelatorioAluno.class.getName()).log(Level.SEVERE, null, ex); } //return stream return baos; }