List of usage examples for com.itextpdf.text Font Font
public Font(final FontFamily family, final float size, final int style)
From source file:com.gp.cong.logisoft.lcl.report.LclAllBLPdfCreator.java
public PdfPTable addingCommodityValues() throws DocumentException, ParseException, Exception { Font font6 = new Font(FontFamily.COURIER, 6f, Font.BOLD); Font blackContentNormalFont8 = FontFactory.getFont("Arial", 8f, Font.NORMAL); Paragraph p = null;/*from w ww .j a v a 2 s.co m*/ table = new PdfPTable(5); table.setWidthPercentage(100f); table.setWidths(new float[] { 2.74f, 1f, 6.33f, 1.40f, 1.40f }); cell = new PdfPCell(); cell.setBorder(0); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, " " + ipeHotCodeComments, blackContentNormalFont8); p.setAlignment(Element.ALIGN_LEFT); p.setSpacingAfter(2f); cell.addElement(p); p = new Paragraph(7f, "" + billingType, totalFontQuote); p.setAlignment(Element.ALIGN_CENTER); p.setSpacingAfter(2f); cell.addElement(p); if ("Y".equalsIgnoreCase(receiveKeyValue)) { p = new Paragraph(7f, "*** PLEASE NOTE THAT PAYMENT MUST BE RECEIVED PRIOR TO ISSUING EXPRESS RELEASE / ORIGINAL HBL ***", blackContentNormalFont8); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); } p = new Paragraph(7f, "I HEREBY DECLARE THAT THE ABOVE NAMED MATERIALS ARE PROPERLY CLASSIFIED," + "\n" + "DESCRIBED,PACKAGED, MARKED, AND LABELED, AND ARE IN PROPER CONDITION FOR" + "\n" + "TRANSPORTATION ACCORDING TO THE APPLICABLE REGULATIONS OF THE DEPARTMENT" + "\n" + " OF TRANSPORTATION AND IMO.", font6); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(0); cell.setBorderWidthLeft(0.6f); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); table.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(5); p = new Paragraph(7f, " Declared value per Package if value is More Than $500 Per Package USD___________________________", blackContentNormalFont8); p.setAlignment(Element.ALIGN_CENTER); p.setSpacingBefore(5f); cell.addElement(p); p = new Paragraph(7f, "These Commodities, Technology Or Software Were Exported From the United States in Accordance with the Export " + "Administration Regulations.", blackContentNormalFont8); p.setSpacingBefore(5f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); p = new Paragraph(7f, "Diversion Contrary To U.S. Law Prohibited.", blackContentNormalFont8); p.setSpacingBefore(3f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); table.addCell(cell); return table; }
From source file:com.gp.cong.logisoft.lcl.report.LclConsolidationMiniManifestPdfCreator.java
private Element consolidateTable(String fileId) throws DocumentException, Exception { consolidateTable = new PdfPTable(8); consolidateTable.setWidthPercentage(99f); consolidateTable.setWidths(new float[] { 1f, 2f, 1f, 1f, 1f, 1f, 2f, 2f }); int pieceTotal = 0; DecimalFormat df = new DecimalFormat("0.00"); Double cftTotal = 0.0;/*from w ww .j a va 2 s . c o m*/ Double kgsToatl = 0.0; Paragraph p = null; Font blackStarSize = new Font(Font.FontFamily.COURIER, 9f, Font.BOLD); if (CommonUtils.isNotEmpty(fileId)) { LclConsolidateDAO consolidateDAO = new LclConsolidateDAO(); LCLBookingDAO lCLBookingDAO = new LCLBookingDAO(); long fileIDd = Long.parseLong(fileId); List consolidateFileList = consolidateDAO.getConsolidatesFiles(fileIDd); List newList = new ArrayList(); if (null != consolidateFileList && CommonUtils.isNotEmpty(consolidateFileList)) { newList.add(Long.parseLong(fileId)); newList.addAll(consolidateFileList); List<ConsolidationMiniManifestBean> minimanifestBean = lCLBookingDAO.getConsolidateDr(newList); for (ConsolidationMiniManifestBean value : minimanifestBean) { consolidateTable.addCell(makeCellNoBorderFont("", 1f, 8, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("", 1f, 8, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("", 1f, 8, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("D/R", 1f, 0, blackNormalCourierFont10f)); consolidateTable .addCell(makeCellNoBorderFont("Supplier Name", 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("PCS", 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("Type", 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("CFT ", 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("Weight", 1f, 0, blackNormalCourierFont10f)); consolidateTable .addCell(makeCellNoBorderFont("DESCRIPTION ", 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell( makeCellNoBorderFont("PURCHASE ORDER/INVOICE", 1f, 0, blackNormalCourierFont10f)); consigneeCell = new PdfPCell(); consigneeCell.setBorder(0); consigneeCell.setPadding(0f); consigneeCell.setPaddingLeft(-3f); consigneeCell.setPaddingRight(-7f); consigneeCell.setPaddingBottom(4f); consigneeCell.setColspan(19); p = new Paragraph(8f, " ------------- ---------------------------- --------- ---------" + "----------- ------------- ------------- -------------" + "--------------------- -----------------------------", blackStarSize); consigneeCell.addElement(p); consolidateTable.addCell(consigneeCell); String customerpoValue = value.getCustomerPo(); List l = null; if (null != customerpoValue && CommonUtils.isNotEmpty(customerpoValue)) { l = helperClass.wrapAddress(customerpoValue); if (l.isEmpty() || l.size() < 3) { ADDRESS_SIZE += 3; } else { ADDRESS_SIZE += l.size(); } } consolidateTable .addCell(makeCellNoBorderFont(value.getFileNumber(), 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell( makeCellNoBorderFont(value.getSupplierName(), 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont(String.valueOf(value.getPiece()), 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell( makeCellNoBorderFont(value.getPackageName(), 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont( null != value.getCft() ? String.valueOf(df.format(value.getCft())) : "", 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont( null != value.getCft() ? String.valueOf(df.format(value.getKgs())) : "", 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont(value.getComDescrption().toUpperCase(), 1f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont(null != customerpoValue ? customerpoValue : "", 1f, 0, blackNormalCourierFont10f)); consigneeCell = new PdfPCell(); consigneeCell.setBorder(0); consigneeCell.setPadding(0f); consigneeCell.setPaddingLeft(-3f); consigneeCell.setPaddingRight(-7f); consigneeCell.setPaddingBottom(4f); consigneeCell.setColspan(19); p = new Paragraph(8f, " ***********************************************************" + "**************************************************" + "***********************************************************", blackStarSize); consigneeCell.addElement(p); consolidateTable.addCell(consigneeCell); pieceTotal = pieceTotal + value.getPiece(); if (null != value.getCft()) { cftTotal = (cftTotal + value.getCft()); df.format(cftTotal.doubleValue()); } if (null != value.getKgs()) { kgsToatl = kgsToatl + value.getKgs(); df.format(cftTotal.doubleValue()); } } } consolidateTable.addCell(makeCellNoBorderFont("", 2f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("Grand Totals", 2f, 0, blackNormalCourierFont10f)); consolidateTable .addCell(makeCellNoBorderFont(String.valueOf(pieceTotal), 2f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("", 2f, 0, blackNormalCourierFont10f)); consolidateTable.addCell( makeCellNoBorderFont(String.valueOf(df.format(cftTotal)), 2f, 0, blackNormalCourierFont10f)); consolidateTable.addCell( makeCellNoBorderFont(String.valueOf(df.format(kgsToatl)), 2f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("", 2f, 0, blackNormalCourierFont10f)); consolidateTable.addCell(makeCellNoBorderFont("", 2f, 0, blackNormalCourierFont10f)); } return consolidateTable; }
From source file:com.groupecom2015.entitieManager.MessageFacade.java
public void sendBuyingConfirmationEmail(List<ArticlePanier> listArt, CompteUser cu) { Date d = new Date(System.currentTimeMillis()); Font font = new Font(Font.FontFamily.TIMES_ROMAN, 14, Font.BOLD); Font font_2 = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL); Font font_3 = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD); double total = 0.0; String resume = ""; try {//ww w . j av a2s . c om // new File( System.getProperty( "user.home" ) +"/"+ cu.getIdCompte()).mkdirs(); //String FILE = System.getProperty("user.home") +"/"+ cu.getIdCompte()+"/commandeRecu.pdf"; new File("/home/umar/webapp_photo/uploads/" + cu.getIdCompte()).mkdirs(); String FILE = "/home/umar/webapp_photo/uploads/" + cu.getIdCompte() + "/commandRecu.pdf"; Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(FILE)); document.open(); Paragraph para = new Paragraph(); para.add(new Paragraph(d + "")); para.add(new Paragraph("")); para.add(new Paragraph("Bonjour, " + cu.getNom(), font)); para.add(new Paragraph("Veuillez trouvez ci-dessous votre le rsum de vos achat", font)); para.add(new Paragraph("")); for (ArticlePanier l : listArt) { para.add(new Paragraph( "" + l.getArticle().getNomArticle() + " " + l.getArticle().getPrixVenteArticle(), font_2)); total += l.getArticle().getPrixVenteArticle(); resume = resume + "\n" + l.getArticle().getNomArticle() + " " + l.getArticle().getPrixVenteArticle() + "\n"; } para.add(new Paragraph("Total : " + total, font_3)); para.add(new Paragraph("")); para.add(new Paragraph("Nous vous remercions pour votre achat", font_2)); document.add(para); document.close(); } catch (Exception e) { e.printStackTrace(); } //sending email with the pdf attached --> dropped final String from = "ecomgroup2015@gmail.com"; //ecomgroup2015@gmail.com final String to = "" + cu.getEmail(); final String fileUpload = "/uploads/" + cu.getIdCompte() + "/commandRecu.pdf"; try { Properties properties = new Properties(); properties.put("mail.smtp.host", "smtp.gmail.com"); properties.put("mail.smtp.port", "587"); //587 properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.starttls.enable", "true"); Session session = Session.getInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(from, "groupeecom"); } }); javax.mail.Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(javax.mail.Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject("Votre recipiss d'achat"); message.setText("Bonjour " + cu.getNom() + "\n Veuillez trouvez ci-joint votre rsum d'achat\n" + "\n " + resume + " \n" + total); /*BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText("Cher(e) "+cu.getNom()+"\n veuillez trouver ci-joint votre recipiss d'achat"); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); messageBodyPart = new MimeBodyPart(); String filename = "/uploads/"+cu.getIdCompte()+"/commandRecu.pdf"; DataSource source = new FileDataSource(FILE); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(FILE); multipart.addBodyPart(messageBodyPart); // Send the complete message parts message.setContent(multipart);*/ Transport.send(message); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.hrms.struts.Reportsaction.java
public String employeePdf() { HttpServletResponse res = ServletActionContext.getResponse(); Rectangle envelope = new Rectangle(1300, 1300); Document d = new Document(envelope, 10f, 10f, 100f, 0f); ByteArrayOutputStream b = new ByteArrayOutputStream(); d.addTitle("Salary Abstract For the Month of JUNE 2016"); Font ffont = new Font(Font.FontFamily.TIMES_ROMAN, 25, Font.BOLD); try {//from ww w .ja va2s .co m String date = object.getEmpdate(); System.out.println("ssdff" + date); SimpleDateFormat s1 = new SimpleDateFormat("dd-MM-yy"); Date d1 = s1.parse(date); System.out.println("Date is [[[[[[[[[[[[[[[" + d1); Calendar cal = Calendar.getInstance(); cal.setTime(d1); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; System.out.println("Incentives year year isssssssss" + year); String[] monthNames = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; String newmonth = monthNames[month - 1]; Chunk reportTitle = new Chunk("Pay Sheet For the Month of " + newmonth + year, ffont); Phrase p = new Phrase(reportTitle); // p.add(reportTitle); Paragraph para = new Paragraph(); para.add(p); para.setAlignment(Element.ALIGN_CENTER); PdfWriter.getInstance(d, b); Font boldFont = new Font(Font.FontFamily.TIMES_ROMAN, 15, Font.BOLD); // Phrase zzz=new Phrase("S. No",boldFont); Phrase one = new Phrase("Dept Name", boldFont); Phrase two = new Phrase("Days", boldFont); Phrase five = new Phrase("Wage", boldFont); Phrase four = new Phrase("Earn", boldFont); Phrase three = new Phrase("Inc", boldFont); Phrase six = new Phrase("Gross Salary", boldFont); Phrase seven = new Phrase("PF", boldFont); Phrase seven2 = new Phrase("Salary Advance", boldFont); Phrase eight = new Phrase("Cash Loan", boldFont); Phrase nine = new Phrase("Gas Loan", boldFont); Phrase ten = new Phrase("Tra Loan", boldFont); Phrase ten4 = new Phrase("Power", boldFont); Phrase ten5 = new Phrase("Meals", boldFont); Phrase ten6 = new Phrase("Tiffin", boldFont); Phrase ten7 = new Phrase("Tea", boldFont); Phrase ten8 = new Phrase("Store", boldFont); Phrase ten9 = new Phrase("Medicines", boldFont); Phrase ten11 = new Phrase("Cable", boldFont); Phrase one1 = new Phrase("Gas", boldFont); Phrase two1 = new Phrase("Adv2", boldFont); Phrase five1 = new Phrase("Eggs", boldFont); Phrase four1 = new Phrase("Uniform", boldFont); Phrase three1 = new Phrase("Total Deductions", boldFont); Phrase six1 = new Phrase("Net Salary", boldFont); // PdfPCell pdfWordCel1zz= new PdfPCell(); PdfPCell pdfWordCell1 = new PdfPCell(); PdfPCell pdfWordCell2 = new PdfPCell(); PdfPCell pdfWordCell3 = new PdfPCell(); PdfPCell pdfWordCell4 = new PdfPCell(); PdfPCell pdfWordCell5 = new PdfPCell(); PdfPCell pdfWordCell6 = new PdfPCell(); PdfPCell pdfWordCell7 = new PdfPCell(); PdfPCell pdfWordCell8 = new PdfPCell(); PdfPCell pdfWordCell9 = new PdfPCell(); PdfPCell pdfWordCell10 = new PdfPCell(); PdfPCell pdfWordCell11 = new PdfPCell(); PdfPCell pdfWordCell12 = new PdfPCell(); PdfPCell pdfWordCell13 = new PdfPCell(); PdfPCell pdfWordCell14 = new PdfPCell(); PdfPCell pdfWordCell15 = new PdfPCell(); PdfPCell pdfWordCell16 = new PdfPCell(); PdfPCell pdfWordCell17 = new PdfPCell(); PdfPCell pdfWordCell18 = new PdfPCell(); PdfPCell pdfWordCell19 = new PdfPCell(); PdfPCell pdfWordCell20 = new PdfPCell(); PdfPCell pdfWordCell21 = new PdfPCell(); PdfPCell pdfWordCell22 = new PdfPCell(); PdfPCell pdfWordCell23 = new PdfPCell(); PdfPCell pdfWordCell24 = new PdfPCell(); // pdfWordCel1zz.addElement(zzz); pdfWordCell1.addElement(one); pdfWordCell2.addElement(two); pdfWordCell3.addElement(five); pdfWordCell4.addElement(four); pdfWordCell5.addElement(three); pdfWordCell6.addElement(six); pdfWordCell7.addElement(seven); pdfWordCell8.addElement(seven2); pdfWordCell9.addElement(eight); pdfWordCell10.addElement(nine); pdfWordCell11.addElement(ten); pdfWordCell12.addElement(ten4); pdfWordCell13.addElement(ten5); pdfWordCell14.addElement(ten6); pdfWordCell15.addElement(ten7); pdfWordCell16.addElement(ten8); pdfWordCell17.addElement(ten9); pdfWordCell18.addElement(ten11); pdfWordCell19.addElement(one1); pdfWordCell20.addElement(two1); pdfWordCell21.addElement(five1); pdfWordCell22.addElement(four1); pdfWordCell23.addElement(three1); pdfWordCell24.addElement(six1); d.open(); PdfPTable table = new PdfPTable(24); table.setTotalWidth(1250); //table.setWidths(new int[] {40,40}); table.setLockedWidth(true); // table.addCell( pdfWordCel1zz ); table.addCell(pdfWordCell1); table.addCell(pdfWordCell2); table.addCell(pdfWordCell3); table.addCell(pdfWordCell4); table.addCell(pdfWordCell5); table.addCell(pdfWordCell6); table.addCell(pdfWordCell7); table.addCell(pdfWordCell8); table.addCell(pdfWordCell9); table.addCell(pdfWordCell10); table.addCell(pdfWordCell11); table.addCell(pdfWordCell12); table.addCell(pdfWordCell13); table.addCell(pdfWordCell14); table.addCell(pdfWordCell15); table.addCell(pdfWordCell16); table.addCell(pdfWordCell17); table.addCell(pdfWordCell18); table.addCell(pdfWordCell19); table.addCell(pdfWordCell20); table.addCell(pdfWordCell21); table.addCell(pdfWordCell22); table.addCell(pdfWordCell23); table.addCell(pdfWordCell24); Connection connection = null; Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/hrmsdp_10", "root", "nivriti@123"); Statement st = connection.createStatement(); CallableStatement st1 = null; String sql = "{Call deptwise1(?,?)}"; st1 = connection.prepareCall(sql); st1.setString(1, newmonth); st1.setInt(2, year); int days2 = 0; int wage2 = 0; int earn2 = 0; int inc2 = 0; int gross2 = 0; int pf2 = 0; int sal_adv2 = 0; int cash2 = 0; int gasl2 = 0; int tra2 = 0; int power2 = 0; int meals2 = 0; int tiffin2 = 0; int tea2 = 0; int store2 = 0; int medi2 = 0; int cable2 = 0; int gas22 = 0; int adv22 = 0; int eggs2 = 0; int unif2 = 0; int tot_ded2 = 0; int net_sal2 = 0; ResultSet rs = st1.executeQuery(); while (rs.next()) { table.addCell(rs.getString("dept_name")); table.addCell(rs.getString("sum(distinct days)")); table.addCell(rs.getString("wages")); table.addCell(rs.getString("earnings")); table.addCell(rs.getString("increments")); table.addCell(rs.getString("gross_salary")); table.addCell(rs.getString("pf")); table.addCell(rs.getString("salary_advance")); table.addCell(rs.getString("cash_loan")); table.addCell(rs.getString("gas_loan")); table.addCell(rs.getString("tra_loan")); table.addCell(rs.getString("power")); table.addCell(rs.getString("meals")); table.addCell(rs.getString("tiffin")); table.addCell(rs.getString("tea")); table.addCell(rs.getString("store")); table.addCell(rs.getString("medicines")); table.addCell(rs.getString("cable")); table.addCell(rs.getString("gas")); table.addCell(rs.getString("adv2")); table.addCell(rs.getString("eggs")); table.addCell(rs.getString("uniform")); table.addCell(rs.getString("total_deductions")); table.addCell(rs.getString("net_salary")); String days = rs.getString("sum(distinct days)"); String wage = rs.getString("wages"); int wage1 = Integer.parseInt(wage); String earn = (rs.getString("earnings")); int earn1 = Integer.parseInt(earn); String inc = rs.getString("increments"); int inc1 = Integer.parseInt(inc); String gross_sal = rs.getString("gross_salary"); int gross_sal1 = Integer.parseInt(gross_sal); String pf = rs.getString("pf"); int pf1 = Integer.parseInt(pf); String sal_adv = rs.getString("salary_advance"); int sal_adv1 = Integer.parseInt(sal_adv); int cash1 = 0, gas1 = 0, tra1 = 0; try { String cash = rs.getString("cash_loan"); cash1 = Integer.parseInt(cash); System.out.println("Incentives month isssssssss" + newmonth); String gas12 = rs.getString("gas_loan"); gas1 = Integer.parseInt(gas12); String tra = rs.getString("tra_loan"); tra1 = Integer.parseInt(tra); } catch (NumberFormatException nm) { System.out.println("------------------------>" + nm); } String power = rs.getString("power"); int power1 = Integer.parseInt(power); String meals = rs.getString("meals"); int meals1 = Integer.parseInt(meals); String tiffin = rs.getString("tiffin"); int tiffin1 = Integer.parseInt(tiffin); String tea = rs.getString("tea"); int tea1 = Integer.parseInt(tea); String store = rs.getString("store"); int store1 = Integer.parseInt(store); String medicines = rs.getString("medicines"); int medicines1 = Integer.parseInt(medicines); String cable = rs.getString("cable"); int cable1 = Integer.parseInt(cable); String gas2 = rs.getString("gas"); int gas3 = Integer.parseInt(gas2); String adv2 = rs.getString("adv2"); int adv21 = Integer.parseInt(adv2); String egg = rs.getString("eggs"); int egg1 = Integer.parseInt(egg); String uniform = rs.getString("uniform"); int uniform1 = Integer.parseInt(uniform); String tot = rs.getString("total_deductions"); int tot1 = Integer.parseInt(tot); String net = rs.getString("net_salary"); int net1 = Integer.parseInt(net); int days1 = Integer.parseInt(days); System.out.println("ddddddddddddddddddd" + days1); days2 = days1 + days2; System.out.println("ddddddddddddddddddd" + days2); wage2 = wage1 + wage2; earn2 = earn1 + earn2; inc2 = inc1 + inc2; gross2 = gross_sal1 + gross2; pf2 = pf1 + pf2; sal_adv2 = sal_adv1 + sal_adv2; cash2 = cash1 + cash2; gasl2 = gas1 + gasl2; tra2 = tra1 + tra2; power2 = power1 + power2; meals2 = meals1 + meals2; tiffin2 = tiffin1 + tiffin2; tea2 = tea1 + tea2; store2 = store1 + store2; medi2 = medicines1 + medi2; cable2 = cable1 + cable2; gas22 = gas3 + gas22; adv22 = adv21 + adv22; eggs2 = egg1 + eggs2; unif2 = uniform1 + unif2; tot_ded2 = tot1 + tot_ded2; net_sal2 = net1 + net_sal2; } String days3 = Integer.toString(days2); String wage3 = Integer.toString(wage2); String earn3 = Integer.toString(earn2); String inc3 = Integer.toString(inc2); String gross3 = Integer.toString(gross2); String pf3 = Integer.toString(pf2); String sal_adv3 = Integer.toString(sal_adv2); String cash3 = Integer.toString(cash2); String gas13 = Integer.toString(gasl2); String tra3 = Integer.toString(tra2); String power3 = Integer.toString(power2); String meals3 = Integer.toString(meals2); String tiffin3 = Integer.toString(tiffin2); String tea3 = Integer.toString(tea2); String store3 = Integer.toString(store2); String medi3 = Integer.toString(medi2); String cable3 = Integer.toString(cable2); String gas33 = Integer.toString(gas22); String adv33 = Integer.toString(adv22); String eggs3 = Integer.toString(eggs2); String unif3 = Integer.toString(unif2); String tot_ded3 = Integer.toString(tot_ded2); String net_sal3 = Integer.toString(net_sal2); PdfPTable table1 = new PdfPTable(24); Phrase total = new Phrase("TOTAL", boldFont); table1.setTotalWidth(1250); table1.setLockedWidth(true); table1.addCell(total); table1.addCell(days3); table1.addCell(wage3); table1.addCell(earn3); table1.addCell(inc3); table1.addCell(gross3); table1.addCell(pf3); table1.addCell(sal_adv3); table1.addCell(cash3); table1.addCell(gas13); table1.addCell(tra3); table1.addCell(power3); table1.addCell(meals3); table1.addCell(tiffin3); table1.addCell(tea3); table1.addCell(store3); table1.addCell(medi3); table1.addCell(cable3); table1.addCell(gas33); table1.addCell(adv33); table1.addCell(eggs3); table1.addCell(unif3); table1.addCell(tot_ded3); table1.addCell(net_sal3); d.add(para); d.add(Chunk.NEWLINE); d.add(Chunk.NEWLINE); d.add(table); d.add(table1); d.close(); } catch (Exception e) { System.out.println(e); } byte[] bytes = null; bytes = b.toByteArray(); res.setContentLength(bytes.length); if (bytes != null) { inputStream = new ByteArrayInputStream(bytes); } return "success"; }
From source file:com.hrms.struts.Reportsaction.java
public String generateemployees() { // System.out.println(pdf.getEmp_id()); // System.out.println(pdf.getName()); HttpServletResponse res = ServletActionContext.getResponse(); Rectangle envelope = new Rectangle(1300, 1300); Document d = new Document(envelope, 10f, 10f, 100f, 0f); ByteArrayOutputStream b = new ByteArrayOutputStream(); d.addTitle("Salary Abstract For the Month of JUNE 2016"); Font ffont = new Font(Font.FontFamily.TIMES_ROMAN, 25, Font.BOLD); try {//from w ww . j av a 2 s . c o m String date = object.getEmpdate(); System.out.println("ssdff" + date); SimpleDateFormat s1 = new SimpleDateFormat("dd-MM-yy"); Date d1 = s1.parse(date); System.out.println("Date is [[[[[[[[[[[[[[[" + d1); Calendar cal = Calendar.getInstance(); cal.setTime(d1); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; System.out.println("Incentives year year isssssssss" + year); String[] monthNames = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; String newmonth = monthNames[month - 1]; System.out.println("Incentives month isssssssss" + newmonth); Chunk reportTitle = new Chunk("Pay Sheet For the Month of " + newmonth + year, ffont); Phrase p = new Phrase(reportTitle); // p.add(reportTitle); Paragraph para = new Paragraph(); para.add(p); para.setAlignment(Element.ALIGN_CENTER); PdfWriter.getInstance(d, b); PdfWriter.getInstance(d, b); Font boldFont = new Font(Font.FontFamily.TIMES_ROMAN, 15, Font.BOLD); Phrase two = new Phrase("Code No", boldFont); Phrase three = new Phrase("Name", boldFont); Phrase four = new Phrase("Status", boldFont); Phrase five = new Phrase("Dept", boldFont); Phrase six = new Phrase("Days", boldFont); Phrase seven = new Phrase("Wage", boldFont); Phrase eight = new Phrase("Inc", boldFont); Phrase nine = new Phrase("Earn", boldFont); Phrase ten = new Phrase("Inc Amt", boldFont); Phrase eleven = new Phrase("Gross Earn", boldFont); Phrase twelve = new Phrase("PF", boldFont); Phrase thirteen = new Phrase("PPP", boldFont); Phrase fourteen = new Phrase("PF No", boldFont); Phrase fifteen = new Phrase("Sal Advance", boldFont); PdfPCell pdfWordCell2 = new PdfPCell(); PdfPCell pdfWordCell3 = new PdfPCell(); PdfPCell pdfWordCell4 = new PdfPCell(); PdfPCell pdfWordCell5 = new PdfPCell(); PdfPCell pdfWordCell6 = new PdfPCell(); PdfPCell pdfWordCell7 = new PdfPCell(); PdfPCell pdfWordCell8 = new PdfPCell(); PdfPCell pdfWordCell9 = new PdfPCell(); PdfPCell pdfWordCell10 = new PdfPCell(); PdfPCell pdfWordCell11 = new PdfPCell(); PdfPCell pdfWordCell12 = new PdfPCell(); PdfPCell pdfWordCell13 = new PdfPCell(); PdfPCell pdfWordCell14 = new PdfPCell(); PdfPCell pdfWordCell15 = new PdfPCell(); PdfPCell pdfWordCell50 = new PdfPCell(new Phrase("Gas Loan", boldFont)); PdfPCell pdfWordCell16 = new PdfPCell(new Phrase("Cash Loan", boldFont)); PdfPCell pdfWordCell17 = new PdfPCell(new Phrase("Tra Loan", boldFont)); PdfPCell pdfWordCell18 = new PdfPCell(new Phrase("Power", boldFont)); PdfPCell pdfWordCell19 = new PdfPCell(new Phrase("Meals", boldFont)); PdfPCell pdfWordCell20 = new PdfPCell(new Phrase("Tiffin", boldFont)); PdfPCell pdfWordCell21 = new PdfPCell(new Phrase("Tea", boldFont)); PdfPCell pdfWordCell22 = new PdfPCell(new Phrase("Store", boldFont)); PdfPCell pdfWordCell23 = new PdfPCell(new Phrase("Medicine", boldFont)); PdfPCell pdfWordCell24 = new PdfPCell(new Phrase("Cable", boldFont)); PdfPCell pdfWordCell25 = new PdfPCell(new Phrase("Gas", boldFont)); PdfPCell pdfWordCell26 = new PdfPCell(new Phrase("Adv2", boldFont)); PdfPCell pdfWordCell27 = new PdfPCell(new Phrase("Eggs", boldFont)); PdfPCell pdfWordCell28 = new PdfPCell(new Phrase("Uniform", boldFont)); PdfPCell pdfWordCell29 = new PdfPCell(new Phrase("Total Deduction", boldFont)); PdfPCell pdfWordCell30 = new PdfPCell(new Phrase("Net Salary", boldFont)); // PdfPCell pdfWordCell31= new PdfPCell(new Phrase("Signature", boldFont)); pdfWordCell2.addElement(two); pdfWordCell3.addElement(three); pdfWordCell4.addElement(four); pdfWordCell5.addElement(five); pdfWordCell6.addElement(six); pdfWordCell7.addElement(seven); pdfWordCell8.addElement(eight); pdfWordCell9.addElement(nine); pdfWordCell10.addElement(ten); pdfWordCell11.addElement(eleven); pdfWordCell12.addElement(twelve); pdfWordCell13.addElement(thirteen); pdfWordCell14.addElement(fourteen); pdfWordCell15.addElement(fifteen); d.open(); PdfPTable table = new PdfPTable(30); // PdfPTable table1 = new PdfPTable(2); // table.setWidths(new int[]{4,5,6,5,7,5,5,5,4,7,6,4,4,6,8,7,6,6,6,6,4,5,9,5,4,2,2,2,2,2,2}); table.setTotalWidth(1250); table.setWidths(new int[] { 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 45, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 }); table.setLockedWidth(true); // table.addCell( pdfWordCell ); // table.setTotalWidth(1250); // table.setLockedWidth(true); table.addCell(pdfWordCell2); table.addCell(pdfWordCell3); table.addCell(pdfWordCell4); table.addCell(pdfWordCell5); table.addCell(pdfWordCell6); table.addCell(pdfWordCell7); table.addCell(pdfWordCell8); table.addCell(pdfWordCell9); table.addCell(pdfWordCell10); table.addCell(pdfWordCell11); table.addCell(pdfWordCell12); table.addCell(pdfWordCell13); table.addCell(pdfWordCell14); table.addCell(pdfWordCell15); table.addCell(pdfWordCell50); table.addCell(pdfWordCell16); table.addCell(pdfWordCell17); table.addCell(pdfWordCell18); table.addCell(pdfWordCell19); table.addCell(pdfWordCell20); table.addCell(pdfWordCell21); table.addCell(pdfWordCell22); table.addCell(pdfWordCell23); table.addCell(pdfWordCell24); table.addCell(pdfWordCell25); table.addCell(pdfWordCell26); table.addCell(pdfWordCell27); table.addCell(pdfWordCell28); table.addCell(pdfWordCell29); table.addCell(pdfWordCell30); // table.addCell(pdfWordCell31); Connection connection = null; Class.forName("com.mysql.jdbc.Driver"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/hrmsdp_10", "root", "nivriti@123"); // Statement st=connection. createStatement(); Statement st1 = connection.createStatement(); CallableStatement st = null; String sql = "{Call emp_payslip123(?,?)}"; st = connection.prepareCall(sql); st.setString(1, newmonth); st.setInt(2, year); // String sql="Call calc(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; // PreparedStatement st=connection.prepareStatement(sql); // ResultSet rs= st.executeQuery("Call calc(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); ResultSet rs = st.executeQuery(); while (rs.next()) { table.addCell(rs.getString("emp_id")); table.addCell(rs.getString("emp_name")); table.addCell(rs.getString("status")); table.addCell(rs.getString("dept_name")); table.addCell(rs.getString("days")); table.addCell(rs.getString("wage")); table.addCell(rs.getString("inc")); table.addCell(rs.getString("earn")); table.addCell(rs.getString("inc_amount")); table.addCell(rs.getString("gross_salary")); table.addCell(rs.getString("pf")); table.addCell(rs.getString("ppp")); table.addCell(rs.getString("pf_no")); table.addCell(rs.getString("salary_advance")); table.addCell(rs.getString("sum(gas_loan)")); table.addCell(rs.getString("sum(cash_loan)")); table.addCell(rs.getString("sum(tra_loan)")); table.addCell(rs.getString("power")); table.addCell(rs.getString("meals")); table.addCell(rs.getString("tiffin")); table.addCell(rs.getString("tea")); table.addCell(rs.getString("store")); table.addCell(rs.getString("medicines")); table.addCell(rs.getString("cable")); table.addCell(rs.getString("gas")); table.addCell(rs.getString("adv2")); table.addCell(rs.getString("eggs")); table.addCell(rs.getString("uniform")); table.addCell(rs.getString("total_deductions")); table.addCell(rs.getString("net_salary")); // table.addCell(""); // table.addCell(image); } //ResultSet rs1=st1.executeQuery("SELECT sum(days) as days , sum(wage) as wages, sum(earn) as earn ,sum(inc) as inc,sum(gros_earn) as gross_earn,sum(sal_advance) as sal_adv,sum(cash_loan) as cash_loan,sum(gas_loan) as gas_loan,sum(tra_loan) as tra_loan,sum(power) as power,sum(meals) as meals,sum(tiffin) as tiffin,sum(tea) as tea,sum(store) as store,sum(medicines) as medicines,sum(cable) as cable,sum(gas) as gas,sum(adv2) as adv2,sum(eggs) as eggs,sum(uniform) as uniform,sum(total_deduction) as totla_deduction FROM caluclation "); // ResultSet rs1=st1.executeQuery("select sum(days),sum(wage) from caluclation"); // String s1=rs1.getString(1); // table.setTotalWidth(PageSize.LARGE_CROWN_OCTAVO.getWidth()); d.add(para); d.add(Chunk.NEWLINE); d.add(Chunk.NEWLINE); d.add(table); d.close(); } catch (Exception e) { System.out.println(e); } byte[] bytes = null; bytes = b.toByteArray(); res.setContentLength(bytes.length); if (bytes != null) { inputStream = new ByteArrayInputStream(bytes); } return "success"; }
From source file:com.icebreak.p2p.front.controller.trade.download.InvestReceiptPDFCreator.java
/** * ???//from w w w. j a va2 s . c o m * @param tradeId * @param detailId * @param servletPath * @return ? byte[] * @throws Exception */ public byte[] creatFileData4Receipt(long tradeId, long detailId, String servletPath) throws Exception { FileInputStream fis = null; BufferedInputStream buff = null; String fileKey = tradeId + "_" + detailId;//System.currentTimeMillis() + ""; String filePath = servletPath + "/resources/pdf/investReceipt_" + fileKey + ".pdf"; this.receiptFilePath = filePath; File file = new File(filePath); if (!file.exists()) { String timeLimit = ""; String interestRate = ""; String guaranteeName = ""; String investFlowCode = null; String investor = ""; String investorReal = ""; String investorCertNo = ""; String loanner = ""; String loannerReal = ""; String loannerCertNo = ""; String investAmount = ""; String totalAmountStr = ""; String effectiveDate = ""; String expireDate = ""; Trade trade = tradeService.getByTradeId(tradeId); effectiveDate = DateUtil.simpleFormat(trade.getEffectiveDateTime()); expireDate = DateUtil.simpleFormat(trade.getExpireDateTime()); LoanDemandDO loanDemand = loanDemandManager.queryLoanDemandByDemandId(trade.getDemandId()); guaranteeName = loanDemand.getGuaranteeName(); if ("W".equals(loanDemand.getTimeLimitUnit()) || "M".equals(loanDemand.getTimeLimitUnit())) { timeLimit = loanDemand.getTimeLimit() + ""; } else if ("Y".equals(loanDemand.getTimeLimitUnit())) { timeLimit = loanDemand.getTimeLimit() + ""; } else { timeLimit = loanDemand.getTimeLimit() + ""; } interestRate = CommonUtil.mul(loanDemand.getInterestRate(), 100) + "%"; List<UserInvestEntry> userInvests = tradeService.getEntriesByTradeIdAndDetailId(tradeId, detailId); long totalAmount = 0; if (userInvests != null && userInvests.size() > 0) { UserInvestEntry tradeItem = userInvests.get(0); investAmount = MoneyUtil.getFormatAmount(tradeItem.getAmount()); long investorId = userInvests.get(0).getInvestorId(); long loannerId = userInvests.get(0).getLoanerId(); investorCertNo = getCertNoByUserId(investorId); loannerCertNo = getCertNoByUserId(loannerId); investor = userInvests.get(0).getInvestorUserName(); investorReal = userInvests.get(0).getInvestorRealName(); loannerReal = userInvests.get(0).getLoanerRealName(); loanner = userInvests.get(0).getLoanerUserName(); totalAmount = userInvests.get(0).getAmount(); } //? /*interest = caculateInterest(new Money(totalAmount), loanDemand.getInterestRate(), loanDemand.getTimeLimit(), loanDemand.getTimeLimitUnit());*/ long divisionAmount = 0; long profitAmount = 0; List<TradeDetail> details = tradeService.getInvestProfitTrade(detailId); if (details != null && details.size() > 0) { for (TradeDetail detail : details) { divisionAmount += detail.getAmount(); if (detail.getProfitType() > 0) { profitAmount += detail.getAmount(); } } } totalAmount += divisionAmount; TradeFlowCode tradeFlow = tradeService.queryInvestFlowCodesByTradeDetailId(detailId); if (tradeFlow != null) { investFlowCode = tradeFlow.getTradeFlowCode(); } String guaranteeLicenseNo = ""; Map<String, Object> cond = new HashMap<String, Object>(); cond.put("roleId", 8L); cond.put("tradeId", trade.getId()); List<TradeQueryDetail> det = loanDemandManager.getTradeDetailByConditions(cond); if (det != null && det.size() > 0) { tradeFlow = tradeService.queryInvestFlowCodesByTradeDetailId(det.get(0).getId()); if (tradeFlow != null) { guaranteeLicenseNo = tradeFlow.getTradeFlowCode(); } } LoanDemandDO demand = loanDemandManager.queryLoanDemandByDemandId(trade.getDemandId()); long divisionTemplateId = demand.getDivisionTemplateId(); DivisionTemplateLoanDO divisionTemplateLoan = divisionTemplateLoanService .getByBaseId(divisionTemplateId); List<DivsionRuleRole> investRolelist = divisionService .getRuleRole(String.valueOf(divisionTemplateLoan.getInvestTemplateId())); List<DivsionRuleRole> repayRolelist = divisionService .getRuleRole(String.valueOf(divisionTemplateLoan.getRepayTemplateId())); //?? double totalAnnualInterest = 0; investRolelist.addAll(repayRolelist); if (investRolelist != null && investRolelist.size() > 0) { for (DivsionRuleRole druleRole : investRolelist) { if (DivisionPhaseEnum.INVESET_PHASE.code().equals(druleRole.getPhase())) { if ("11".equals(String.valueOf(druleRole.getRoleId()))) { totalAnnualInterest += druleRole.getRule(); } } } } totalAmountStr = MoneyUtil.getFormatAmount(totalAmount); String divisionAmountStr = MoneyUtil.getFormatAmount(divisionAmount); FileOutputStream fos = null; Document doc = new Document(PageSize.A4, 20, 20, 140, 20); try { fos = new FileOutputStream(filePath); PdfWriter writer = PdfWriter.getInstance(doc, fos); doc.open(); // BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font titleChinese = new Font(bfChinese, 20, Font.BOLD); // ? Paragraph title = new Paragraph(AppConstantsUtil.getProductName() + "?", titleChinese);// title.setAlignment(Element.ALIGN_CENTER); // title.setLeading(1f);//?//? doc.add(title); Font fontZH = new Font(bfChinese, 12, Font.NORMAL); float[] widths = { 20f, 30f, 25f, 25f }; PdfPTable table = new PdfPTable(widths); table.setSpacingBefore(20f);// ? table.setTotalWidth(500);// table.setWidthPercentage(100);//%100 // table.getDefaultCell().setBorder(0);// PdfPCell cell; // cell = new PdfPCell(new Paragraph("?",fontZH)); // cell.setColspan(4); // table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(AppConstantsUtil.getPlatformName(), fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(loanDemand.getRepayDivisionWayMsg(), fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(interestRate, fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(timeLimit, fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(guaranteeName, fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell( new Paragraph(StringUtil.nullToEmpty(loanDemand.getGuaranteeLicenseNo()), fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph((loanDemand.getLoanAmount() / 100) + "", fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(loanDemand.getLoanPurpose(), fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(investFlowCode, fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setColspan(2); table.addCell(cell); Paragraph iparas = new Paragraph("??" + investor, fontZH); iparas.add(Chunk.NEWLINE); iparas.add("??" + investorReal); iparas.add(Chunk.NEWLINE); iparas.add("??" + StringUtil.subString(investorCertNo, 7, "****")); iparas.add(Chunk.NEWLINE); iparas.add("?" + effectiveDate); iparas.add(Chunk.NEWLINE); iparas.add("" + expireDate); iparas.add(Chunk.NEWLINE); iparas.add("()" + investAmount); iparas.add(Chunk.NEWLINE); iparas.add("()" + divisionAmountStr); iparas.add(Chunk.NEWLINE); iparas.add("()" + totalAmountStr); cell = new PdfPCell(iparas); cell.setColspan(2); cell.setRowspan(8); cell.setMinimumHeight(120); table.addCell(cell); Paragraph paras = new Paragraph("??" + loanner, fontZH); paras.add(Chunk.NEWLINE); paras.add("??" + loannerReal); paras.add(Chunk.NEWLINE); paras.add("??" + StringUtil.subString(loannerCertNo, 7, "****")); paras.add(Chunk.NEWLINE); paras.add("?" + effectiveDate); paras.add(Chunk.NEWLINE); paras.add("" + expireDate); paras.add(Chunk.NEWLINE); paras.add(Chunk.NEWLINE); paras.add(Chunk.NEWLINE); paras.add("()" + totalAmountStr); cell = new PdfPCell(paras); cell.setColspan(2); cell.setRowspan(8); table.addCell(cell); doc.add(table); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); Paragraph tips = new Paragraph(" ?? ?" + AppConstantsUtil.getPlatformName() + "", fontZH);// tips.setLeading(1f);//?//? doc.add(tips); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); tips = new Paragraph(" ??" + AppConstantsUtil.getPlatformAddress(), fontZH);// tips.setLeading(1f);//?//? doc.add(tips); // XMLWorkerHelper.getInstance().parseXHtml(writer, doc, // new ByteArrayInputStream(str.getBytes())); doc.close(); logger.info("?"); } catch (Exception e) { logger.error("?", e); throw new Exception("?:" + e.getMessage()); } finally { if (fos != null) { fos.close(); } } } byte[] data = new byte[1024]; file = new File(filePath); try { ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] temp = new byte[1024]; int size = 0; fis = new FileInputStream(file); buff = new BufferedInputStream(fis); int i = 0; while ((size = buff.read(temp)) != -1) { out.write(temp, 0, size); i += 1; } data = out.toByteArray(); buff.close(); fis.close(); //file.delete(); if (i == 0 && size == -1) { //PDF file.delete(); } } catch (FileNotFoundException e) { logger.error("?", e); } catch (IOException e) { logger.error("delete file", e); } finally { if (fis != null) { fis.close(); } } return data; }
From source file:com.innoq.iQpdfutil.Main.java
License:Open Source License
/** * This method adds a page number to all pages (except the first one) * from the given input pdf and writes the modified pdf to * the output-stream./*w w w . j a v a2s . com*/ * * <p> * The page number is placed in the center at the bottom of the page. * </p> * * <pre> * +-----+ * | | * | | * | | * | -2- | * +-----+ * </pre> * */ private static void numberPages(PdfReader reader, OutputStream os) throws IOException, DocumentException { PdfStamper stamper = new PdfStamper(reader, os); try { int n = reader.getNumberOfPages(); ColumnText text; PdfContentByte contents; Paragraph paragraph; Font headerFont = new Font(Font.FontFamily.COURIER, 12, Font.NORMAL); for (int i = 2; i <= n; i++) { contents = stamper.getOverContent(i); text = new ColumnText(contents); text.setSimpleColumn(1, 10, PageSize.A4.getWidth() - 1, 30, 1, Element.ALIGN_CENTER); paragraph = new Paragraph(String.format("- %d -", i), headerFont); paragraph.setAlignment(Element.ALIGN_CENTER); text.addElement(paragraph); text.go(); } } finally { try { stamper.close(); } catch (Exception e) { e.printStackTrace(); } } }
From source file:com.iox.rms.mbean.UserBean.java
@SuppressWarnings("deprecation") private byte[] generateInvoiceForCustomerPurchase(CustomerProduct cp) { byte[] data = null; if (cp != null) { Document document = new Document(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try {//w w w. j a va 2 s . c o m PdfWriter writer = PdfWriter.getInstance(document, baos); writer.setPageEvent(new HeaderFooter()); writer.setBoxSize("footer", new Rectangle(36, 54, 559, 788)); if (!document.isOpen()) { document.open(); } document.setPageSize(PageSize.A4); document.addAuthor("AutoLife"); document.addCreationDate(); document.addCreator("AutoLife"); document.addSubject("Invoice"); document.addTitle("Purchase Invoice"); PdfPTable headerTable = new PdfPTable(3); ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance() .getExternalContext().getContext(); String logo = servletContext.getRealPath("") + File.separator + "images" + File.separator + "sattrak-logo.png"; PdfPCell c = new PdfPCell(Image.getInstance(logo)); c.setBorder(0); c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); headerTable.addCell(c); BaseFont helvetica = null; try { helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED); } catch (Exception e) { } Font font = new Font(helvetica, 16, Font.NORMAL | Font.BOLD); c = new PdfPCell(new Paragraph("INVOICE", font)); c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); c.setBorder(0); headerTable.addCell(c); font = new Font(helvetica, 10, Font.NORMAL | Font.BOLD); c = new PdfPCell(new Paragraph("TRANSACTION REF. NO.: " + cp.getPurchaseTranRef(), font)); c.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); c.setBorder(0); headerTable.addCell(c); document.add(headerTable); font = new Font(helvetica, 12, Font.NORMAL | Font.BOLD); Paragraph p = new Paragraph("DETAILS", font); p.setAlignment(Paragraph.ALIGN_CENTER); document.add(p); PdfPTable pdfTable = new PdfPTable(3); font = new Font(helvetica, 8, Font.BOLDITALIC); pdfTable.addCell(new Paragraph("INITIATED DATE", font)); pdfTable.addCell(new Paragraph("PRODUCT", font)); pdfTable.addCell(new Paragraph("AMOUNT", font)); font = new Font(helvetica, 8, Font.NORMAL); pdfTable.addCell( new Paragraph(cp.getPurchaseTransaction().getTranInitDate().toLocaleString(), font)); pdfTable.addCell(new Paragraph(cp.getProductBooked().getDetails(), font)); pdfTable.addCell(new Paragraph("" + cp.getPurchasedAmount(), font)); document.add(pdfTable); document.close(); data = baos.toByteArray(); } catch (Exception ex) { ex.printStackTrace(); } } return data; }
From source file:com.kohmiho.mpsr.export.PDFGenerator.java
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response)// w w w . j a va2 s . c o m */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String mpsrID = request.getParameter("MPSR_ID"); if (null == mpsrID) return; MPSRProjectInfo basicInfo = MPSRProjectInfo.getInstance(mpsrID); MPSRExecutiveSummary exeSummary = MPSRExecutiveSummary.getInstance(mpsrID); MPSRStatusSummary statusSummary = MPSRStatusSummary.getInstance(mpsrID); MPSRFunctionPerformance funcPerform = MPSRFunctionPerformance.getInstance(mpsrID); MPSRCostPerformance costPerform = MPSRCostPerformance.getInstance(mpsrID); MPSRSchedulePerformance[] schedulePerform = MPSRSchedulePerformance.getInstance(mpsrID); MPSRSafety safety = MPSRSafety.getInstance(mpsrID); MPSRAuthorization auth = MPSRAuthorization.getInstance(mpsrID); MPSRBudget budget = MPSRBudget.getInstance(mpsrID); MPSRCostReport[] costRpt = MPSRCostReport.getInstance(mpsrID); MPSRSchedule schedule = MPSRSchedule.getInstance(mpsrID); MPSRMilestone[] milestones = MPSRMilestone.getInstance(mpsrID); MPSRLPE lpe = MPSRLPE.getInstance(mpsrID); MPSRInsidePlantDesign[] ipds = MPSRInsidePlantDesign.getInstance(mpsrID); MPSROutsidePlantDesign[] opds = MPSROutsidePlantDesign.getInstance(mpsrID); MPSRProcure procure = MPSRProcure.getInstance(mpsrID); MPSRApprovedChanges[] approvedChanges = MPSRApprovedChanges.getInstance(mpsrID); MPSRPendingChanges[] pendingChanges = MPSRPendingChanges.getInstance(mpsrID); MPSRInsidePlantConstruction[] ipcs = MPSRInsidePlantConstruction.getInstance(mpsrID); MPSROutsidePlantConstruction[] opcs = MPSROutsidePlantConstruction.getInstance(mpsrID); MPSRAppendix[] appendixs = MPSRAppendix.getInstance(mpsrID); MPSRAttachment[] attachments = MPSRAttachment.getInstance(mpsrID); // response.setContentType("application/pdf"); // response.setHeader("Content-Disposition", // "attachment; filename=\"test.pdf\""); Font fontNormal = null; Font fontCoverTitle = new Font(FontFamily.HELVETICA, 20, Font.BOLD); Font fontCoverTableHeader = new Font(FontFamily.HELVETICA, 16, Font.BOLD); Font fontCoverTableContent = new Font(FontFamily.HELVETICA, 16); Font fontChapterHeader = new Font(FontFamily.HELVETICA, 18, Font.BOLD); Font fontSection1Header = new Font(FontFamily.HELVETICA, 16, Font.BOLD); Font fontSection2Header = new Font(FontFamily.HELVETICA, 14, Font.BOLD); Font fontWork = new Font(FontFamily.HELVETICA, 12, Font.UNDERLINE); Font fontTableCaption = new Font(FontFamily.TIMES_ROMAN, 12, Font.BOLD); Font fontTableColumnHeader = new Font(FontFamily.HELVETICA, 12, Font.BOLD); Font fontTableColumnHeaderYellow = new Font(FontFamily.HELVETICA, 12, Font.BOLD); fontTableColumnHeaderYellow.setColor(BaseColor.YELLOW); Font fontTableRowTitle = new Font(FontFamily.HELVETICA, 12, Font.ITALIC); Font fontTableCellBold = new Font(FontFamily.HELVETICA, 12, Font.BOLD); Font fontTableNote = new Font(FontFamily.HELVETICA, 10, Font.ITALIC); Font fontImageCaption = new Font(FontFamily.TIMES_ROMAN, 9, Font.BOLD); Font fontPOTableHeader = new Font(FontFamily.HELVETICA, 10, Font.BOLD); fontPOTableHeader.setColor(BaseColor.YELLOW); Font fontPOTable = new Font(FontFamily.HELVETICA, 9); Font fontPOTableSummary = new Font(FontFamily.HELVETICA, 9, Font.BOLD); Font fontPageHeader = new Font(FontFamily.HELVETICA, 8); Font fontPageFooter = new Font(FontFamily.HELVETICA, 10); Phrase[] headerTexts = new Phrase[] { new Phrase("ELECTRIC DELIVERY", fontPageHeader), new Phrase("DELIVERY PROJECTS & CONSTRUCTION (DP&C)", fontPageHeader), new Phrase("PROJECT MONTHLY REPORT", fontPageHeader) }; Paragraph paragraph = null; PdfPTable table = null; PdfPCell cell = null; Document document = new Document(DEFAULT_PAGE_SIZE, 36, 36, 9 * 10, 36); ByteArrayOutputStream baosOrig = new ByteArrayOutputStream(); XMLWorkerHelper xmlWorker = XMLWorkerHelper.getInstance(); try { PdfWriter writer = PdfWriter.getInstance(document, baosOrig); writer.setStrictImageSequence(true); writer.setLinearPageMode(); writer.setViewerPreferences(PdfWriter.PageModeUseOutlines | PdfWriter.FitWindow); Image icon = getEmbeddedImage(getServletContext(), "/resource/image/company_logo.png"); document.open(); PdfOutline root = writer.getRootOutline(); // *******************************************************************************************// // addOutline(root, writer, MPSRUI.TREE_0); for (int i = 0; i < 2; i++) { document.add(new Paragraph(" ")); } String[] titles = { " DELIVERY PROJECTS & CONSTRUCTION", "MONTHLY REPORT", basicInfo.getReportMonthYear(), basicInfo.getProjectTitle(), "PROJECT No. " + basicInfo.getProjectDefinition() }; int[] spaceingAfters = { 48, 48, 48, 24, 48 }; for (int i = 0; i < titles.length; i++) { paragraph = new Paragraph(); paragraph.setSpacingAfter(spaceingAfters[i]); paragraph.setFont(fontCoverTitle); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.add(new Chunk(titles[i])); document.add(paragraph); } addCoverImage(document, MPSRUI.getFilePath(mpsrID, basicInfo.getFileName())); document.add(new Paragraph(" ")); table = new PdfPTable(2); table.addCell(new Phrase("Client", fontCoverTableHeader)); table.addCell(new Phrase(basicInfo.getProjectManager(), fontCoverTableContent)); table.addCell(new Phrase("Location", fontCoverTableHeader)); table.addCell(new Phrase(basicInfo.getProjectDirector(), fontCoverTableContent)); document.add(table); // *******************************************************************************************// document.resetPageCount(); document.add(Chunk.NEXTPAGE); writer.setPageEvent(new MPSRPageEventHelper(icon, headerTexts, fontPageFooter)); // *******************************************************************************************// PdfOutline outline1 = addOutline(root, writer, MPSRUI.TREE_1); addSectionTitle(document, MPSRUI.TREE_1, fontChapterHeader, 0, 0, 12); PdfOutline outline2 = addOutline(outline1, writer, "1.1"); addOutline(outline2, writer, MPSRUI.TREE_1_1_1); addSectionTitle(document, MPSRUI.TREE_1_1_1, fontSection2Header, 12, 12, 0); addParagraph(document, writer, xmlWorker, exeSummary.getDesc_1_1_1(), fontNormal, 12, 0, 12); addOutline(outline2, writer, MPSRUI.TREE_1_1_2); addSectionTitle(document, MPSRUI.TREE_1_1_2, fontSection2Header, 12, 12, 0); addParagraph(document, writer, xmlWorker, exeSummary.getDesc_1_1_2(), fontNormal, 12, 0, 12); addOutline(outline2, writer, MPSRUI.TREE_1_1_3); addSectionTitle(document, MPSRUI.TREE_1_1_3, fontSection2Header, 12, 12, 0); addParagraph(document, writer, xmlWorker, exeSummary.getDesc_1_1_3(), fontNormal, 12, 0, 12); addOutline(outline2, writer, MPSRUI.TREE_1_1_4); addSectionTitle(document, MPSRUI.TREE_1_1_4, fontSection2Header, 12, 12, 0); addParagraph(document, writer, xmlWorker, exeSummary.getDesc_1_1_4(), fontNormal, 12, 0, 12); // *******************************************************************************************// // 1.2 Status Summary // *******************************************************************************************// outline2 = addOutline(outline1, writer, MPSRUI.TREE_1_2); addSectionTitle(document, MPSRUI.TREE_1_2, fontSection1Header, 6, 12, 12); paragraph = new Paragraph(); paragraph.add(basicInfo.getProjectTitle()); paragraph.setSpacingAfter(4); document.add(paragraph); table = new PdfPTable(5); table.setTotalWidth(500); table.setLockedWidth(true); table.setWidths(new int[] { 3, 1, 1, 1, 1 }); cell = new PdfPCell( new Phrase("Project #: " + basicInfo.getProjectDefinition(), fontTableColumnHeader)); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); String[] headers = { "Status", "Approved (Include RnC)", "To Date", "At Completion" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeader)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } String[][] cellValues = { { "Budget ($M)", statusSummary.getBudgetStatus(), !"".equals(statusSummary.getBudgetApproved()) ? CURRENCY_FORMATTER .format(Double.parseDouble(statusSummary.getBudgetApproved())) : "", !"".equals(statusSummary.getBudgetToDate()) ? CURRENCY_FORMATTER.format(Double.parseDouble(statusSummary.getBudgetToDate())) : "", !"".equals(statusSummary.getBudgetAtCompletion()) ? CURRENCY_FORMATTER .format(Double.parseDouble(statusSummary.getBudgetAtCompletion())) : "" }, { "Schedule - Duration (months)", statusSummary.getScheduleStatus(), statusSummary.getScheduleApproved(), statusSummary.getScheduleToDate(), statusSummary.getScheduleAtCompletion() }, { "In-Service Date", statusSummary.getInServiceDateStatus(), statusSummary.getInServiceDateApproved(), statusSummary.getInServiceDateToDate(), statusSummary.getInServiceDateAtCompletion() } }; for (int i = 0; i < cellValues.length; i++) { table.addCell(new Phrase(cellValues[i][0])); cell = new PdfPCell(new Phrase(cellValues[i][1])); cell.setBackgroundColor(getBackgroundColor(cellValues[i][1])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); for (int j = 2; j < 5; j++) { cell = new PdfPCell(new Phrase(cellValues[i][j])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); } } document.add(table); // -------------------------------------------------------------------// paragraph = new Paragraph("Legend:"); paragraph.setSpacingAfter(4); paragraph.setIndentationLeft(25); document.add(paragraph); table = new PdfPTable(3); table.setTotalWidth(240); table.setLockedWidth(true); table.setHorizontalAlignment(Element.ALIGN_LEFT); String[] legends = { "On Target", "At Risk", "Off Target" }; for (String legend : legends) { cell = new PdfPCell(new Phrase(legend)); cell.setBackgroundColor(getBackgroundColor(legend)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setMinimumHeight(18); cell.setPadding(0); table.addCell(cell); } paragraph = new Paragraph(); paragraph.add(table); paragraph.setIndentationLeft(25); document.add(paragraph); // *******************************************************************************************// // 1.2.1 Functional Area Performance Indicators // *******************************************************************************************// addOutline(outline2, writer, MPSRUI.TREE_1_2_1); addSectionTitle(document, MPSRUI.TREE_1_2_1, fontSection2Header, 12, 12, 12); table = new PdfPTable(4); table.setTotalWidth(550); table.setLockedWidth(true); table.setWidths(new int[] { 4, 1, 1, 4 }); headers = new String[] { "Activities", "Current Status", "Trend", "Comments (main performance drives)" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeader)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } Image imgArrowUp = getEmbeddedImage(getServletContext(), "/VAADIN/themes/MPSR/img/Arrow_Up.png"); Image imgArrowDown = getEmbeddedImage(getServletContext(), "/VAADIN/themes/MPSR/img/Arrow_Down.png"); Image imgArrowEven = getEmbeddedImage(getServletContext(), "/VAADIN/themes/MPSR/img/Arrow_Even.png"); Image[] images = { imgArrowUp, imgArrowDown, imgArrowEven }; for (Image image : images) { image.scaleToFit(12, 12); } cellValues = new String[][] { { "Project - " + basicInfo.getProjectTitle(), funcPerform.getProjectStatus(), funcPerform.getProjectTrend(), funcPerform.getProjectComment() }, { " Target Budget", funcPerform.getTargetBudgetStatus(), funcPerform.getTargetBudgetTrend(), funcPerform.getTargetBudgetComment() }, { " Safety", funcPerform.getSafetyStatus(), funcPerform.getSafetyTrend(), funcPerform.getSafetyComment() }, { " Licensing & Permitting", funcPerform.getLicensingStatus(), funcPerform.getLicensingTrend(), funcPerform.getLicensingComment() }, { " Corporate Properties", funcPerform.getCorporateStatus(), funcPerform.getCorporateTrend(), funcPerform.getCorporateComment() }, { " Inside Plant Design & Engineering", funcPerform.getIPDEStatus(), funcPerform.getIPDETrend(), funcPerform.getIPDEComment() }, { " Public Outreach", funcPerform.getOutreachStatus(), funcPerform.getOutreachTrend(), funcPerform.getOutreachComment() }, { " Procurement", funcPerform.getProcureStatus(), funcPerform.getProcureTrend(), funcPerform.getProcureComment() }, { " Construction", funcPerform.getConstructionStatus(), funcPerform.getConstructionTrend(), funcPerform.getConstructionComment() }, { " Environmental - Resource Recovery", funcPerform.getEnviromentStatus(), funcPerform.getEnviromentTrend(), funcPerform.getEnviromentComment() }, { " Salvage", funcPerform.getSalvageStatus(), funcPerform.getSalvageTrend(), funcPerform.getSalvageComment() }, { " Withdrawal", funcPerform.getWithdrawalStatus(), funcPerform.getWithdrawalTrend(), funcPerform.getWithdrawalComment() } }; for (int i = 0; i < cellValues.length; i++) { cell = new PdfPCell(new Phrase(cellValues[i][0])); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][1])); cell.setBackgroundColor(getBackgroundColor(cellValues[i][1])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); if ("Up".equals(cellValues[i][2])) { cell = new PdfPCell(imgArrowUp); } else if ("Down".equals(cellValues[i][2])) { cell = new PdfPCell(imgArrowDown); } else if ("Even".equals(cellValues[i][2])) { cell = new PdfPCell(imgArrowEven); } else { cell = new PdfPCell(); } cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][3])); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); } document.add(table); // *******************************************************************************************// document.setPageSize(DEFAULT_PAGE_SIZE.rotate()); document.add(Chunk.NEXTPAGE); addOutline(outline2, writer, MPSRUI.TREE_1_2_2); addSectionTitle(document, MPSRUI.TREE_1_2_2, fontSection2Header, 12, 12, 12); addImage(document, MPSRUI.getFilePath(mpsrID, costPerform.getFileName())); // *******************************************************************************************// // 1.2.3 Schedule Performance // *******************************************************************************************// document.add(Chunk.NEXTPAGE); addOutline(outline2, writer, MPSRUI.TREE_1_2_3); addSectionTitle(document, MPSRUI.TREE_1_2_3, fontSection2Header, 12, 12, 12); table = new PdfPTable(9); table.setTotalWidth(750); table.setLockedWidth(true); table.setWidths(new int[] { 3, 1, 1, 1, 1, 1, 1, 1, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "WBS", "Original Duration", "Remaining Duration", "Baseline Start Date", "Baseline Finish Date", "Start Date", "Finish Date", "Total Float", "Status" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeaderYellow)); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } for (int i = 0; i < schedulePerform.length; i++) { cell = new PdfPCell(new Phrase(schedulePerform[i].getWBS())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(Double.toString(schedulePerform[i].getOriginalDuration()))); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(Double.toString(schedulePerform[i].getRemainingDuration()))); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(schedulePerform[i].getPlannedStartDate())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(schedulePerform[i].getPlannedFinishDate())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(schedulePerform[i].getStartDate())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(schedulePerform[i].getFinishDate())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(schedulePerform[i].getTotalFloat())); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(schedulePerform[i].getStatus())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } table.setHeaderRows(1); document.add(table); // *******************************************************************************************// // 1.3 Project Change Control // *******************************************************************************************// document.setPageSize(DEFAULT_PAGE_SIZE); document.add(Chunk.NEXTPAGE); outline2 = addOutline(outline1, writer, MPSRUI.TREE_1_3); addSectionTitle(document, MPSRUI.TREE_1_3, fontSection1Header, 6, 12, 12); addOutline(outline2, writer, MPSRUI.TREE_1_3_1); addSectionTitle(document, MPSRUI.TREE_1_3_1, fontSection2Header, 12, 12, 0); addParagraph(document, writer, xmlWorker, exeSummary.getDesc_1_3_1(), fontNormal, 12, 0, 12); addOutline(outline2, writer, MPSRUI.TREE_1_3_2); addSectionTitle(document, MPSRUI.TREE_1_3_2, fontSection2Header, 12, 12, 0); addParagraph(document, writer, xmlWorker, exeSummary.getDesc_1_3_2(), fontNormal, 12, 0, 12); // *******************************************************************************************// // 2 Safety // *******************************************************************************************// addOutline(root, writer, MPSRUI.TREE_2); addSectionTitle(document, MPSRUI.TREE_2, fontChapterHeader, 0, 24, 12); addParagraph(document, writer, xmlWorker, safety.getDesc1(), fontNormal, 12, 0, 12); paragraph = new Paragraph("Table 2.1 Project Safety Summary", fontTableCaption); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.setSpacingAfter(6); document.add(paragraph); table = new PdfPTable(3); table.setTotalWidth(300); table.setLockedWidth(true); table.setWidths(new int[] { 1, 1, 1 }); table.setHorizontalAlignment(Element.ALIGN_RIGHT); cell = new PdfPCell(new Phrase("Total Work Hours", fontTableColumnHeaderYellow)); cell.setColspan(3); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); headers = new String[] { "Current Period", "Calendar YTD", "Project To Date" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeader)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } cellValues = new String[][] { { INTEGER_FORMATTER.format(safety.getTotalWorkHoursCurrent()), INTEGER_FORMATTER.format(safety.getTotalWorkHoursYTD()), INTEGER_FORMATTER.format(safety.getTotalWorkHoursPTD()) } }; for (int i = 0; i < cellValues.length; i++) { cell = new PdfPCell(new Phrase(cellValues[i][0])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][1])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][2], fontTableCellBold)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } document.add(table); // ----------------------------------- table = new PdfPTable(4); table.setTotalWidth(500); table.setLockedWidth(true); table.setWidths(new int[] { 2, 1, 1, 1 }); table.setHorizontalAlignment(Element.ALIGN_RIGHT); cell = new PdfPCell(new Phrase("Incidents", fontTableColumnHeaderYellow)); cell.setColspan(4); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cellValues = new String[][] { { "OSHA Recordable", INTEGER_FORMATTER.format(safety.getOshaRecordableCurrent()), INTEGER_FORMATTER.format(safety.getOshaRecordableYTD()), INTEGER_FORMATTER.format(safety.getOshaRecordablePTD()) }, { "First Aid", INTEGER_FORMATTER.format(safety.getFirstAid1Current()), INTEGER_FORMATTER.format(safety.getFirstAid1YTD()), INTEGER_FORMATTER.format(safety.getFirstAid1PTD()) }, { "Near Miss", INTEGER_FORMATTER.format(safety.getNearMissCurrent()), INTEGER_FORMATTER.format(safety.getNearMissYTD()), INTEGER_FORMATTER.format(safety.getNearMissPTD()) }, { "First Aid", INTEGER_FORMATTER.format(safety.getFirstAid2Current()), INTEGER_FORMATTER.format(safety.getFirstAid2YTD()), INTEGER_FORMATTER.format(safety.getFirstAid2PTD()) } }; for (int i = 0; i < cellValues.length; i++) { cell = new PdfPCell(new Phrase(cellValues[i][0], fontTableRowTitle)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][1])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][2])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][3], fontTableCellBold)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } cell = new PdfPCell(new Phrase("*Note - " + safety.getNote(), fontTableNote)); cell.setColspan(4); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); document.add(table); // *******************************************************************************************// // 3 Project Authorization // *******************************************************************************************// addOutline(root, writer, MPSRUI.TREE_3); addSectionTitle(document, MPSRUI.TREE_3, fontChapterHeader, 0, 24, 12); addParagraph(document, writer, xmlWorker, auth.getDesc1(), fontNormal, 12, 0, 12); table = new PdfPTable(10); table.setSpacingBefore(6); table.setTotalWidth(550); table.setLockedWidth(true); table.setWidths(new int[] { 3, 1, 1, 1, 1, 1, 1, 2, 1, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "$ Millions", "Prior", auth.getHeaderYear0(), auth.getHeaderYear1(), auth.getHeaderYear2(), auth.getHeaderYear3(), auth.getHeaderYear4(), auth.getHeaderPostYear(), "Total", "Auth" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeader)); cell.setBackgroundColor(BaseColor.YELLOW); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } cellValues = new String[][] { { "Base", NUMBER_FORMATTER.format(auth.getBasePriorYear()), NUMBER_FORMATTER.format(auth.getBaseYear0()), NUMBER_FORMATTER.format(auth.getBaseYear1()), NUMBER_FORMATTER.format(auth.getBaseYear2()), NUMBER_FORMATTER.format(auth.getBaseYear3()), NUMBER_FORMATTER.format(auth.getBaseYear4()), NUMBER_FORMATTER.format(auth.getBasePostYear()), NUMBER_FORMATTER.format(auth.getBaseTotal()), "" }, { "Risk & Contingency", NUMBER_FORMATTER.format(auth.getRnCPriorYear()), NUMBER_FORMATTER.format(auth.getRnCYear0()), NUMBER_FORMATTER.format(auth.getRnCYear1()), NUMBER_FORMATTER.format(auth.getRnCYear2()), NUMBER_FORMATTER.format(auth.getRnCYear3()), NUMBER_FORMATTER.format(auth.getRnCYear4()), NUMBER_FORMATTER.format(auth.getRnCPostYear()), NUMBER_FORMATTER.format(auth.getRnCTotal()), "" }, { "Total Project " + auth.getTotalProjectDate(), NUMBER_FORMATTER.format(auth.getPriorTotal()), NUMBER_FORMATTER.format(auth.getYear0Total()), NUMBER_FORMATTER.format(auth.getYear1Total()), NUMBER_FORMATTER.format(auth.getYear2Total()), NUMBER_FORMATTER.format(auth.getYear3Total()), NUMBER_FORMATTER.format(auth.getYear4Total()), NUMBER_FORMATTER.format(auth.getPostTotal()), NUMBER_FORMATTER.format(auth.getTotalTotal()), "" }, { "Current Request " + auth.getReq0RequestDate(), NUMBER_FORMATTER.format(auth.getReq0PriorYear()), NUMBER_FORMATTER.format(auth.getReq0Year0()), NUMBER_FORMATTER.format(auth.getReq0Year1()), NUMBER_FORMATTER.format(auth.getReq0Year2()), NUMBER_FORMATTER.format(auth.getReq0Year3()), NUMBER_FORMATTER.format(auth.getReq0Year4()), NUMBER_FORMATTER.format(auth.getReq0PostYear()), NUMBER_FORMATTER.format(auth.getReq0Total()), NUMBER_FORMATTER.format(auth.getReq0Authorization()) }, { "Request Date " + auth.getReq1RequestDate(), NUMBER_FORMATTER.format(auth.getReq1PriorYear()), NUMBER_FORMATTER.format(auth.getReq1Year0()), NUMBER_FORMATTER.format(auth.getReq1Year1()), NUMBER_FORMATTER.format(auth.getReq1Year2()), NUMBER_FORMATTER.format(auth.getReq1Year3()), NUMBER_FORMATTER.format(auth.getReq1Year4()), NUMBER_FORMATTER.format(auth.getReq1PostYear()), NUMBER_FORMATTER.format(auth.getReq1Total()), NUMBER_FORMATTER.format(auth.getReq1Authorization()) }, { "Request Date " + auth.getReq2RequestDate(), NUMBER_FORMATTER.format(auth.getReq2PriorYear()), NUMBER_FORMATTER.format(auth.getReq2Year0()), NUMBER_FORMATTER.format(auth.getReq2Year1()), NUMBER_FORMATTER.format(auth.getReq2Year2()), NUMBER_FORMATTER.format(auth.getReq2Year3()), NUMBER_FORMATTER.format(auth.getReq2Year4()), NUMBER_FORMATTER.format(auth.getReq2PostYear()), NUMBER_FORMATTER.format(auth.getReq2Total()), NUMBER_FORMATTER.format(auth.getReq2Authorization()) }, { "Target Budget", "", "", "", "", "", "", "", auth.getTargetBudget(), "" } }; for (int i = 0; i < cellValues.length; i++) { cell = new PdfPCell(new Phrase(cellValues[i][0])); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); for (int j = 1; j < cellValues[i].length; j++) { cell = new PdfPCell(new Phrase(cellValues[i][j])); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } } document.add(table); // *******************************************************************************************// // 4 Project Budget // *******************************************************************************************// addOutline(root, writer, MPSRUI.TREE_4); addSectionTitle(document, MPSRUI.TREE_4, fontChapterHeader, 0, 24, 12); addParagraph(document, writer, xmlWorker, budget.getDesc1(), fontNormal, 12, 0, 12); table = new PdfPTable(2); table.setSpacingBefore(6); table.setTotalWidth(350); table.setLockedWidth(true); table.setWidths(new int[] { 5, 2 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); cellValues = new String[][] { { "Current Approved Budget (Base + RnC)", CURRENCY_FORMATTER.format(budget.getPMBudget()) + "M" }, { "Approved Phase Funding", CURRENCY_FORMATTER.format(budget.getPMActual()) + "M" }, { "Expended To Date", CURRENCY_FORMATTER.format(budget.getPMCommitment()) + "M" }, { "At Completion", CURRENCY_FORMATTER.format(budget.getPMAdditionalCost()) + "M" } }; for (int i = 0; i < cellValues.length; i++) { cell = new PdfPCell(new Phrase(cellValues[i][0])); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][1])); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } document.add(table); // ---------------------------------------------------- // table 4.1 // ---------------------------------------------------- paragraph = new Paragraph("Table 4.1 Cost Report Summary", fontTableCaption); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.setSpacingAfter(6); document.add(paragraph); table = new PdfPTable(5); table.setTotalWidth(500); table.setLockedWidth(true); table.setWidths(new int[] { 1, 1, 1, 1, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "Work Element", "Description", "Estimate", "Actual", "EAC" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeaderYellow)); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } for (int i = 0; i < costRpt.length; i++) { cell = new PdfPCell(new Phrase(costRpt[i].getWbs())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(costRpt[i].getWbsDesc())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(formatNumberString(costRpt[i].getEstimate()))); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(formatNumberString(costRpt[i].getActual()))); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(formatNumberString(costRpt[i].getEAC()))); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } document.add(table); // *******************************************************************************************// // 5 Project Schedule // *******************************************************************************************// outline1 = addOutline(root, writer, MPSRUI.TREE_5); addSectionTitle(document, MPSRUI.TREE_5, fontChapterHeader, 0, 24, 12); addOutline(outline1, writer, MPSRUI.TREE_5_1); addSectionTitle(document, MPSRUI.TREE_5_1, fontSection1Header, 6, 12, 12); addParagraph(document, writer, xmlWorker, schedule.getDesc_5_1(), fontNormal, 12, 0, 12); addOutline(outline1, writer, MPSRUI.TREE_5_2); addSectionTitle(document, MPSRUI.TREE_5_2, fontSection1Header, 6, 12, 12); addParagraph(document, writer, xmlWorker, schedule.getDesc_5_2(), fontNormal, 12, 0, 12); addOutline(outline1, writer, MPSRUI.TREE_5_3); addSectionTitle(document, MPSRUI.TREE_5_3, fontSection1Header, 6, 12, 12); addParagraph(document, writer, xmlWorker, schedule.getDesc_5_3(), fontNormal, 12, 0, 12); addOutline(outline1, writer, MPSRUI.TREE_5_4); addSectionTitle(document, MPSRUI.TREE_5_4, fontSection1Header, 6, 12, 12); addParagraph(document, writer, xmlWorker, schedule.getDesc_5_4(), fontNormal, 12, 0, 12); // ---------------------------------------------------- // table 5.1 // ---------------------------------------------------- paragraph = new Paragraph("Table 5.1 Planned Scorecard Milestones", fontTableCaption); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.setSpacingAfter(6); document.add(paragraph); table = new PdfPTable(3); table.setTotalWidth(500); table.setLockedWidth(true); table.setWidths(new int[] { 3, 1, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "Milestone", "Planned Date", "Finish Date" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeaderYellow)); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } for (int i = 0; i < milestones.length; i++) { cell = new PdfPCell(new Phrase(milestones[i].getMilestone())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(milestones[i].getPlannedDate())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(milestones[i].getFinishDate())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } document.add(table); // *******************************************************************************************// // 6 License & Permitting, and Environmental Status // *******************************************************************************************// outline1 = addOutline(root, writer, MPSRUI.TREE_6); addSectionTitle(document, MPSRUI.TREE_6, fontChapterHeader, 0, 24, 12); addOutline(outline1, writer, MPSRUI.TREE_6_1); addSectionTitle(document, MPSRUI.TREE_6_1, fontSection1Header, 6, 12, 12); addParagraph(document, writer, xmlWorker, lpe.getDesc_6_1(), fontNormal, 12, 0, 12); outline2 = addOutline(outline1, writer, MPSRUI.TREE_6_2); addSectionTitle(document, MPSRUI.TREE_6_2, fontSection1Header, 6, 12, 12); addOutline(outline2, writer, MPSRUI.TREE_6_2_1); addSectionTitle(document, MPSRUI.TREE_6_2_1, fontSection2Header, 12, 12, 12); addParagraph(document, writer, xmlWorker, lpe.getDesc_6_2_1(), fontNormal, 12, 0, 12); addOutline(outline2, writer, MPSRUI.TREE_6_2_2); addSectionTitle(document, MPSRUI.TREE_6_2_2, fontSection2Header, 12, 12, 12); addParagraph(document, writer, xmlWorker, lpe.getDesc_6_2_2(), fontNormal, 12, 0, 12); // *******************************************************************************************// // 7 Engineering Status // *******************************************************************************************// outline1 = addOutline(root, writer, MPSRUI.TREE_7); addSectionTitle(document, MPSRUI.TREE_7, fontChapterHeader, 0, 24, 12); addOutline(outline1, writer, MPSRUI.TREE_7_1); addSectionTitle(document, MPSRUI.TREE_7_1, fontSection1Header, 6, 12, 12); table = new PdfPTable(5); table.setTotalWidth(500); table.setLockedWidth(true); table.setWidths(new int[] { 2, 1, 1, 1, 3 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "Package", "IFR", "IFC", "Indicator", "Note" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeaderYellow)); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } for (int i = 0; i < ipds.length; i++) { cell = new PdfPCell(new Phrase(ipds[i].getPackage())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(ipds[i].getIFR())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(ipds[i].getIFC())); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(ipds[i].getIndicator())); cell.setBackgroundColor(getBackgroundColor(ipds[i].getIndicator())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(ipds[i].getNote())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); } document.add(table); // -----------------------------------------------------------------------------------// addOutline(outline1, writer, MPSRUI.TREE_7_2); addSectionTitle(document, MPSRUI.TREE_7_2, fontSection1Header, 6, 12, 12); table = new PdfPTable(5); table.setTotalWidth(500); table.setLockedWidth(true); table.setWidths(new int[] { 2, 1, 1, 1, 3 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "Package", "IFR", "IFC", "Indicator", "Note" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontTableColumnHeaderYellow)); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } for (int i = 0; i < opds.length; i++) { cell = new PdfPCell(new Phrase(opds[i].getPackage())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(opds[i].getIFR())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(opds[i].getIFC())); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(opds[i].getIndicator())); cell.setBackgroundColor(getBackgroundColor(opds[i].getIndicator())); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(opds[i].getNote())); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); } document.add(table); // *******************************************************************************************// // 8 Procurement Status // *******************************************************************************************// outline1 = addOutline(root, writer, MPSRUI.TREE_8); addSectionTitle(document, MPSRUI.TREE_8, fontChapterHeader, 0, 24, 12); outline2 = addOutline(outline1, writer, MPSRUI.TREE_8_1); addSectionTitle(document, MPSRUI.TREE_8_1, fontSection1Header, 6, 12, 12); table = new PdfPTable(2); table.setTotalWidth(300); table.setLockedWidth(true); table.setWidths(new int[] { 1, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); cellValues = new String[][] { { "Receipted to Date", CURRENCY_FORMATTER.format(procure.getReceiptedToDate()) }, { "Open Commitments", CURRENCY_FORMATTER.format(procure.getOpenCommitment()) }, { "Total", CURRENCY_FORMATTER.format(procure.getTotalPurchaseOrder()) } }; for (int i = 0; i < cellValues.length; i++) { cell = new PdfPCell(new Phrase(cellValues[i][0])); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); cell = new PdfPCell(new Phrase(cellValues[i][1])); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } document.add(table); addParagraph(document, writer, xmlWorker, procure.getDesc_8_1_B(), fontNormal, 12, 12, 12); outline2 = addOutline(outline1, writer, MPSRUI.TREE_8_2); addSectionTitle(document, MPSRUI.TREE_8_2, fontSection1Header, 6, 12, 12); // ---------------------------------------------------- // section 8.2.1 // ---------------------------------------------------- addOutline(outline2, writer, MPSRUI.TREE_8_2_1); addSectionTitle(document, MPSRUI.TREE_8_2_1, fontSection2Header, 12, 12, 12); addParagraph(document, writer, xmlWorker, procure.getDesc_8_2_1(), fontNormal, 12, 0, 12); table = new PdfPTable(6); table.setTotalWidth(550); table.setLockedWidth(true); table.setWidths(new int[] { 1, 2, 1, 1, 2, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "Purchase Order", "Vendor", "Previous Amount", "This Month Amount", "This Month Description", "Total Amount" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontPOTableHeader)); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } double totalToDate = 0; for (int i = 0; i < approvedChanges.length; i++) { cell = new PdfPCell(new Phrase(approvedChanges[i].getPurchaseOrder(), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(approvedChanges[i].getVendor(), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell( new Phrase(CURRENCY_FORMATTER.format(approvedChanges[i].getPreviousAmount()), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(CURRENCY_FORMATTER.format(approvedChanges[i].getThisMonthAmount()), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(approvedChanges[i].getThisMonthDescription(), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell( new Phrase(CURRENCY_FORMATTER.format(approvedChanges[i].getTotalAmount()), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); totalToDate += approvedChanges[i].getTotalAmount(); } document.add(table); table = new PdfPTable(2); table.setTotalWidth(550); table.setLockedWidth(true); table.setWidths(new int[] { 7, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); cell = new PdfPCell(new Phrase("Total To Date", fontPOTableSummary)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(CURRENCY_FORMATTER.format(totalToDate), fontPOTableSummary)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); document.add(table); // ---------------------------------------------------- // section 8.2.2 // ---------------------------------------------------- addOutline(outline2, writer, MPSRUI.TREE_8_2_2); addSectionTitle(document, MPSRUI.TREE_8_2_2, fontSection2Header, 12, 12, 12); addParagraph(document, writer, xmlWorker, procure.getDesc_8_2_2(), fontNormal, 12, 0, 12); table = new PdfPTable(6); table.setTotalWidth(550); table.setLockedWidth(true); table.setWidths(new int[] { 1, 2, 1, 1, 2, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); headers = new String[] { "Purchase Order", "Vendor", "Previous Amount", "This Month Amount", "This Month Description", "Total Amount" }; for (String header : headers) { cell = new PdfPCell(new Phrase(header, fontPOTableHeader)); cell.setBackgroundColor(BaseColor.BLUE); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell); } totalToDate = 0; for (int i = 0; i < pendingChanges.length; i++) { cell = new PdfPCell(new Phrase(pendingChanges[i].getPurchaseOrder(), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(pendingChanges[i].getVendor(), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell( new Phrase(CURRENCY_FORMATTER.format(pendingChanges[i].getPreviousAmount()), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell( new Phrase(CURRENCY_FORMATTER.format(pendingChanges[i].getThisMonthAmount()), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(pendingChanges[i].getThisMonthDescription(), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell( new Phrase(CURRENCY_FORMATTER.format(pendingChanges[i].getTotalAmount()), fontPOTable)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); totalToDate += pendingChanges[i].getTotalAmount(); } document.add(table); table = new PdfPTable(2); table.setTotalWidth(550); table.setLockedWidth(true); table.setWidths(new int[] { 7, 1 }); table.setHorizontalAlignment(Element.ALIGN_CENTER); cell = new PdfPCell(new Phrase("Total To Date", fontPOTableSummary)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); cell = new PdfPCell(new Phrase(CURRENCY_FORMATTER.format(totalToDate), fontPOTableSummary)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_TOP); table.addCell(cell); document.add(table); // *******************************************************************************************// // 9 Construction Status // *******************************************************************************************// outline1 = addOutline(root, writer, MPSRUI.TREE_9); addSectionTitle(document, MPSRUI.TREE_9, fontChapterHeader, 0, 24, 12); addOutline(outline1, writer, MPSRUI.TREE_9_1); addSectionTitle(document, MPSRUI.TREE_9_1, fontSection1Header, 6, 12, 12); for (int i = 0; i < ipcs.length; i++) { addParagraph(document, writer, xmlWorker, ipcs[i].getWork(), fontWork, 12, 12, 0); addParagraph(document, writer, xmlWorker, ipcs[i].getDescription(), fontNormal, 12, 0, 0); addImage(document, MPSRUI.getFilePath(mpsrID, ipcs[i].getFileName()), "Figure " + ipcs[i].getFigure() + " " + ipcs[i].getTitle(), fontImageCaption, 12, 3, 12); } // -----------------------------------------------------------------------------------------// addOutline(outline1, writer, MPSRUI.TREE_9_2); addSectionTitle(document, MPSRUI.TREE_9_2, fontSection1Header, 6, 12, 12); for (int i = 0; i < opcs.length; i++) { addParagraph(document, writer, xmlWorker, opcs[i].getWork(), fontWork, 12, 12, 0); addParagraph(document, writer, xmlWorker, opcs[i].getDescription(), fontNormal, 12, 0, 0); addImage(document, MPSRUI.getFilePath(mpsrID, opcs[i].getFileName()), "Figure " + opcs[i].getFigure() + " " + opcs[i].getTitle(), fontImageCaption, 12, 3, 12); } // *******************************************************************************************// // Appendix // *******************************************************************************************// if (appendixs.length > 0) { document.add(Chunk.NEXTPAGE); outline1 = addOutline(root, writer, MPSRUI.TREE_APPENDIX); for (int i = 0; i < appendixs.length; i++) { addOutline(outline1, writer, "Appendix " + appendixs[i].getNumber() + " " + appendixs[i].getTitle()); addSectionTitle(document, "Appendix " + appendixs[i].getNumber() + " " + appendixs[i].getTitle(), fontChapterHeader, 0, 12, 12); addParagraph(document, writer, xmlWorker, appendixs[i].getDescription(), fontNormal, 12, 0, 0); importPages(document, writer, mpsrID, appendixs[i].getFileName()); } } // *******************************************************************************************// // Attachment // *******************************************************************************************// if (attachments.length > 0) { document.setPageSize(DEFAULT_PAGE_SIZE); document.add(Chunk.NEXTPAGE); outline1 = addOutline(root, writer, MPSRUI.TREE_ATTACHMENT); for (int i = 0; i < attachments.length; i++) { addOutline(outline1, writer, "Attachment " + attachments[i].getNumber() + " " + attachments[i].getTitle()); addSectionTitle(document, "Attachment " + attachments[i].getNumber() + " " + attachments[i].getTitle(), fontChapterHeader, 0, 12, 12); addParagraph(document, writer, xmlWorker, attachments[i].getDescription(), fontNormal, 12, 0, 0); importPages(document, writer, mpsrID, attachments[i].getFileName()); } } document.close(); // *******************************************************************************************// // retrieve outline PdfReader readerOrig = new PdfReader(baosOrig.toByteArray()); // int origNumberOfPages = readerOrig.getNumberOfPages(); ColumnText ct = new ColumnText(null); ct.addElement(new Paragraph("Table of Contents", fontCoverTitle)); List<HashMap<String, Object>> bookmarkList = SimpleBookmark.getBookmark(readerOrig); fillColumnText(bookmarkList, ct, 18, 0, fontSection2Header); // generate TOC after cover page ByteArrayOutputStream baosTOC = new ByteArrayOutputStream(); PdfStamper stamperTOC = new PdfStamper(readerOrig, baosTOC); int tocPageEnd = 1; while (true) { stamperTOC.insertPage(++tocPageEnd, readerOrig.getPageSize(1)); PdfContentByte underContent = stamperTOC.getUnderContent(tocPageEnd); generatePageHeader(document, underContent, icon, headerTexts); ct.setCanvas(stamperTOC.getOverContent(tocPageEnd)); ct.setSimpleColumn(36, 36, 558, 693); if (!ColumnText.hasMoreText(ct.go())) break; } stamperTOC.close(); // change page labels PdfPageLabels labels = new PdfPageLabels(); labels.addPageLabel(1, PdfPageLabels.LOWERCASE_ROMAN_NUMERALS); labels.addPageLabel(tocPageEnd + 1, PdfPageLabels.DECIMAL_ARABIC_NUMERALS); // add labels ByteArrayOutputStream baosFinal = new ByteArrayOutputStream(); PdfReader readerTOC = new PdfReader(baosTOC.toByteArray()); // String selectPages = String.format("1-%s,%s-%s", tocPageEnd, // tocPageEnd + 1, origNumberOfPages + (tocPageEnd - 1)); // readerTOC.selectPages(selectPages); PdfStamper stamperFinal = new PdfStamper(readerTOC, baosFinal); stamperFinal.getWriter().setPageLabels(labels); stamperFinal.close(); // *******************************************************************************************// // send final PDF to browser 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(baosFinal.size()); OutputStream os = response.getOutputStream(); os.write(baosFinal.toByteArray()); os.flush(); os.close(); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:com.norbsoft.pdfconverter.helpers.PDFHelper.java
License:Open Source License
public PDFHelper(Context context, String fontUrl) { this.context = context; try {//from ww w . j a v a2 s .c o m baseFont = BaseFont.createFont(fontUrl, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } normal = new Font(baseFont, 10, Font.NORMAL); bold = new Font(baseFont, 10, Font.BOLD); strike = new Font(baseFont, 10, Font.STRIKETHRU); }