List of usage examples for com.lowagie.text.pdf PdfPCell PdfPCell
public PdfPCell(PdfPCell cell)
PdfPCell
. From source file:com.krawler.spring.exportFunctionality.exportDAOImpl.java
License:Open Source License
public void createInvoicePdf(Document document, int mode, Map<String, Object> DataInfo, Company com, DateFormat formatter, String currencyid, JSONArray productDetails, String preText, String postText, String baseUrl) throws DocumentException, JSONException { // mode 1 = quotation try {//from w w w .j a va 2 s. c om KWLCurrency currencyObj = (KWLCurrency) hibernateTemplate.load(KWLCurrency.class, currencyid); config = new com.krawler.utils.json.base.JSONObject(DataInfo.get("config").toString()); PdfPTable tab2 = null; PdfPTable tab3 = null; PdfPTable mainTable = new PdfPTable(1); mainTable.setWidthPercentage(100); String invno = ""; String theader = ""; double quotationDisc = 0; double quotationtaxamount = 0; String quotationtaxname = ""; double totalAmount = 0; double quotationtaxpercent = 0; Date entryDate = null; String customerName = ""; String shipTo = ""; String memo = ""; // itr = idresult.getEntityList().iterator(); if (mode == 1) { theader = "Quotation"; invno = DataInfo.containsKey("invno") ? DataInfo.get("invno").toString() : ""; entryDate = DataInfo.containsKey("entrydate") ? (Date) DataInfo.get("entrydate") : new Date(); customerName = DataInfo.containsKey("customername") ? DataInfo.get("customername").toString() : ""; shipTo = DataInfo.containsKey("address") ? DataInfo.get("address").toString() : ""; memo = DataInfo.containsKey("memo") ? DataInfo.get("memo").toString() : ""; quotationDisc = DataInfo.containsKey("quotationdisc") ? Double.parseDouble(DataInfo.get("quotationdisc").toString()) : 0; quotationtaxamount = DataInfo.containsKey("quotationtax") ? Double.parseDouble(DataInfo.get("quotationtax").toString()) : 0; quotationtaxname = DataInfo.containsKey("quotationtaxname") ? DataInfo.get("quotationtaxname").toString() : ""; quotationtaxpercent = DataInfo.containsKey("quotationtaxpercent") ? Double.parseDouble(DataInfo.get("quotationtaxpercent").toString()) : 0; totalAmount = DataInfo.containsKey("totalamount") ? Double.parseDouble(DataInfo.get("totalamount").toString()) : 0; } String company[] = new String[4]; company[0] = com.getCompanyName(); company[1] = com.getAddress(); company[2] = com.getEmailID(); company[3] = com.getPhoneNumber(); PdfPTable table1 = new PdfPTable(2); table1.setWidthPercentage(100); table1.setWidths(new float[] { 50, 50 }); tab2 = new PdfPTable(1); PdfPCell invCell = null; invCell = createCell(theader, FontContext.TABLE_HEADER, Element.ALIGN_RIGHT, 0, 5); tab2.addCell(invCell); PdfPCell cel2 = new PdfPCell(tab2); cel2.setBorder(0); table1.addCell(cel2); PdfPCell mainCell11 = new PdfPCell(table1); mainCell11.setBorder(0); mainCell11.setPadding(10); mainTable.addCell(mainCell11); PdfPTable userTable2 = new PdfPTable(2); userTable2.setWidthPercentage(100); userTable2.setWidths(new float[] { 60, 40 }); tab3 = getCompanyInfo(company); PdfPTable tab4 = new PdfPTable(2); tab4.setWidthPercentage(100); tab4.setWidths(new float[] { 30, 70 }); PdfPCell cell2 = createCell(theader + " No.", FontContext.TABLE_HEADER, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); // String invno = mode != StaticValues.AUTONUM_BILLINGINVOICE ? inv.getInvoiceNumber() : inv1.getBillingInvoiceNumber(); cell2 = createCell(": " + invno, FontContext.SMALL_TEXT, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell2 = createCell("DATE ", FontContext.SMALL_TEXT, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); cell2 = createCell(": " + formatter.format(entryDate), FontContext.SMALL_TEXT, Element.ALIGN_LEFT, 0, 5); tab4.addCell(cell2); PdfPCell cell1 = new PdfPCell(tab3); cell1.setBorder(0); userTable2.addCell(cell1); cel2 = new PdfPCell(tab4); cel2.setBorder(0); userTable2.addCell(cel2); PdfPCell mainCell12 = new PdfPCell(userTable2); mainCell12.setBorder(0); mainCell12.setPadding(10); mainTable.addCell(mainCell12); PdfPTable tab5 = new PdfPTable(2); tab5.setWidthPercentage(100); tab5.setWidths(new float[] { 50, 50 }); PdfPCell cell3 = createCell("To, ", FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); // cell3 = createCell("", fontRegularNormal, Element.ALIGN_LEFT, 0, 0); // tab5.addCell(cell3); cell3 = createCell(customerName, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); cell3 = createCell("", FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 0); tab5.addCell(cell3); cell3 = createCell(shipTo, FontContext.TABLE_DATA, Element.ALIGN_LEFT, 0, 5); tab5.addCell(cell3); PdfPCell mainCell14 = new PdfPCell(tab5); mainCell14.setBorder(0); //mainCell14.setPadding(10); mainTable.addCell(mainCell14); getHtmlCell(preText.trim(), mainTable, baseUrl); getHtmlCell("<br>", mainTable, baseUrl); getHtmlCell("<br>", mainTable, baseUrl); String[] header = { "S.No.", "PRODUCT", "DESCRIPTION", "QUANTITY", "UNIT PRICE", "DISCOUNT", "TAX", "LINE TOTAL" }; PdfPTable table = getBlankTable(); PdfPCell invcell = null; for (int i = 0; i < header.length; i++) { invcell = new PdfPCell( new Paragraph(fontFamilySelector.process(header[i], FontContext.TABLE_HEADER))); invcell.setHorizontalAlignment(Element.ALIGN_CENTER); invcell.setBackgroundColor(Color.LIGHT_GRAY); invCell.setBorder(0); invcell.setPadding(3); table.addCell(invcell); } addTableRow(mainTable, table); //Break table after adding header row table = getBlankTable(); String prodName = ""; String subtotal = ""; String quantity = ""; String rate = ""; String description = ""; String discount = ""; String prodtax = ""; int index = 0; double total = 0; for (int cnt = 0; cnt < productDetails.length(); cnt++) { JSONObject productInfo = productDetails.getJSONObject(cnt); prodName = productInfo.getString("productname"); description = productInfo.getString("description"); quantity = productInfo.getString("quantity"); rate = productInfo.getString("orderrate"); subtotal = productInfo.getString("amount"); discount = productInfo.getString("prdiscountamount"); prodtax = productInfo.getString("taxamount"); invcell = createCell((++index) + ".", FontContext.TABLE_DATA, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(prodName, FontContext.TABLE_DATA, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(description, FontContext.TABLE_DATA, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(quantity, FontContext.TABLE_DATA, Element.ALIGN_CENTER, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(currencyRender(rate, currencyObj), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(currencyRender(subtotal, currencyObj), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(currencyRender(prodtax, currencyObj), FontContext.TABLE_DATA, Element.ALIGN_CENTER, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); invcell = createCell(currencyRender(subtotal, currencyObj), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, Rectangle.LEFT + Rectangle.RIGHT, 5); table.addCell(invcell); total += Double.valueOf(subtotal); addTableRow(mainTable, table); //Break table after adding detail's row table = getBlankTable(); } for (int j = 0; j < 98; j++) { invcell = new PdfPCell(new Paragraph(fontFamilySelector.process("", FontContext.TABLE_DATA)));//fontRegularBold)); invcell.setHorizontalAlignment(Element.ALIGN_CENTER); invcell.setBorder(Rectangle.LEFT + Rectangle.RIGHT); table.addCell(invcell); } addTableRow(mainTable, table); //Break table after adding extra space table = getBlankTable(); cell3 = createCell("SUB TOTAL", FontContext.NOTE_TEXT, Element.ALIGN_RIGHT, Rectangle.TOP, 5); cell3.setColspan(7); table.addCell(cell3); cell3 = createCell(currencyRender(String.valueOf(total), currencyObj), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); cell3 = createCell("DISCOUNT(-)", FontContext.NOTE_TEXT, Element.ALIGN_RIGHT, 0, 5); cell3.setColspan(7); table.addCell(cell3); cell3 = calculateDiscount(quotationDisc, currencyObj); table.addCell(cell3); StringBuffer taxNameStr = new StringBuffer(); if (!StringUtil.isNullOrEmpty(quotationtaxname)) { taxNameStr.append(quotationtaxname); taxNameStr.append(" "); taxNameStr.append(quotationtaxpercent); taxNameStr.append("% (+)"); } else { taxNameStr.append("TAX (+)"); } cell3 = createCell(taxNameStr.toString(), FontContext.NOTE_TEXT, Element.ALIGN_RIGHT, 0, 5); cell3.setColspan(7); table.addCell(cell3); cell3 = createCell(currencyRender(String.valueOf(quotationtaxamount), currencyObj), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); cell3 = createCell("TOTAL", FontContext.NOTE_TEXT, Element.ALIGN_RIGHT, 0, 5); cell3.setColspan(7); table.addCell(cell3); cell3 = createCell(currencyRender(String.valueOf(totalAmount), currencyObj), FontContext.TABLE_DATA, Element.ALIGN_RIGHT, 15, 5); table.addCell(cell3); addTableRow(mainTable, table); String netinword = EnglishNumberToWordsOjb.convert(Double.parseDouble(String.valueOf(totalAmount)), currencyObj); String currencyname = currencyObj.getName(); cell3 = createCell("Amount (in words) : " + currencyname + " " + netinword + " Only.", FontContext.HEADER_NOTE, Element.ALIGN_LEFT, Rectangle.LEFT + Rectangle.RIGHT + Rectangle.BOTTOM + Rectangle.TOP, 5); PdfPTable table2 = new PdfPTable(1); table2.addCell(cell3); PdfPCell mainCell62 = new PdfPCell(table2); mainCell62.setBorder(0); mainCell62.setPadding(10); mainTable.addCell(mainCell62); PdfPTable helpTable = new PdfPTable(new float[] { 8, 92 }); helpTable.setWidthPercentage(100); Phrase phrase1 = fontFamilySelector.process("Memo: ", FontContext.NOTE_TEXT); Phrase phrase2 = fontFamilySelector.process(memo, FontContext.TABLE_DATA);//fontRegularBold); PdfPCell pcell1 = new PdfPCell(phrase1); PdfPCell pcell2 = new PdfPCell(phrase2); pcell1.setBorder(0); pcell1.setPadding(10); pcell1.setPaddingRight(0); pcell2.setBorder(0); pcell2.setPadding(10); helpTable.addCell(pcell1); helpTable.addCell(pcell2); PdfPCell mainCell61 = new PdfPCell(helpTable); mainCell61.setBorder(0); mainTable.addCell(mainCell61); getHtmlCell("<br>", mainTable, baseUrl); getHtmlCell("<br>", mainTable, baseUrl); getHtmlCell(postText.trim(), mainTable, baseUrl); document.add(mainTable); } catch (Exception ex) { ex.printStackTrace(); } }
From source file:com.krawler.spring.exportFunctionality.exportDAOImpl.java
License:Open Source License
private PdfPCell createCell(String string, FontContext fontctx, int ALIGN_RIGHT, int i, int padd) { PdfPCell cell = new PdfPCell(new Paragraph(fontFamilySelector.process(string, fontctx))); cell.setHorizontalAlignment(ALIGN_RIGHT); cell.setBorder(i);/*w ww .ja v a 2 s .c o m*/ cell.setPadding(padd); return cell; }
From source file:com.krawler.spring.exportFunctionality.exportDAOImpl.java
License:Open Source License
public PdfPTable getCompanyInfo(String com[]) { PdfPTable tab1 = new PdfPTable(1); tab1.setHorizontalAlignment(Element.ALIGN_CENTER); PdfPCell cell = new PdfPCell(new Paragraph(fontFamilySelector.process(com[0], FontContext.TABLE_DATA)));//fontBoldMedium)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0);/* www.j a v a 2s .co m*/ tab1.addCell(cell); for (int i = 1; i < com.length; i++) { cell = new PdfPCell(new Paragraph(fontFamilySelector.process(com[i], FontContext.TABLE_DATA)));// fontRegularBold)); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(0); tab1.addCell(cell); } return tab1; }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public void addComponyLogo(Document d, HttpServletRequest request) throws ServiceException { try {//from w w w . ja va 2s . com PdfPTable table = new PdfPTable(1); imgPath = getImgPath(request); table.setHorizontalAlignment(Element.ALIGN_LEFT); table.setWidthPercentage(50); PdfPCell cell = null; try { Image img = Image.getInstance(imgPath); cell = new PdfPCell(img); } catch (Exception e) { companyName = sessionHandlerImplObj.getCompanyName(request); cell = new PdfPCell( new Paragraph(fontFamilySelector.process(companyName, FontContext.HEADER_NOTE))); } cell.setBorder(0); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); d.add(table); } catch (Exception e) { throw ServiceException.FAILURE("exportDAOImpl.addComponyLogo", e); } }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public void addTitleSubtitle(Document d) throws ServiceException { try {/* ww w. j a va2 s. c o m*/ java.awt.Color tColor = new Color(Integer.parseInt(config.getString("textColor"), 16)); // fontBold.setColor(tColor); // fontRegular.setColor(tColor); PdfPTable table = new PdfPTable(1); table.setHorizontalAlignment(Element.ALIGN_CENTER); table.setWidthPercentage(100); table.setSpacingBefore(6); //Report Title PdfPCell cell = new PdfPCell(new Paragraph( fontFamilySelector.process(config.getString("title"), FontContext.REPORT_TITLE, tColor))); cell.setBorder(0); cell.setBorderWidth(0); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); //Report Subtitle(s) String[] SubTitles = config.getString("subtitles").split("~");// '~' as separator for (int i = 0; i < SubTitles.length; i++) { cell = new PdfPCell(new Paragraph( (new Phrase(fontFamilySelector.process(SubTitles[i], FontContext.FOOTER_NOTE))))); cell.setBorder(0); cell.setBorderWidth(0); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); } table.setSpacingAfter(6); d.add(table); //Separator line PdfPTable line = new PdfPTable(1); line.setWidthPercentage(100); PdfPCell cell1 = null; cell1 = new PdfPCell(new Paragraph("")); cell1.setBorder(PdfPCell.BOTTOM); line.addCell(cell1); d.add(line); } catch (Exception e) { throw ServiceException.FAILURE("exportDAOImpl.addTitleSubtitle", e); } }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public int addTable(int stcol, int stpcol, int strow, int stprow, JSONArray store, String[] colwidth2, String[] colHeader, String[] widths, String[] align, Document document, HttpServletRequest request) throws ServiceException { try {/* w w w .ja v a2 s . c om*/ DateFormat formatter = authHandlerDAOObj.getUserDateFormatter( sessionHandlerImpl.getDateFormatID(request), sessionHandlerImpl.getTimeZoneDifference(request), true); DateFormat frmt = authHandler.getDateFormatter(request); String currencyid = sessionHandlerImpl.getCurrencyID(request); int mode = Integer.parseInt(request.getParameter("get")); double totalCre = 0; double totalDeb = 0; java.awt.Color tColor = new Color(Integer.parseInt(config.getString("textColor"), 16)); // fontSmallRegular.setColor(tColor); PdfPTable table; float[] tcol; tcol = new float[colHeader.length + 1]; tcol[0] = 40; for (int i = 1; i < colHeader.length + 1; i++) { tcol[i] = Float.parseFloat(widths[i - 1]); } table = new PdfPTable(colHeader.length + 1); table.setWidthPercentage(tcol, document.getPageSize()); table.setSpacingBefore(15); PdfPCell h2 = new PdfPCell(new Paragraph( (new Phrase(fontFamilySelector.process("No.", FontContext.FOOTER_NOTE, tColor))))); if (config.getBoolean("gridBorder")) { h2.setBorder(PdfPCell.BOX); } else { h2.setBorder(0); } h2.setPadding(4); h2.setBorderColor(Color.GRAY); h2.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(h2); PdfPCell h1 = null; for (int hcol = stcol; hcol < colwidth2.length; hcol++) { String headerStr = StringUtil.serverHTMLStripper(colHeader[hcol]); if (align[hcol].equals("currency") && !colHeader[hcol].equals("")) { String currency = currencyRender("", currencyid); h1 = new PdfPCell(new Paragraph((new Phrase(fontFamilySelector .process(headerStr + "(" + currency + ")", FontContext.FOOTER_NOTE, tColor))))); } else { h1 = new PdfPCell(new Paragraph( (new Phrase(fontFamilySelector.process(headerStr, FontContext.FOOTER_NOTE, tColor))))); } h1.setHorizontalAlignment(Element.ALIGN_CENTER); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.BOX); } else { h1.setBorder(0); } h1.setBorderColor(Color.GRAY); h1.setPadding(4); table.addCell(h1); } table.setHeaderRows(1); for (int row = strow; row < stprow; row++) { h2 = new PdfPCell( new Paragraph(fontFamilySelector.process(String.valueOf(row + 1), FontContext.TABLE_DATA))); if (config.getBoolean("gridBorder")) { h2.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h2.setBorder(0); } h2.setPadding(4); h2.setBorderColor(Color.GRAY); h2.setHorizontalAlignment(Element.ALIGN_CENTER); h2.setVerticalAlignment(Element.ALIGN_CENTER); table.addCell(h2); JSONObject temp = store.getJSONObject(row); if (mode == 116 || mode == 117) { totalCre = totalCre + Double .parseDouble(temp.getString("c_amount") != "" ? temp.getString("c_amount") : "0"); totalDeb = totalDeb + Double .parseDouble(temp.getString("d_amount") != "" ? temp.getString("d_amount") : "0"); } for (int col = 0; col < colwidth2.length; col++) { Paragraph para = null; String rowCurrencyId = temp.has("currencyid") ? temp.getString("currencyid") : currencyid; if (align[col].equals("currency") && !temp.getString(colwidth2[col]).equals("")) { String currency = currencyRender(temp.getString(colwidth2[col]), currencyid); para = new Paragraph(fontFamilySelector.process(currency, FontContext.TABLE_DATA)); } else if (align[col].equals("rowcurrency") && !temp.getString(colwidth2[col]).equals("")) { String withCurrency = currencyRender(temp.getString(colwidth2[col]), rowCurrencyId); para = new Paragraph(fontFamilySelector.process(withCurrency, FontContext.TABLE_DATA)); } else if (align[col].equals("date") && !temp.getString(colwidth2[col]).equals("")) { try { String d1 = formatter.format(frmt.parse(temp.getString(colwidth2[col]))); para = new Paragraph(fontFamilySelector.process(d1, FontContext.TABLE_DATA)); } catch (Exception ex) { para = new Paragraph(fontFamilySelector.process(temp.getString(colwidth2[col]), FontContext.TABLE_DATA)); } } else if (colwidth2[col].equals("taxrate") || colwidth2[col].equals("permargin") && !colHeader[col].equals("")) { para = new Paragraph(fontFamilySelector.process( htmlPercentageRender(temp.getString(colwidth2[col]), true), FontContext.TABLE_DATA)); } else { if (colwidth2[col].equals("invoiceno")) { para = new Paragraph(fontFamilySelector.process(temp.getString("no").toString(), FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("invoicedate")) { para = new Paragraph(fontFamilySelector.process(temp.getString("date").toString(), FontContext.TABLE_DATA)); } else if ((temp.isNull(colwidth2[col])) && !(colwidth2[col].equals("invoiceno")) && !(colwidth2[col].equals("invoicedate"))) { para = new Paragraph(fontFamilySelector.process("", FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("c_date")) { para = new Paragraph(fontFamilySelector.process(formatter.format( frmt.parse(temp.getString("c_date").toString() == "" ? temp.getString("d_date") : temp.getString("c_date"))), FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("c_accountname")) { para = new Paragraph( fontFamilySelector.process( temp.getString("c_accountname").toString() == "" ? temp.getString("d_accountname").toString() : temp.getString("c_accountname").toString(), FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("c_entryno")) { para = new Paragraph( fontFamilySelector.process( temp.getString("c_entryno").toString() == "" ? temp.getString("d_entryno").toString() : temp.getString("c_entryno").toString(), FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("d_date")) { para = new Paragraph(fontFamilySelector.process(formatter.format( frmt.parse(temp.getString("d_date").toString() == "" ? temp.getString("c_date") : temp.getString("d_date"))), FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("d_accountname")) { para = new Paragraph( fontFamilySelector.process( temp.getString("d_accountname").toString() == "" ? temp.getString("c_accountname").toString() : temp.getString("d_accountname").toString(), FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("d_entryno")) { para = new Paragraph( fontFamilySelector.process( temp.getString("d_entryno").toString() == "" ? temp.getString("c_entryno").toString() : temp.getString("d_entryno").toString(), FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("perioddepreciation")) { double adj = temp.getDouble("perioddepreciation") - temp.getDouble("firstperiodamt"); String currency = currencyRender("" + adj, currencyid); if (adj < 0.0001) { para = new Paragraph(fontFamilySelector.process("", FontContext.TABLE_DATA)); } else { para = new Paragraph(fontFamilySelector.process(currency, FontContext.TABLE_DATA)); } } else if (colHeader[col].equals("Opening Balance") || colHeader[col].equals("Asset Value")) { String currency = currencyRender("" + Math.abs(temp.getDouble("openbalance")), currencyid); para = new Paragraph(fontFamilySelector.process(currency, FontContext.TABLE_DATA)); } else { if (colHeader[col].equals("Opening Balance Type")) { double bal = Double.parseDouble(temp.getString(colwidth2[col])); String str = bal == 0 ? "" : (bal < 0 ? "Credit" : "Debit"); if (str.equals("")) str = "N/A"; para = new Paragraph(fontFamilySelector.process(str, FontContext.TABLE_DATA)); } else { para = new Paragraph(fontFamilySelector.process( temp.getString(colwidth2[col]).toString(), FontContext.TABLE_DATA)); } } } h1 = new PdfPCell(para); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h1.setBorder(0); } h1.setPadding(4); h1.setBorderColor(Color.GRAY); if (align[col].equals("currency") || align[col].equals("rowcurrency") || colwidth2[col].equals("taxrate") || colwidth2[col].equals("permargin")) { h1.setHorizontalAlignment(Element.ALIGN_RIGHT); h1.setVerticalAlignment(Element.ALIGN_RIGHT); } else if (align[col].equals("date")) { h1.setHorizontalAlignment(Element.ALIGN_CENTER); h1.setVerticalAlignment(Element.ALIGN_CENTER); } else { h1.setHorizontalAlignment(Element.ALIGN_LEFT); h1.setVerticalAlignment(Element.ALIGN_LEFT); } table.addCell(h1); } } if (mode == 116 || mode == 117) { Paragraph para1 = null; PdfPCell h3 = null; String totCr = ""; String totDb = ""; h3 = new PdfPCell(new Paragraph(fontFamilySelector.process("", FontContext.TABLE_DATA))); if (config.getBoolean("gridBorder")) { h3.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT); } else { h3.setBorder(0); } h3.setPadding(4); h3.setBorderColor(Color.GRAY); h3.setBackgroundColor(Color.lightGray); h3.setHorizontalAlignment(Element.ALIGN_CENTER); h3.setVerticalAlignment(Element.ALIGN_CENTER); table.addCell(h3); para1 = new Paragraph(fontFamilySelector.process("Total", FontContext.REPORT_TITLE)); h3 = new PdfPCell(para1); if (config.getBoolean("gridBorder")) { h3.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h3.setBorder(0); } h3.setPadding(4); h3.setBorderColor(Color.GRAY); h3.setBackgroundColor(Color.LIGHT_GRAY); h3.setHorizontalAlignment(Element.ALIGN_LEFT); h3.setVerticalAlignment(Element.ALIGN_LEFT); table.addCell(h3); for (int col = 1; col < colwidth2.length; col++) { if (colwidth2[col].equals("c_amount")) { totCr = currencyRender(String.valueOf(totalCre), currencyid); para1 = new Paragraph(fontFamilySelector.process(totCr, FontContext.TABLE_DATA)); } else if (colwidth2[col].equals("d_amount")) { totDb = currencyRender(String.valueOf(totalDeb), currencyid); para1 = new Paragraph(fontFamilySelector.process(totDb, FontContext.TABLE_DATA)); } else { para1 = new Paragraph(fontFamilySelector.process("", FontContext.TABLE_DATA)); } h3 = new PdfPCell(para1); if (config.getBoolean("gridBorder")) { h3.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h3.setBorder(0); } h3.setPadding(4); h3.setBorderColor(Color.GRAY); h3.setBackgroundColor(Color.LIGHT_GRAY); h3.setHorizontalAlignment(Element.ALIGN_RIGHT); h3.setVerticalAlignment(Element.ALIGN_RIGHT); table.addCell(h3); } } document.add(table); document.newPage(); } catch (Exception e) { throw ServiceException.FAILURE("exportDAOImpl.addTable", e); } return stpcol; }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public int addGroupableTable(JSONObject groupingConfig, String groupByField, String groupHeaderText, int stcol, int stpcol, int strow, int stprow, JSONArray store, String[] dataIndexArr, String[] colHeader, String[] widths, String[] align, Document document, HttpServletRequest request) throws ServiceException { try {//w w w . ja v a 2 s. co m String groupSummaryField = groupingConfig.getString("groupSummaryField"); String groupSummaryText = groupingConfig.getString("groupSummaryText"); String reportSummaryField = groupingConfig.getString("reportSummaryField"); String reportSummaryText = groupingConfig.getString("reportSummaryText"); DateFormat formatter = authHandlerDAOObj.getUserDateFormatter( sessionHandlerImpl.getDateFormatID(request), sessionHandlerImpl.getTimeZoneDifference(request), true); DateFormat frmt = authHandler.getDateFormatter(request); String currencyid = sessionHandlerImpl.getCurrencyID(request); java.awt.Color tColor = new Color(Integer.parseInt(config.getString("textColor"), 16)); java.awt.Color gsBGColor = new Color(Integer.parseInt("E5E5E5", 16)); java.awt.Color rsBGColor = new Color(Integer.parseInt("808080", 16)); // fontRegular.setColor(tColor); PdfPTable table; float[] tcol; tcol = new float[colHeader.length + 1]; tcol[0] = 40; for (int i = 1; i < colHeader.length + 1; i++) { tcol[i] = Float.parseFloat(widths[i - 1]); } table = new PdfPTable(colHeader.length + 1); table.setWidthPercentage(tcol, document.getPageSize()); table.setSpacingBefore(15); PdfPCell h2 = new PdfPCell( new Paragraph(fontFamilySelector.process("No.", FontContext.TABLE_HEADER, tColor))); if (config.getBoolean("gridBorder")) { h2.setBorder(PdfPCell.BOX); } else { h2.setBorder(0); } h2.setPadding(4); h2.setBorderColor(Color.GRAY); h2.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(h2); PdfPCell h1 = null; for (int hcol = stcol; hcol < dataIndexArr.length; hcol++) { if (align[hcol].equals("currency") && !colHeader[hcol].equals("")) { String currency = currencyRender("", currencyid); h1 = new PdfPCell(new Paragraph(fontFamilySelector .process(colHeader[hcol] + "(" + currency + ")", FontContext.TABLE_HEADER, tColor))); } else { h1 = new PdfPCell(new Paragraph( fontFamilySelector.process(colHeader[hcol], FontContext.TABLE_HEADER, tColor))); } h1.setHorizontalAlignment(Element.ALIGN_CENTER); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.BOX); } else { h1.setBorder(0); } h1.setBorderColor(Color.GRAY); h1.setPadding(4); table.addCell(h1); } table.setHeaderRows(1); String groupName = "", rowCurrency = ""; Double subTotal = 0.0; Double grandTotal = 0.0; int rowSpan = 0; for (int row = strow; row < stprow; row++) { rowSpan++; JSONObject rowData = store.getJSONObject(row); if (row == 0) { groupName = rowData.getString(groupByField); rowCurrency = rowData.has("currencyid") ? rowData.getString("currencyid") : currencyid; subTotal = 0.0; addGroupRow(groupHeaderText + ": " + groupName, currencyid, table, dataIndexArr); } if (!groupName.equalsIgnoreCase(rowData.getString(groupByField))) { addSummaryRow(groupSummaryText + groupName + " ", subTotal, rowCurrency, table, dataIndexArr, false, gsBGColor); groupName = rowData.getString(groupByField); rowCurrency = rowData.has("currencyid") ? rowData.getString("currencyid") : currencyid; addGroupRow(groupHeaderText + ": " + groupName, currencyid, table, dataIndexArr); subTotal = 0.0; rowSpan = 1; } subTotal += Double.parseDouble(rowData.getString(groupSummaryField)); grandTotal += Double.parseDouble(rowData.getString(reportSummaryField)); rowCurrency = rowData.has("currencyid") ? rowData.getString("currencyid") : currencyid; h2 = new PdfPCell(new Paragraph( fontFamilySelector.process(String.valueOf(row + 1), FontContext.TABLE_HEADER, tColor))); if (config.getBoolean("gridBorder")) { h2.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h2.setBorder(0); } h2.setPadding(4); h2.setBorderColor(Color.GRAY); h2.setHorizontalAlignment(Element.ALIGN_CENTER); h2.setVerticalAlignment(Element.ALIGN_CENTER); table.addCell(h2); for (int col = 0; col < dataIndexArr.length; col++) { String cellData = null; if (align[col].equals("currency") && !rowData.getString(dataIndexArr[col]).equals("")) { cellData = currencyRender(rowData.getString(dataIndexArr[col]), rowData.getString("currencyid")); } else if (align[col].equals("date") && !rowData.getString(dataIndexArr[col]).equals("")) { try { cellData = formatter.format(frmt.parse(rowData.getString(dataIndexArr[col]))); } catch (Exception ex) { cellData = rowData.getString(dataIndexArr[col]); } } else { cellData = rowData.getString(dataIndexArr[col]); } Paragraph para = new Paragraph( fontFamilySelector.process(cellData, FontContext.TABLE_HEADER, tColor)); h1 = new PdfPCell(para); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h1.setBorder(0); } h1.setPadding(4); h1.setBorderColor(Color.GRAY); if (!align[col].equals("currency") && !align[col].equals("date")) { h1.setHorizontalAlignment(Element.ALIGN_LEFT); h1.setVerticalAlignment(Element.ALIGN_LEFT); } else if (align[col].equals("currency")) { h1.setHorizontalAlignment(Element.ALIGN_RIGHT); h1.setVerticalAlignment(Element.ALIGN_RIGHT); } else if (align[col].equals("date")) { h1.setHorizontalAlignment(Element.ALIGN_CENTER); h1.setVerticalAlignment(Element.ALIGN_CENTER); } table.addCell(h1); } } if (rowSpan > 0) { addSummaryRow(groupSummaryText + groupName + " ", subTotal, rowCurrency, table, dataIndexArr, false, gsBGColor); } addSummaryRow(reportSummaryText, grandTotal, currencyid, table, dataIndexArr, false, rsBGColor); document.add(table); document.newPage(); } catch (Exception e) { throw ServiceException.FAILURE("exportDAOImpl.addTable", e); } return stpcol; }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public void addSummaryRow(String summeryText, double subTotal, String currencyid, PdfPTable table, String[] dataIndexArr, boolean addBlankRow, java.awt.Color bgColor) throws JSONException, SessionExpiredException { Paragraph para = new Paragraph(fontFamilySelector.process(summeryText, FontContext.TABLE_HEADER)); PdfPCell h1 = new PdfPCell(para); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.TOP | PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else {//ww w. j a v a 2 s.c o m h1.setBorder(PdfPCell.TOP); } h1.setPadding(4); h1.setBorderColor(Color.GRAY); h1.setHorizontalAlignment(Element.ALIGN_RIGHT); h1.setVerticalAlignment(Element.ALIGN_RIGHT); h1.setColspan(dataIndexArr.length); h1.setBackgroundColor(bgColor); table.addCell(h1); String withCurrency = currencyRender(Double.toString(subTotal), currencyid); para = new Paragraph(fontFamilySelector.process(withCurrency, FontContext.TABLE_HEADER)); h1 = new PdfPCell(para); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.TOP | PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h1.setBorder(PdfPCell.TOP); } h1.setPadding(4); h1.setBorderColor(Color.GRAY); h1.setHorizontalAlignment(Element.ALIGN_RIGHT); h1.setVerticalAlignment(Element.ALIGN_RIGHT); h1.setBackgroundColor(bgColor); table.addCell(h1); if (addBlankRow) { para = new Paragraph(fontFamilySelector.process(" ", FontContext.TABLE_HEADER)); h1 = new PdfPCell(para); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else { h1.setBorder(0); } h1.setPadding(4); h1.setBorderColor(Color.GRAY); h1.setHorizontalAlignment(Element.ALIGN_LEFT); h1.setVerticalAlignment(Element.ALIGN_LEFT); h1.setColspan(dataIndexArr.length + 1); table.addCell(h1); } }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public void addGroupRow(String groupText, String currencyid, PdfPTable table, String[] dataIndexArr) throws JSONException, SessionExpiredException { Paragraph para = new Paragraph(fontFamilySelector.process(groupText, FontContext.REPORT_TITLE)); PdfPCell h1 = new PdfPCell(para); if (config.getBoolean("gridBorder")) { h1.setBorder(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT); } else {//from w ww .jav a2 s . c o m h1.setBorder(PdfPCell.BOTTOM); } h1.setBorderWidthBottom(1); h1.setPadding(4); h1.setBorderColor(Color.GRAY); h1.setBorderColorBottom(Color.DARK_GRAY); h1.setHorizontalAlignment(Element.ALIGN_LEFT); h1.setVerticalAlignment(Element.ALIGN_LEFT); h1.setColspan(dataIndexArr.length + 1); table.addCell(h1); }
From source file:com.krawler.spring.exportFunctionality.exportMPXDAOImpl.java
License:Open Source License
public void getHeaderFooter(Document document) throws ServiceException { try {//from www. j a va 2 s. c o m java.awt.Color tColor = new Color(Integer.parseInt(config.getString("textColor"), 16)); // fontSmallRegular.setColor(tColor); java.util.Date dt = new java.util.Date(); String date = "yyyy-MM-dd"; java.text.SimpleDateFormat dtf = new java.text.SimpleDateFormat(date); String DateStr = dtf.format(dt); // -------- header ---------------- header = new PdfPTable(3); String HeadDate = ""; if (config.getBoolean("headDate")) { HeadDate = DateStr; } PdfPCell headerDateCell = new PdfPCell( new Phrase(fontFamilySelector.process(HeadDate, FontContext.FOOTER_NOTE, tColor))); headerDateCell.setBorder(0); headerDateCell.setPaddingBottom(4); header.addCell(headerDateCell); PdfPCell headerNotecell = new PdfPCell(new Phrase( fontFamilySelector.process(config.getString("headNote"), FontContext.FOOTER_NOTE, tColor))); headerNotecell.setBorder(0); headerNotecell.setPaddingBottom(4); headerNotecell.setHorizontalAlignment(PdfCell.ALIGN_CENTER); header.addCell(headerNotecell); String HeadPager = ""; if (config.getBoolean("headPager")) { HeadPager = String.valueOf(document.getPageNumber());//current page no } PdfPCell headerPageNocell = new PdfPCell( new Phrase(fontFamilySelector.process(HeadPager, FontContext.FOOTER_NOTE, tColor))); headerPageNocell.setBorder(0); headerPageNocell.setPaddingBottom(4); headerPageNocell.setHorizontalAlignment(PdfCell.ALIGN_RIGHT); header.addCell(headerPageNocell); PdfPCell headerSeparator = new PdfPCell(new Phrase("")); headerSeparator.setBorder(PdfPCell.BOX); headerSeparator.setPadding(0); headerSeparator.setColspan(3); header.addCell(headerSeparator); // -------- header end ---------------- // -------- footer ------------------- footer = new PdfPTable(3); PdfPCell footerSeparator = new PdfPCell(new Phrase("")); footerSeparator.setBorder(PdfPCell.BOX); footerSeparator.setPadding(0); footerSeparator.setColspan(3); footer.addCell(footerSeparator); String PageDate = ""; if (config.getBoolean("footDate")) { PageDate = DateStr; } PdfPCell pagerDateCell = new PdfPCell( new Phrase(fontFamilySelector.process(PageDate, FontContext.FOOTER_NOTE, tColor))); pagerDateCell.setBorder(0); footer.addCell(pagerDateCell); PdfPCell footerNotecell = new PdfPCell(new Phrase( fontFamilySelector.process(config.getString("footNote"), FontContext.FOOTER_NOTE, tColor))); footerNotecell.setBorder(0); footerNotecell.setHorizontalAlignment(PdfCell.ALIGN_CENTER); footer.addCell(footerNotecell); String FootPager = ""; if (config.getBoolean("footPager")) { FootPager = String.valueOf(document.getPageNumber());//current page no } PdfPCell footerPageNocell = new PdfPCell( new Phrase(fontFamilySelector.process(FootPager, FontContext.FOOTER_NOTE, tColor))); footerPageNocell.setBorder(0); footerPageNocell.setHorizontalAlignment(PdfCell.ALIGN_RIGHT); footer.addCell(footerPageNocell); // -------- footer end ----------- } catch (Exception e) { throw ServiceException.FAILURE("exportDAOImpl.getHeaderFooter", e); } }