Thursday, February 12, 2015

Java Struts Spring: Create PDF and View on Page

   public String viewE1PDF() {  
     try {  
       portalRole = (String)request.getSession().getAttribute("Portal_Role");  
 //      portalRole = "RCS_WBREG";  
       if (portalRole != null) {  
         ByteArrayInputStream bais;  
         bais = createApprovalSlip();  
         ByteArrayOutputStream baos = new ByteArrayOutputStream();  
         PdfReader pdfReader = new PdfReader(bais);  
         PdfStamper stamper = new PdfStamper(pdfReader, baos);  
         stamper.close();  
         pdfReader.close();  
         pdfReport = new ByteArrayInputStream(baos.toByteArray());  
         pdflength = baos.toByteArray().length;  
         baos.close();  
         return SUCCESS;  
       } else {  
         return "notLogin";  
       }  
     } catch (Exception e) {  
       e.printStackTrace();  
       return ERROR;  
     }  
   }  

   public ByteArrayInputStream createApprovalSlip(){  
     try{  
       ByteArrayOutputStream baos = new ByteArrayOutputStream();  
       Document document = new Document(PageSize.A4);  
       document.addAuthor("Social Security System");  
       document.addCreationDate();  
       document.addCreator("Social Security System");  
       document.addTitle("Approval Slip");  
       PdfWriter writer = PdfWriter.getInstance(document, baos);  
       document.open();  
       ssNum = (String)request.getSession().getAttribute("ssNum");  
       memberStaticBean = registrationFacade.getRcsFacade().getRcStaticDao().searchBySsNum(ssNum);  
       memberName = memberStaticBean.getMemberName();  
       dobth = memberStaticBean.getDobth();  
       purpose = memberStaticBean.getMemberCd();  
       rcsUtils = new RCSUtils();  
       Font fontNormal = new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL);  
       Font fontBold = new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD);  
       Font fontItalic = new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.ITALIC);  
       Format formatter;  
       Date date = new Date();  
       DateFormat df = new SimpleDateFormat("MM/dd/yyyy");  
       String dateToday = df.format(date);  
       formatter = new SimpleDateFormat("hh:mm:ss a");  
       String timeToday = formatter.format(date);  
       Image img = Image.getInstance(new URL("http://" + request.getLocalAddr() +  
                ":" + request.getLocalPort() +  
                request.getContextPath() +  
                "/images/sss_logo.gif"));  
       img.scalePercent(35.0f);  
       img.setAbsolutePosition(35f, 750f);        
       Paragraph par10 = new Paragraph();  
       par10.add(img);  
       par10.setAlignment(Element.ALIGN_LEFT);  
       branchCd = (String)request.getSession().getAttribute("branchCd");  
       String branchDesc = registrationFacade.getRcsFacade().getLibrariesDao().getBrachDescByCode(branchCd);  
       Paragraph par11 = new Paragraph("Republic of the Philippines", fontNormal);  
       par11.setAlignment(Element.ALIGN_CENTER);  
       Paragraph par12 = new Paragraph("GOVERNMENT CONTROLLED CORPORATION", fontBold);  
       par12.setAlignment(Element.ALIGN_CENTER);  
       Paragraph par13 = new Paragraph(branchDesc + " BRANCH", fontNormal);  
       par13.setAlignment(Element.ALIGN_CENTER);  
       Paragraph par14 = new Paragraph("\nDate: " + dateToday, fontNormal);  
       par14.setAlignment(Element.ALIGN_RIGHT);  
       memberStaticBean = registrationFacade.getRcsFacade().getRcStaticDao().getInfoSummary(ssNum);  
       memberName = memberStaticBean.getMemberName();  
       address = memberStaticBean.getAddress();  
       dobth = memberStaticBean.getDobth();  
       purpose = memberStaticBean.getMemberCd();  
       surNm = memberStaticBean.getSurNm();  
       memberCd = memberStaticBean.getMemberCd();  
       salary = memberStaticBean.getSalary();  
       ssNum = rcsUtils.formatSsNumber(ssNum);  
       Paragraph par = new Paragraph("\nMr./Mrs. " + memberName + "\n" + address +  "\nSS Number: " + ssNum + "\n", fontNormal);  
       par.setAlignment(Element.ALIGN_LEFT);  
       Paragraph par1 = new Paragraph("\nDear Mr./Mrs. " + surNm+":\n", fontNormal);  
       par1.setAlignment(Element.ALIGN_LEFT);  
       Paragraph par2 = new Paragraph("\n    We are pleased to inform you that your application has been approved and your assigned Membership number is ", fontNormal);  
       Chunk ch1 = new Chunk(ssNum, fontBold);  
       Chunk ch2 = new Chunk(". This is your lifetime Membership number, which you should use in all your transactions with the GOCC.\n\n", fontNormal);  
       par2.add(ch1);  
       par2.add(ch2);  
       par2.setAlignment(Element.ALIGN_JUSTIFIED);  
       document.add(par10);  
       document.add(par11);  
       document.add(par12);  
       document.add(par13);  
       document.add(par14);  
       document.add(par);  
       document.add(par1);  
       document.add(par2);        
       document.close();  
       pdfReport = new ByteArrayInputStream(baos.toByteArray());  
       baos.close();  
       return pdfReport;  
     }catch(Exception e){  
       e.printStackTrace();  
       return null;  
     }  
   }  

No comments:

Post a Comment