Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void downloadPdf() throws IOException, DocumentException {
- System.out.println("hi i ma in");
- resultList=examinationDetailsService.readAdmitCardData();
- for(Object[] data:resultList)
- {
- personalDetails=(PersonalDetails)data[0];
- System.out.println("name"+personalDetails.getApplicantName());
- rollNoAssign=(RollNoAssign)data[1];
- System.out.println("rollno"+rollNoAssign.getRollNo());
- examDateAssign=(ExamDateAssign)data[2];
- }
- //Converting Date
- SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy");
- String date = DATE_FORMAT.format(examDateAssign.getExaminationDate());
- // Get the FacesContext
- FacesContext facesContext = FacesContext.getCurrentInstance();
- // Get HTTP response
- HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
- // Set response headers
- response.reset(); // Reset the response in the first place
- response.setHeader("Content-Type", "application/pdf"); // Set only the content type
- // Open response output stream
- OutputStream responseOutputStream = response.getOutputStream();
- Document document = new Document(PageSize.A4, 0, 0, 0, 0);
- PdfWriter.getInstance(document,response.getOutputStream());
- document.open();
- PdfPTable maintable = new PdfPTable(1);
- maintable.setWidthPercentage(90);
- maintable.setSpacingBefore(0f);
- maintable.setSpacingAfter(0f);
- Paragraph ph1 = new Paragraph();
- ph1.add(new Chunk("nnGOVERNMENT OF ASSAM nOFFICE OF THE ELECTRICAL LICENSING BOARD, ASSAMn1", FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.NORMAL)));
- //ph1.add(new Chunk("ST", FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.NORMAL)));
- Chunk superScript = new Chunk("ST", FontFactory.getFont(FontFactory.TIMES_ROMAN, 8, Font.NORMAL));
- superScript.setTextRise(5f);
- ph1.add(superScript);
- ph1.add(new Chunk(" FLOOR, WEST END BLOCK, HOUSEFED COMPLEX,DISPUR, GUWAHATI-781006, ASSAM.", FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.NORMAL)));
- ph1.add(new Chunk("n***n", FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.BOLD)));
- ph1.add(new Chunk("nADMIT CARD", FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.BOLD)));
- PdfPCell heading1 = new PdfPCell(ph1);
- heading1.setBorder(0);
- heading1.setHorizontalAlignment(Element.ALIGN_CENTER);
- heading1.setVerticalAlignment(Element.ALIGN_CENTER);
- maintable.addCell(heading1);
- PdfPTable maintable1 = new PdfPTable(1);
- maintable1.setWidthPercentage(87);
- maintable1.setSpacingBefore(0f);
- maintable1.setSpacingAfter(0f);
- Paragraph ph2 = new Paragraph();
- ph2.add(new Chunk("nnShri/Smti "+personalDetails.getApplicantName()+", Roll No. "+rollNoAssign.getRollNo()+" is hereby "
- + "allowed to appear in the examination for grant of Electrical Supervisor's Certificate of Competency "
- + "to be held at "+ rollNoAssign.getVenue().getName()
- + "as per schedule given below:", FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.NORMAL)));
- ph2.add(new Chunk("nn Viva-voce", FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.BOLD)));
- ph2.add(new Chunk(" test on "+date+ " at 9 AM/12.30 PM ;", FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.NORMAL)));
- ph2.add(new Chunk(" Written", FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.BOLD)));
- ph2.add(new Chunk(" test on __________ at 9 AM.", FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.NORMAL)));
- ph2.add(new Chunk("nnnPlease bring the followings with you while coming for the said examinations: n"
- + "n1.Original copy of Degree/Diploma/ITI Certificate/Supervisor's Certificate of Competency/"
- + "Workmen's Permitnn belonging to you and this Admit Card in original.n"
- + "n2.Detail experience certificate(s) relevant to the part(s) of Supervisor's examination applied for.n"
- + "n3.n"
- + "nnNB: (a) No alteration is allowed in the entries on this Admit Card without the authority of the Board."
- + "n (b) No expense(s) incurred by any candidate will be borne by the Board.nnn", FontFactory.getFont(FontFactory.TIMES_ROMAN, 11, Font.NORMAL)));
- PdfPCell heading2 = new PdfPCell(ph2);
- heading2.setBorder(0);
- heading2.setHorizontalAlignment(Element.ALIGN_JUSTIFIED);
- heading2.setVerticalAlignment(Element.ALIGN_CENTER);
- maintable1.addCell(heading2);
- PdfPTable maintable2 = new PdfPTable(2);
- float[] columnWidths = new float[]{55f, 45f};
- maintable2.setWidths(columnWidths);
- maintable2.setWidthPercentage(84);
- maintable2.setSpacingBefore(0f);
- maintable2.setSpacingAfter(0f);
- Paragraph ph31 = new Paragraph();
- ph31.add(new Chunk("Details furnished by you in the application form and/or examination process are used by the Board"
- + " for further needful, hence, if you feel any correction(s) in the same is/are required, please get those done before"
- + " leaving the examination venue. The Board shall not be under any obligation of removing the difficulties arising later"
- + " on out of incorrect/improper information furnished by you or non-furnishing of required ones.n", FontFactory.getFont(FontFactory.COURIER, 10, Font.NORMAL)));
- PdfPCell heading31 = new PdfPCell(ph31);
- heading31.setBorder(15);
- heading31.setHorizontalAlignment(Element.ALIGN_JUSTIFIED);
- heading31.setVerticalAlignment(Element.ALIGN_LEFT);
- maintable2.addCell(heading31);
- Paragraph ph32 = new Paragraph();
- ph32.add(new Chunk("nnn(Member Secretary)nElectrical Licensing Board,nAssam.", FontFactory.getFont(FontFactory.TIMES_ROMAN, 12, Font.NORMAL)));
- PdfPCell heading32 = new PdfPCell(ph32);
- heading32.setBorder(0);
- heading32.setHorizontalAlignment(Element.ALIGN_CENTER);
- heading32.setVerticalAlignment(Element.ALIGN_CENTER);
- maintable2.addCell(heading32);
- document.add(maintable);
- document.add(maintable1);
- document.add(maintable2);
- document.close();
- /* // Read PDF contents
- URL url = new URL(PDF_URL);
- InputStream pdfInputStream = url.openStream();*/
- // Read PDF contents and write them to the output
- byte[] bytesBuffer = new byte[2048];
- int bytesRead;
- /* while ((bytesRead = pdfInputStream.read(bytesBuffer)) > 0) {
- responseOutputStream.write(bytesBuffer, 0, bytesRead);
- }
- */
- Base64 encoder = new Base64();
- byte[] decodedBytes = encoder.o
- // Make sure that everything is out
- responseOutputStream.write(decodedBytes);
- responseOutputStream.flush();
- // Close both streams
- //pdfInputStream.close();
- responseOutputStream.close();
- // JSF doc:
- // Signal the JavaServer Faces implementation that the HTTP response for this request has already been generated
- // (such as an HTTP redirect), and that the request processing lifecycle should be terminated
- // as soon as the current phase is completed.
- facesContext.responseComplete();
- }
- PdfWriter.getInstance(document,response.getOutputStream());
- OutputStream responseOutputStream = response.getOutputStream();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- PdfWriter.getInstance(document, baos);
- byte[] pdf = baos.toByteArray();
- byte[] base64 = Base64.encodeBase64(pdf);
- response.setHeader("Expires", "0");
- response.setHeader("Cache-Control",
- "must-revalidate, post-check=0, pre-check=0");
- response.setHeader("Pragma", "public");
- response.setContentType("application/pdf");
- response.setContentLength(base64.length);
- OutputStream os = response.getOutputStream();
- os.write(base64);
- os.flush();
- os.close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement