List of usage examples for com.lowagie.text.pdf PdfPCell setColspan
public void setColspan(int colspan)
From source file:com.geek.tutorial.itext.table.PDFTable.java
License:Open Source License
public PDFTable() throws Exception { Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("table_example.pdf")); document.open();//w w w . j av a 2s. c o m PdfPTable table = new PdfPTable(3); //table.setTotalWidth(216f); //table.setLockedWidth(true); PdfPCell cell = new PdfPCell(new Paragraph("header with colspan 3")); cell.setColspan(3); table.addCell(cell); table.addCell("1.1"); table.addCell("2.1"); table.addCell("3.1"); table.addCell("1.2"); table.addCell("2.2"); table.addCell("3.2"); document.add(table); document.close(); }
From source file:com.geek.tutorial.itext.table.SimplePDFTableColspan.java
License:Open Source License
public SimplePDFTableColspan() throws Exception { Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream("SimplePDFTableColspan.pdf")); document.open();//from ww w.j a v a 2s . co m PdfPTable table = new PdfPTable(2); PdfPCell cell = new PdfPCell(new Paragraph("column span 2")); cell.setColspan(2); table.addCell(cell); table.addCell("1"); table.addCell("2"); table.addCell("3"); table.addCell("4"); table.addCell("5"); table.addCell("6"); document.add(table); document.close(); }
From source file:com.gp.cong.logisoft.lcl.report.FreightInvoiceLclPdfCreator.java
public void createImportFreightPdf(String realPath, String unitSsId, String fileId, String fileNumber, String outputFileName, String documentName, String voyNotiemailId, User loginUser) throws Exception { ImportPortConfigurationDAO importPortConfigurationDAO = new ImportPortConfigurationDAO(); LclUnitSsDispoDAO lclUnitSsDispoDAO = new LclUnitSsDispoDAO(); LclUnitSsDAO lclUnitSsDAO = new LclUnitSsDAO(); LclRemarksDAO lclRemarksDAO = new LclRemarksDAO(); LclBookingPieceDAO lclBookingPieceDAO = new LclBookingPieceDAO(); String trmname = ""; String trmAddress = ""; String trmZip = ""; String customerPo = ""; String unitNo = ""; String masterBl = ""; StringBuilder originValues = new StringBuilder(); StringBuilder destinationValues = new StringBuilder(); String subHouseBl = ""; String amsHouseBl = ""; String shipName = ""; String consName = ""; String notyName = ""; String forwName = ""; String billToParty = ""; String billToPartyAc = ""; Date pickUpDate = null;//from ww w .jav a2 s .c om Date vesselEtd = null; String billToPartyAcctName = ""; StringBuilder consAddress = new StringBuilder(); LclBooking lclBooking = new LCLBookingDAO().findById(Long.valueOf(fileId)); shipName = null != lclBooking.getShipAcct() ? lclBooking.getShipContact().getCompanyName() : ""; consName = null != lclBooking.getConsAcct() ? lclBooking.getConsContact().getCompanyName() : ""; notyName = null != lclBooking.getNotyAcct() ? lclBooking.getNotyContact().getCompanyName() : ""; forwName = null != lclBooking.getFwdAcct() ? lclBooking.getFwdAcct().getAccountName() : ""; billToParty = null != lclBooking.getBillToParty() ? lclBooking.getBillToParty() : ""; if (billToParty.equalsIgnoreCase("C")) { billToPartyAc = null != lclBooking.getConsAcct() ? lclBooking.getConsAcct().getAccountno() : ""; billToPartyAcctName = null != lclBooking.getConsAcct() ? lclBooking.getConsContact().getCompanyName() : ""; } else if (billToParty.equalsIgnoreCase("A")) { billToPartyAc = null != lclBooking.getSupAcct() ? lclBooking.getSupAcct().getAccountno() : ""; billToPartyAcctName = null != lclBooking.getSupAcct() ? lclBooking.getSupAcct().getAccountName() : ""; } else if (billToParty.equalsIgnoreCase("N")) { billToPartyAc = null != lclBooking.getNotyAcct() ? lclBooking.getNotyAcct().getAccountno() : ""; billToPartyAcctName = null != lclBooking.getNotyAcct() ? lclBooking.getNotyContact().getCompanyName() : ""; } else if (billToParty.equalsIgnoreCase("T")) { billToPartyAc = null != lclBooking.getThirdPartyAcct() ? lclBooking.getThirdPartyAcct().getAccountno() : ""; billToPartyAcctName = null != lclBooking.getThirdPartyAcct() ? lclBooking.getThirdPartyAcct().getAccountName() : ""; } originValues.append(lclUtils.getConcatenatedOriginByUnlocation(lclBooking.getPortOfLoading())); destinationValues.append(lclUtils.getConcatenatedOriginByUnlocation(lclBooking.getPortOfDestination())); if (lclBooking.getTerminal() != null) { RefTerminal terminal = new TerminalDAO() .findByTerminalNo(String.valueOf(lclBooking.getTerminal().getTrmnum())); trmname = null != terminal ? terminal.getTerminalLocation() : ""; if (trmname.equalsIgnoreCase("IMPRTS LOS ANGELES")) { trmname = "Los Angeles"; } trmAddress = null != terminal ? terminal.getAddres1() : ""; trmZip = null != terminal ? terminal.getZipcde() : ""; } customerPo = new Lcl3pRefNoDAO().getCustomerPo(fileId); CustAddress custAddress = new CustAddressDAO().findByAccountNo(billToPartyAc); if (custAddress != null) { consAddress.append(billToPartyAcctName).append("\n"); consAddress.append(custAddress.getAddress1()).append("\n"); consAddress.append(custAddress.getCity1()).append(" ").append(custAddress.getState()).append(" ") .append(custAddress.getZip()); } List<LclBookingPiece> lclBookingPiece = lclBookingPieceDAO.findByProperty("lclFileNumber.id", Long.parseLong(fileId)); LclFileNumber lclFileNumber = new LclFileNumberDAO().getByProperty("id", Long.parseLong(fileId)); if (lclBookingPiece != null && !lclBookingPiece.isEmpty() && CommonUtils.isNotEmpty(lclBookingPiece.get(0).getLclBookingPieceUnitList())) { unitNo = lclBookingPiece.get(0).getLclBookingPieceUnitList().get(0).getLclUnitSs().getLclUnit() .getUnitNo(); masterBl = lclBookingPiece.get(0).getLclBookingPieceUnitList().get(0).getLclUnitSs().getLclUnit() .getLclUnitSsManifestList().get(0).getMasterbl(); vesselEtd = lclBookingPiece.get(0).getLclBookingPieceUnitList().get(0).getLclUnitSs().getLclSsHeader() .getLclSsDetailList().get(0).getSta(); } Boolean isSegregationFlag = new LclBookingSegregationDao().isCheckedSegregationDr(Long.parseLong(fileId)); if (isSegregationFlag) { amsHouseBl = new LclBookingImportAmsDAO().getAmsNo(fileId); } else { amsHouseBl = new LclBookingImportAmsDAO().getAmsNoGroup(fileId); } if (lclFileNumber.getLclBookingImport() != null) { subHouseBl = lclFileNumber.getLclBookingImport().getSubHouseBl(); pickUpDate = lclFileNumber.getLclBookingImport().getPickupDateTime(); } PdfPCell cell = new PdfPCell(); PdfPTable mainTable = makeTable(2); mainTable.setWidthPercentage(100f); PdfPTable clientPTable = new PdfPTable(5); clientPTable.setWidthPercentage(100f); clientPTable.setWidths(new float[] { 25, 25, 17, 11, 22 }); clientPTable.setKeepTogether(true); cell = makeCell("BILL TO ACCOUNT NO.", Element.ALIGN_LEFT, headingFontSize8, 0, Color.decode("#c5d9f1")); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); clientPTable.addCell(cell); cell = makeCell("" + billToPartyAc, Element.ALIGN_LEFT, blackFontForFclAr, 0); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); clientPTable.addCell(cell); cell = makeCell("INVOICE NO.", Element.ALIGN_CENTER, headingFontSize8, 0, Color.decode("#c5d9f1")); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); clientPTable.addCell(cell); cell = makeCell("DATE", Element.ALIGN_CENTER, headingFontSize8, 0, Color.decode("#c5d9f1")); cell.setBorderWidthTop(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthBottom(0.06f); clientPTable.addCell(cell); cell = makeCell("BILLING TM", Element.ALIGN_CENTER, headingFontSize8, 0, Color.decode("#c5d9f1")); cell.setBorderWidthTop(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthRight(0.06f); cell.setBorderWidthBottom(0.06f); clientPTable.addCell(cell); cell = makeCell("" + consAddress.toString(), Element.ALIGN_LEFT, blackFontForFclAr, 0); cell.setColspan(2); cell.setMinimumHeight(20f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); clientPTable.addCell(cell); //INVOICE NO cell = makeCell(fileNumber, Element.ALIGN_CENTER, blackFontForFclBl, 0); clientPTable.addCell(cell); //DATE String acctNumber = checkPayment(billToPartyAc); if (!acctNumber.equals("noCredit")) { if (CommonFunctions.isNotNull(acctNumber) && !acctNumber.equals("") && pickUpDate != null) { cell = makeCell(DateUtils.formatStringDateToAppFormatMMM(pickUpDate), Element.ALIGN_CENTER, blackFontForFclBl, 0); } else if (pickUpDate == null && vesselEtd != null) { cell = makeCell(DateUtils.formatStringDateToAppFormatMMM(vesselEtd), Element.ALIGN_CENTER, blackFontForFclBl, 0); } else { cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0); } } else if (acctNumber.equals("noCredit") && vesselEtd != null) { cell = makeCell(DateUtils.formatStringDateToAppFormatMMM(vesselEtd), Element.ALIGN_CENTER, blackFontForFclBl, 0); } else { cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0); } cell.setBorderWidthLeft(0.06f); clientPTable.addCell(cell); //BILLING TM cell = makeCell(trmname, Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setBorderWidthLeft(0.06f); clientPTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(2); clientPTable.addCell(cell); cell = makeCell("CUSTOMER REF NO.", Element.ALIGN_CENTER, headingFontSize8, 0, Color.decode("#c5d9f1")); cell.setColspan(3); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); clientPTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(2); clientPTable.addCell(cell); //CUSTOMER REF NO. cell = makeCell(customerPo, Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setColspan(3); cell.setMinimumHeight(15f); cell.setBorderWidthLeft(0.06f); clientPTable.addCell(cell); cell = new PdfPCell(); cell.addElement(clientPTable); cell.setColspan(5); cell.setBorder(0); cell.setPadding(0f); cell.setBorderWidthRight(0.06f); cell.setBorderWidthLeft(0.06f); mainTable.addCell(cell); PdfPTable othersTable = makeTable(4); othersTable.setWidthPercentage(100f); othersTable.setWidths(new float[] { 25, 25, 25, 25 }); cell = makeCell("CONTAINER NO.", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); cell = makeCell("ECI SHIPMENT FILE NO.", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); cell = makeCell("ORIGIN", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); cell = makeCell("DESTINATION", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthTop(0.06f); othersTable.addCell(cell); //CONTAINER NO cell = makeCell("" + unitNo, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); //ECI SHIPMENT FILE NO cell = makeCell("IMP-" + fileNumber, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); //ORIGIN cell = makeCell("" + originValues, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); //DESTINATION cell = makeCell("" + destinationValues, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); cell = makeCell("MBL / AWB NUMBER", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setColspan(2); cell.setBorderWidthRight(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); othersTable.addCell(cell); cell = makeCell("AMS HOUSE BL", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setBorderWidthRight(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); othersTable.addCell(cell); cell = makeCell("SUB HOUSE BL", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); othersTable.addCell(cell); //MBL / AWB NUMBER cell = makeCell("" + masterBl, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(2); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); //amsHouseBl cell = makeCell(amsHouseBl, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); //subHouseBl cell = makeCell(subHouseBl, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); cell = makeCell("SHIPPER", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setColspan(2); cell.setBorderWidthRight(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); othersTable.addCell(cell); cell = makeCell("FORWARDER", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setColspan(2); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); othersTable.addCell(cell); //SHIPPER cell = makeCell(shipName, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(2); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); //FORWARDER cell = makeCell(forwName, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(2); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); cell = makeCell("CONSIGNEE", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setColspan(2); cell.setBorderWidthRight(0.06f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); othersTable.addCell(cell); cell = makeCell("NOTIFY PARTY", Element.ALIGN_CENTER, blackBoldFontSize6, 0, Color.decode("#c5d9f1")); cell.setColspan(2); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); othersTable.addCell(cell); //CONSIGNEE cell = makeCell(consName, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(2); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); //NOTIFY PARTY cell = makeCell(notyName, Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(2); cell.setMinimumHeight(20f); cell.setBorderWidthRight(0.06f); othersTable.addCell(cell); cell = new PdfPCell(); cell.setColspan(2); cell.addElement(othersTable); cell.setBorder(0); cell.setPadding(0f); cell.setBorderWidthRight(0.06f); cell.setBorderWidthLeft(0.06f); mainTable.addCell(cell); Font boldHeadingFon = FontFactory.getFont("Arial", 7f, Font.BOLD); Paragraph p = null; PdfPTable othersTable1 = makeTable(5); othersTable1.setWidthPercentage(100f); othersTable1.setWidths(new float[] { 2f, 1f, 4f, 1.3f, 1.3f }); //marks cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); p = new Paragraph(7f, "MARKS AND NUMBERS", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); othersTable1.addCell(cell); //no of pkgs cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "NO.OF.PKGS", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); othersTable1.addCell(cell); //desc cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "DESCRIPTION OF PACKAGES AND GOODS", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); othersTable1.addCell(cell); //grossweight cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "GROSS WEIGHT", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); othersTable1.addCell(cell); //measure cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "MEASURE", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); othersTable1.addCell(cell); // List<LclBookingPiece> lclBookingPiecesList = null; // lclBookingPiecesList = lclBookingPieceDAO.findByProperty("lclFileNumber.id", Long.parseLong(fileId)); if (lclBookingPiece != null && lclBookingPiece.size() > 0) { for (LclBookingPiece lclBookingPieces : lclBookingPiece) { //MARKS AND NUMBERS cell = new PdfPCell(); cell.setBorder(0); if (lclBookingPieces != null && lclBookingPieces.getMarkNoDesc() != null && !lclBookingPieces.getMarkNoDesc().equals("")) { p = new Paragraph(7f, "" + lclBookingPieces.getMarkNoDesc().toUpperCase(), blackNormalCourierFont8f); } else { p = new Paragraph(7f, "", blackNormalCourierFont8f); } p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); //NO.OF.PKGS cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); if (lclBookingPieces != null && lclBookingPieces.getBookedPieceCount() != null && lclBookingPieces.getPackageType().getAbbr01() != null) { p = new Paragraph(7f, "" + lclBookingPieces.getBookedPieceCount() + " " + lclBookingPieces.getPackageType().getAbbr01(), blackNormalCourierFont8f); } else { p = new Paragraph(7f, "", blackNormalCourierFont8f); } p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); //DESCRIPTION OF PACKAGES AND GOODS cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); if (lclBookingPieces != null && lclBookingPieces.getPieceDesc() != null && !lclBookingPieces.getPieceDesc().equals("")) { p = new Paragraph(7f, "" + lclBookingPieces.getPieceDesc().toUpperCase(), blackNormalCourierFont8f); } else { p = new Paragraph(7f, "", blackNormalCourierFont8f); } p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); //grossweight cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); if (lclBookingPieces != null && lclBookingPieces.getBookedWeightMetric() != null) { p = new Paragraph(7f, "" + lclBookingPieces.getBookedWeightMetric() + " KGS", blackNormalCourierFont8f); } else { p = new Paragraph(7f, "", blackNormalCourierFont8f); } p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); //measure cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); if (lclBookingPieces != null && lclBookingPieces.getBookedVolumeMetric() != null) { p = new Paragraph(7f, "" + lclBookingPieces.getBookedVolumeMetric() + " CBM", blackNormalCourierFont8f); } else { p = new Paragraph(7f, "", blackNormalCourierFont8f); } p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); //2nd cell cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); //3rd cell cell = new PdfPCell(); cell.setBorder(0); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "", blackNormalCourierFont8f); p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); if (lclBookingPieces != null && lclBookingPieces.getBookedWeightImperial() != null) { p = new Paragraph(7f, "" + lclBookingPieces.getBookedWeightImperial() + " LBS", blackNormalCourierFont8f); } else { p = new Paragraph(7f, "", blackNormalCourierFont8f); } p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthLeft(0.6f); if (lclBookingPieces != null && lclBookingPieces.getBookedVolumeImperial() != null) { p = new Paragraph(7f, "" + lclBookingPieces.getBookedVolumeImperial() + " CFT", blackNormalCourierFont8f); } else { p = new Paragraph(7f, "", blackNormalCourierFont8f); } p.setAlignment(Element.ALIGN_CENTER); cell.addElement(p); othersTable1.addCell(cell); } } cell = new PdfPCell(); cell.setColspan(5); cell.addElement(othersTable1); cell.setBorder(0); cell.setPadding(0f); cell.setBorderWidthRight(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthTop(0.06f); mainTable.addCell(cell); PdfPTable chargesTable = makeTable(4); chargesTable.setWidthPercentage(100.5f); chargesTable.setWidths(new float[] { 45, 35, 5, 15 }); cell = makeCell("DESCRIPTION", Element.ALIGN_CENTER, headingFont, 0, Color.decode("#c5d9f1")); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); cell.setBorderWidthBottom(0.06f); cell.setColspan(2); chargesTable.addCell(cell); cell = makeCell("CHARGES", Element.ALIGN_CENTER, headingFont, 0, Color.decode("#c5d9f1")); cell.setColspan(2); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); chargesTable.addCell(cell); NumberFormat number = new DecimalFormat("###,###,##0.00"); String code = ""; // double totalCharges = 0.00; double lateFee = 0.00; double payAmount = 0.00; int chargeCount = 0; double total = 0.00; String[] billToPartyA; billToPartyA = new String[] { "C", "N", "T" }; List<String> billtoPartyList = Arrays.asList(billToPartyA); List<BookingChargesBean> lclBookingAcList = null; lclBookingAcList = new LclCostChargeDAO().findBybookingAcId(fileId, billtoPartyList); for (int j = 0; j < lclBookingAcList.size(); j++) { chargeCount++; BookingChargesBean lclBookingAc = (BookingChargesBean) lclBookingAcList.get(j); String codeDesc = ""; code = CommonUtils.isNotEmpty(lclBookingAc.getChargeCode()) ? lclBookingAc.getChargeCode() : ""; codeDesc = new GenericCodeDAO().getGenericCodeDesc(code); if (CommonUtils.isNotEmpty(lclBookingAc.getChargeCode())) { // String desc = lclBookingAc.getChargeCode().toUpperCase(); cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl); cell.setBorderWidthRight(0.0f); } if (chargeCount == 1) { cell.setBorderWidthTop(0.0f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthLeft(0.0f); cell.setBorderWidthBottom(0.0f); } else { cell.setBorderWidthRight(0.0f); cell.setBorderWidthLeft(0.0f); cell.setBorderWidthBottom(0.0f); } chargesTable.addCell(cell); if (CommonUtils.isNotEmpty(codeDesc)) { cell = makeCell("" + codeDesc, Element.ALIGN_LEFT, blackFontForFclBl, 0.06f); cell.setBorderWidthLeft(0.0f); } else { cell = makeCell("" + code, Element.ALIGN_LEFT, blackFontForFclBl, 0.06f); cell.setBorderWidthLeft(0.0f); } if (chargeCount == 1) { cell.setBorderWidthTop(0.0f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); } else { cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); } chargesTable.addCell(cell); cell = makeCell("$", Element.ALIGN_CENTER, blackFontForFclBl, 0.06f);//3 if (chargeCount == 1) { cell.setBorderWidthTop(0.0f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); } else { cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); } chargesTable.addCell(cell); cell = makeCell(number.format(lclBookingAc.getTotalAmt().doubleValue()), Element.ALIGN_RIGHT, blackFontForFclBl, Rectangle.BOX);//4 if (chargeCount == 1) { cell.setBorderWidth(0.0f); } else { cell.setBorderWidthLeft(0.0f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); } chargesTable.addCell(cell); total = total + lclBookingAc.getTotalAmt().doubleValue(); } for (int i = 0; i < (14 - chargeCount); i++) { // chargesTable.addCell(makeCellLeftNoBorderFclBL("")); // chargesTable.addCell(makeCellRightNoBorderFclBL("")); cell = makeCell("", Element.ALIGN_LEFT, blackFontForFclBl, 0.06f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); cell.setBorderWidthLeft(0.0f); chargesTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0.06f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); cell.setBorderWidthLeft(0.0f); chargesTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0.06f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); chargesTable.addCell(cell); cell = makeCell("", Element.ALIGN_RIGHT, blackFontForFclBl, 0.06f); cell.setBorderWidthLeft(0.0f); cell.setBorderWidthRight(0.0f); cell.setBorderWidthBottom(0.0f); cell.setMinimumHeight(10f); chargesTable.addCell(cell); } cell = makeCell("", Element.ALIGN_LEFT, blackFontForFclBl, 0); cell.setBorderWidthTop(0.06f); chargesTable.addCell(cell); cell = makeCell("INVOICE TOTAL", Element.ALIGN_CENTER, blackFontForFclBl, 0); // cell.setPaddingLeft(-15f); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthRight(0.06f); chargesTable.addCell(cell); cell = makeCell("$", Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); chargesTable.addCell(cell); cell = makeCell(number.format(total), Element.ALIGN_RIGHT, blackFontForFclBl, 0);//4 cell.setBorderWidthTop(0.06f); cell.setBorderWidthBottom(0.06f); chargesTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setColspan(4); chargesTable.addCell(cell); chargesTable.setKeepTogether(true); cell = new PdfPCell(); cell.setColspan(2); cell.addElement(chargesTable); cell.setBorder(0); cell.setBorderWidthRight(0.06f); cell.setBorderWidthLeft(0.06f); mainTable.addCell(cell); // payAmount = total; // String acctNumber = checkPayment(billToPartyAc); boolean lateFeeFlag = false; TradingPartnerBC tradingPartnerBC = new TradingPartnerBC(); TradingPartner tradingPartner = null; // SimpleDateFormat simpDate = new SimpleDateFormat("dd-MMM-yyyy"); PdfPTable paidTable = makeTable(6); paidTable.setWidthPercentage(100.5f); paidTable.setWidths(new float[] { 30, 15, 25, 10, 5, 15 }); if (CommonFunctions.isNotNull(acctNumber) && !acctNumber.equals("") && !acctNumber.equals("noCredit")) { tradingPartner = tradingPartnerBC.findTradingPartnerById(acctNumber); if (CommonFunctions.isNotNullOrNotEmpty(tradingPartner.getAccounting())) { for (Iterator accountingList = tradingPartner.getAccounting().iterator(); accountingList .hasNext();) { CustomerAccounting customerAccounting = (CustomerAccounting) accountingList.next(); if (null != customerAccounting.getLclApplyLateFee() && customerAccounting.getLclApplyLateFee().equals("on")) { lateFeeFlag = true; } break; } } } cell = makeCell("ARRIVAL DATE", Element.ALIGN_CENTER, headingFontSize8, 0, Color.decode("#c5d9f1")); cell.setBorderWidthTop(0.06f); cell.setBorderWidthRight(0.06f); cell.setBorderWidthBottom(0.06f); paidTable.addCell(cell); SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); String outDate = ""; String crtDate = ""; if (vesselEtd != null) { //vessel arrivalDate outDate = sdf.format(vesselEtd); } cell = makeCell("", Element.ALIGN_LEFT, blackFontForFclBl, 0); paidTable.addCell(cell); CustomerAccounting customerAccounting = new CustomerAccountingDAO().findByProperty("accountNo", billToPartyAc); if (customerAccounting != null && (customerAccounting.getCreditRate() != null && (CommonUtils.isNotEmpty(outDate)) && !acctNumber.equals("noCredit"))) { Calendar c = Calendar.getInstance(); // c.setTime(new Date(outDate)); // Removed Deprecated Warning c.setTime(sdf.parse(outDate)); // Now use previous date. if ((customerAccounting.getCreditRate().getCodedesc()).equalsIgnoreCase("Net 7 Days")) { c.add(Calendar.DATE, 7); crtDate = sdf.format(c.getTime());// Adding 7 days } else if ((customerAccounting.getCreditRate().getCodedesc()).equalsIgnoreCase("Net 15 Days")) { c.add(Calendar.DATE, 15); crtDate = sdf.format(c.getTime());// Adding 15 days } else if ((customerAccounting.getCreditRate().getCodedesc()).equalsIgnoreCase("NET 21 DAYS")) { c.add(Calendar.DATE, 21); crtDate = sdf.format(c.getTime());// Adding 21 days } else if ((customerAccounting.getCreditRate().getCodedesc()).equalsIgnoreCase("Net 30 Days")) { c.add(Calendar.DATE, 30); crtDate = sdf.format(c.getTime());// Adding 30 days } else if ((customerAccounting.getCreditRate().getCodedesc()).equalsIgnoreCase("Net 45 Days")) { c.add(Calendar.DATE, 45); crtDate = sdf.format(c.getTime());// Adding 45 days } else if ((customerAccounting.getCreditRate().getCodedesc()).equalsIgnoreCase("Net 60 Days")) { c.add(Calendar.DATE, 60); crtDate = sdf.format(c.getTime());// Adding 60 days } } if (lateFeeFlag) { lateFee = total * 0.015; // 1.5percent calculate payAmount = total + lateFee; cell = makeCell("LATE FEE IF NOT PAID BY - " + crtDate, Element.ALIGN_LEFT, blackFontForFclBl, 0); cell.setColspan(2); cell.setBorderWidthTop(0.06f); cell.setBorderWidthLeft(0.06f); paidTable.addCell(cell); cell = makeCell("$", Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setBorderWidthTop(0.06f); cell.setBorderWidthLeft(0.06f); paidTable.addCell(cell); cell = makeCell(number.format(lateFee), Element.ALIGN_RIGHT, blackFontForFclBl, 0); cell.setBorderWidthTop(0.06f); paidTable.addCell(cell); cell = makeCell(outDate, Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setMinimumHeight(10f); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthRight(0.06f); paidTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0); paidTable.addCell(cell); cell = makeCell("PAY THIS AMOUNT IF NOT PAID BY DUE DATE", Element.ALIGN_LEFT, blackFontForFclBl, 0); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthTop(0.06f); cell.setColspan(2); paidTable.addCell(cell); cell = makeCell("$", Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthTop(0.06f); paidTable.addCell(cell); cell = makeCell(number.format(payAmount), Element.ALIGN_RIGHT, blackFontForFclBl, 0); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthTop(0.06f); paidTable.addCell(cell); } else { // String dueDate = ""; // if(arRedInvoice.getDueDate() != null){ // SimpleDateFormat sdfa = new SimpleDateFormat("dd-MMM-yyyy"); // dueDate = sdfa.format(arRedInvoice.getDueDate()); // } // cell = makeCell(!"".equals(dueDate) ? "PAY THIS AMOUNT IF NOT PAID BY - " + dueDate : "PLEASE PAY THIS AMOUNT",Element.ALIGN_LEFT, blackFontForFclBl, 0); cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setColspan(4); paidTable.addCell(cell); cell = makeCell(outDate, Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setMinimumHeight(10f); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthRight(0.06f); paidTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0); paidTable.addCell(cell); cell = makeCell("PLEASE PAY THIS AMOUNT - " + crtDate, Element.ALIGN_LEFT, blackFontForFclBl, 0); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthTop(0.06f); cell.setColspan(2); paidTable.addCell(cell); cell = makeCell("$", Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthTop(0.06f); paidTable.addCell(cell); cell = makeCell(number.format(total), Element.ALIGN_RIGHT, blackFontForFclBl, 0); cell.setBorderWidthBottom(0.06f); cell.setBorderWidthTop(0.06f); paidTable.addCell(cell); } cell = makeCell("", Element.ALIGN_CENTER, blackFontForFclBl, 0); cell.setColspan(5); paidTable.addCell(cell); //paidTable.setKeepTogether(true); cell = new PdfPCell(); cell.setColspan(2); cell.addElement(paidTable); cell.setBorder(0); cell.setBorderWidthRight(0.06f); cell.setBorderWidthLeft(0.06f); mainTable.addCell(cell); ///end of description & charges // String paymentStatment = ""; // paymentStatment = checkPayment(arRedInvoice); PdfPTable commandTable = new PdfPTable(1); commandTable.setWidthPercentage(100); cell = makeCell("", Element.ALIGN_CENTER, headingFont, Rectangle.NO_BORDER); commandTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, headingFont, Rectangle.NO_BORDER); commandTable.addCell(cell); if (customerAccounting != null && (customerAccounting.getCreditRate() != null && (CommonUtils.isNotEmpty(outDate)))) { if ((customerAccounting.getCreditRate().getCodedesc()).equalsIgnoreCase("Due Upon Receipt")) { cell = makeCell("INVOICE IS PAYABLE UPON RECEIPT", Element.ALIGN_CENTER, blackFontForFclBl, 0, Color.decode("#FFFF00")); commandTable.addCell(cell); } else { cell = makeCell("INVOICE PAYABLE ON OR BEFORE " + (crtDate), Element.ALIGN_CENTER, new Font(Font.HELVETICA, 10, Font.BOLDITALIC, Color.BLACK), Rectangle.NO_BORDER); commandTable.addCell(cell); } } else { cell = makeCell("INVOICE IS PAYABLE UPON RECEIPT", Element.ALIGN_CENTER, blackFontForFclBl, 0, Color.decode("#FFFF00")); commandTable.addCell(cell); } // if (lateFeeFlag == false) {//if(paymentStatment.equals("noCredit") || lateFeeFlag == false){ // cell = makeCell("INVOICE IS PAYABLE UPON RECEIPT OR INVOICE PAYABLE WITHIN 30 DAYS FROM DEPARTURE/ARRIVAL DATE", Element.ALIGN_LEFT, blackFontForFclBl, 0, Color.decode("#FFFF00")); // commandTable.addCell(cell); // } else { // cell = makeCell("", Element.ALIGN_CENTER, headingFont, Rectangle.NO_BORDER); // commandTable.addCell(cell); // } cell = makeCell("", Element.ALIGN_CENTER, headingFont, Rectangle.NO_BORDER); commandTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, headingFont, Rectangle.NO_BORDER); commandTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, headingFont, Rectangle.NO_BORDER); commandTable.addCell(cell); cell = makeCell("", Element.ALIGN_CENTER, headingFont, Rectangle.NO_BORDER); commandTable.addCell(cell); cell = new PdfPCell(); cell.setColspan(2); cell.addElement(commandTable); cell.setBorder(0); cell.setBorderWidthRight(0.06f); cell.setBorderWidthLeft(0.06f); cell.setExtraParagraphSpace(10f); mainTable.addCell(cell); PdfPTable bankDetailsTable = makeTable(4); bankDetailsTable.setWidthPercentage(100f); bankDetailsTable.setWidths(new float[] { 3f, 1f, 4f, 2.6f }); // // SystemRulesDAO systemRulesDAO = new SystemRulesDAO(); // String eftBank = systemRulesDAO.getSystemRulesByCode("EFTBank"); // String eftBankAddress = systemRulesDAO.getSystemRulesByCode("EFTBankAddress"); // String eftABANo = systemRulesDAO.getSystemRulesByCode("EFTABANo"); // String eftAcctName = systemRulesDAO.getSystemRulesByCode("EFTAcctName"); // String eftAccountNo = systemRulesDAO.getSystemRulesByCode("EFTAccountNo"); // CompanyModel company = systemRulesDAO.getCompanyDetails(); //PAYMENT METHODS cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthRight(0.6f); cell.setBorderWidthTop(0.6f); p = new Paragraph(7f, "PAYMENT METHODS", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); bankDetailsTable.addCell(cell); // Empty cell = makeCell("", Element.ALIGN_CENTER, blackBoldFontSize6, 0); cell.setColspan(3); cell.setBorderWidthBottom(0.06f); bankDetailsTable.addCell(cell); //Via Check cell = new PdfPCell(); cell.setBorder(0); cell.setColspan(2); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "Via Check", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); bankDetailsTable.addCell(cell); //Via ACH or Wire Transfer cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "Via ACH or Wire Transfer", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); bankDetailsTable.addCell(cell); //Credit Card Payments cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthBottom(0.6F); cell.setBorderWidthLeft(0.6f); p = new Paragraph(7f, "Credit Card Payments", boldHeadingFon); p.setAlignment(Element.ALIGN_CENTER); cell.setBackgroundColor(Color.decode("#c5d9f1")); cell.addElement(p); bankDetailsTable.addCell(cell); // Via Check Details cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthRight(0.06f); cell.setBorderWidthBottom(0.06f); cell.setColspan(2); p = new Paragraph(10f, "PLEASE REMIT PAYMENT TO", boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, companyName, boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); String creditStatusDomain = ""; if (null != customerAccounting && null != customerAccounting.getCreditStatus()) {//no credit creditStatusDomain = customerAccounting.getCreditStatus().getCodedesc(); if (!("No Credit").equalsIgnoreCase(creditStatusDomain)) { p = new Paragraph(10f, "2401 N.W. 69TH STREET", boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, "Miami, FL 33147", boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); bankDetailsTable.addCell(cell); } else { p = new Paragraph(10f, "" + trmAddress, boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, "" + trmname + " " + trmZip, boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); bankDetailsTable.addCell(cell); } } //Via ACH or Wire Transfer Details cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthRight(0.06f); p = new Paragraph(10f, "Bank: " + company.getBankName(), boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, company.getBankAddress(), boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, "ABA: " + company.getBankAbaNumber(), boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, "ACCT: " + companyName, boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, "ACCOUNT NO: " + company.getBankAccountNumber(), boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); bankDetailsTable.addCell(cell); //Credit Card Payments Details cell = new PdfPCell(); cell.setBorder(0); cell.setBorderWidthRight(0.06f); p = new Paragraph(10f, "If paying via Credit card", boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, " Please go to:", boldHeadingFon); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); p = new Paragraph(10f, webSite, fileNoFont); p.setAlignment(Element.ALIGN_LEFT); cell.addElement(p); bankDetailsTable.addCell(cell); cell = new PdfPCell(); cell.setColspan(4); cell.addElement(bankDetailsTable); cell.setBorder(0); cell.setPadding(0f); cell.setBorderWidthRight(0.06f); cell.setBorderWidthLeft(0.06f); cell.setBorderWidthBottom(0.06f); mainTable.addCell(cell); document.add(mainTable); }
From source file:com.huateng.system.util.PdfUtil.java
License:Open Source License
public static void create(String mchtId, String selMchtId, String path, List<Object[]> list, LinkedHashMap<String, List<Object[]>> map, Set<String> set) throws Exception { BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); ////w w w.ja va 2s.co m Font font17 = new Font(bfChinese, 17, Font.BOLD); Font font8 = new Font(bfChinese, 8, Font.NORMAL); Font font9 = new Font(bfChinese, 9, Font.NORMAL); Font font9Bold = new Font(bfChinese, 9, Font.BOLD); Font font8Red = new Font(bfChinese, 8, Font.NORMAL); font8Red.setColor(Color.RED); Font font8Green = new Font(bfChinese, 8, Font.NORMAL); font8Green.setColor(Color.GREEN); logger.info("Starting build document..."); Document document = new Document(PageSize.A4, 36, 36, 36, 36); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(path)); document.open(); LINECANVAS border = new LINECANVAS(); // float[] widths = { 0.1f, 0.35f, 0.35f, 0.1f, 0.1f }; PdfPTable table = new PdfPTable(widths); table.setWidthPercentage(100); table.getDefaultCell().setBorder(PdfPCell.NO_BORDER); table.getDefaultCell().setFixedHeight(12); //CELL PdfPCell cellMchntId = new PdfPCell(new Paragraph(mchtId, font8)); cellMchntId.setBorder(PdfPCell.BOTTOM); cellMchntId.setHorizontalAlignment(Element.ALIGN_CENTER); PdfPCell cellMchntName = new PdfPCell(new Paragraph(InformationUtil.getMchtName(mchtId), font8)); cellMchntName.setBorder(PdfPCell.BOTTOM); cellMchntName.setHorizontalAlignment(Element.ALIGN_CENTER); String point = InformationUtil.getCurPaperPoint(selMchtId); PdfPCell cellPoint; cellPoint = new PdfPCell(new Paragraph(point, font8Red)); cellPoint.setBorder(PdfPCell.NO_BORDER); cellPoint.setHorizontalAlignment(Element.ALIGN_CENTER); PdfPCell cellLevel; String level = InformationUtil.getCurPaperLevel(selMchtId); if (Integer.valueOf(point) >= 60) { cellLevel = new PdfPCell(new Paragraph(level, font8Green)); } else { cellLevel = new PdfPCell(new Paragraph(level, font8Red)); } cellLevel.setBorder(PdfPCell.NO_BORDER); cellLevel.setHorizontalAlignment(Element.ALIGN_CENTER); // Image img = Image.getInstance( ServletActionContext.getServletContext().getResource("/ext/resources/images/Title_logo.gif")); img.scalePercent(70); float w = img.getScaledWidth(); float h = img.getScaledHeight(); writer.getDirectContent().addImage(img, w, 0, 0, h, 36, PageSize.A4.getHeight() - 36 - h); // PdfPCell cell = new PdfPCell(new Paragraph("?", font17)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(5); cell.setFixedHeight(h); cell.setBorder(PdfPCell.NO_BORDER); table.addCell(cell); cell = new PdfPCell(); cell.setFixedHeight(20); cell.setColspan(5); cell.setBorder(PdfPCell.NO_BORDER); table.addCell(cell); table.addCell(new Paragraph("?", font8)); table.addCell(cellMchntId); table.addCell(" "); table.addCell(new Paragraph(": ", font8)); table.addCell(cellPoint); table.addCell(new Paragraph("??", font8)); table.addCell(cellMchntName); table.addCell(" "); table.addCell(new Paragraph(": ", font8)); table.addCell(cellLevel); document.add(table); document.add(new Paragraph("\n\n")); //? PdfPTable t = new PdfPTable(1); Iterator<Object[]> it0 = list.iterator(); int i = 1; while (it0.hasNext()) { Object[] obj = it0.next(); PdfPCell c = new PdfPCell(); c.addElement(new Paragraph("Q" + String.valueOf(i++) + "" + obj[1].toString(), font9Bold)); List<Object[]> opts = map.get(obj[0].toString()); String opt = ""; Iterator<Object[]> it1 = opts.iterator(); while (it1.hasNext()) { Object[] o = it1.next(); if (set.contains(o[0])) { opt += "? "; opt += o[1].toString(); opt += " "; } else { opt += " "; opt += o[1].toString(); opt += " "; } } c.addElement(new Paragraph(opt.trim(), font9)); c.setBorder(PdfPCell.NO_BORDER); if (i - 1 != list.size()) { c.setCellEvent(border); } t.addCell(c); } PdfPTable oTable = new PdfPTable(1); oTable.setWidthPercentage(100); PdfPCell ce = new PdfPCell(t); ce.setBorderColor(Color.GRAY); oTable.addCell(ce); document.add(oTable); document.close(); logger.info("Finish build document..."); }
From source file:com.huateng.system.util.PdfUtil.java
License:Open Source License
public static void create(String path, List<Object[]> list, LinkedHashMap<String, List<Object[]>> map) throws Exception { BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); ///*from ww w .j ava2 s . com*/ Font font17 = new Font(bfChinese, 17, Font.BOLD); Font font8 = new Font(bfChinese, 8, Font.NORMAL); Font font10 = new Font(bfChinese, 10, Font.NORMAL); Font font10Bold = new Font(bfChinese, 10, Font.BOLD); Font font8Red = new Font(bfChinese, 8, Font.NORMAL); font8Red.setColor(Color.RED); Font font8Green = new Font(bfChinese, 8, Font.NORMAL); font8Green.setColor(Color.GREEN); logger.info("Starting build document..."); Document document = new Document(PageSize.A4, 36, 36, 36, 36); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(path)); document.open(); LINECANVAS border = new LINECANVAS(); // float[] widths = { 0.1f, 0.35f, 0.55f }; PdfPTable table = new PdfPTable(widths); table.setWidthPercentage(100); table.getDefaultCell().setBorder(PdfPCell.NO_BORDER); table.getDefaultCell().setFixedHeight(12); //CELL PdfPCell cellMchntId = new PdfPCell(new Paragraph("XXXXXXXXXXXXXXX", font8)); cellMchntId.setBorder(PdfPCell.BOTTOM); cellMchntId.setHorizontalAlignment(Element.ALIGN_CENTER); PdfPCell cellMchntName = new PdfPCell(new Paragraph("?", font8)); cellMchntName.setBorder(PdfPCell.BOTTOM); cellMchntName.setHorizontalAlignment(Element.ALIGN_CENTER); // Image img = Image.getInstance( ServletActionContext.getServletContext().getResource("/ext/resources/images/Title_logo.gif")); img.scalePercent(70); float w = img.getScaledWidth(); float h = img.getScaledHeight(); writer.getDirectContent().addImage(img, w, 0, 0, h, 36, PageSize.A4.getHeight() - 36 - h); // PdfPCell cell = new PdfPCell(new Paragraph("?", font17)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(3); cell.setFixedHeight(h); cell.setBorder(PdfPCell.NO_BORDER); table.addCell(cell); cell = new PdfPCell(); cell.setFixedHeight(20); cell.setColspan(3); cell.setBorder(PdfPCell.NO_BORDER); table.addCell(cell); table.addCell(new Paragraph("?", font8)); table.addCell(cellMchntId); table.addCell(" "); table.addCell(new Paragraph("??", font8)); table.addCell(cellMchntName); table.addCell(" "); document.add(table); document.add(new Paragraph("\n\n")); //? PdfPTable t = new PdfPTable(1); Iterator<Object[]> it0 = list.iterator(); int i = 1; while (it0.hasNext()) { Object[] obj = it0.next(); PdfPCell c = new PdfPCell(); c.addElement(new Paragraph("Q" + String.valueOf(i++) + "" + obj[1].toString(), font10Bold)); List<Object[]> opts = map.get(obj[0].toString()); String opt = ""; Iterator<Object[]> it1 = opts.iterator(); while (it1.hasNext()) { Object[] o = it1.next(); opt += " "; opt += o[1].toString(); opt += " "; } c.addElement(new Paragraph(opt.trim(), font10)); c.setBorder(PdfPCell.NO_BORDER); if (i - 1 != list.size()) { c.setCellEvent(border); } t.addCell(c); } PdfPTable oTable = new PdfPTable(1); oTable.setWidthPercentage(100); PdfPCell ce = new PdfPCell(t); ce.setBorderColor(Color.GRAY); oTable.addCell(ce); document.add(oTable); document.close(); logger.info("Finish build document..."); }
From source file:com.jk.framework.desktop.swing.dao.TableModelPdfBuilder.java
License:Apache License
/** * Creates the pdf footer.// w ww .j a v a 2 s .c om * * @param pdfPTable * the pdf P table * @param font * the font * @throws DocumentException * the document exception * @throws IOException * Signals that an I/O exception has occurred. */ public void createPdfFooter(final PdfPTable pdfPTable, Font font) throws DocumentException, IOException { final float width = pdfPTable.getWidthPercentage(); final int headerWidth = (int) width; font = getFont(); final PdfPCell footerCell = new PdfPCell(new Phrase(getFooter(), font)); footerCell.setHorizontalAlignment(Element.ALIGN_CENTER); footerCell.setVerticalAlignment(Element.ALIGN_MIDDLE); footerCell.setColspan(headerWidth); footerCell.setBorder(0); footerCell.setUseDescender(true); pdfPTable.addCell(footerCell); pdfPTable.setFooterRows(1); }
From source file:com.jk.framework.desktop.swing.dao.TableModelPdfBuilder.java
License:Apache License
/** * Creates the pdf headers.//from w w w. j av a2 s .co m * * @param pdfPTable * the pdf P table * @param font * the font * @throws DocumentException * the document exception * @throws IOException * Signals that an I/O exception has occurred. */ public void createPdfHeaders(final PdfPTable pdfPTable, Font font) throws DocumentException, IOException { font = getFont(); final float width = pdfPTable.getWidthPercentage(); final int headerWidth = (int) width; final PdfPCell headersCells = new PdfPCell(new Phrase(getHeader(), font)); headersCells.setHorizontalAlignment(Element.ALIGN_CENTER); headersCells.setColspan(headerWidth); headersCells.setUseDescender(true); headersCells.setBorder(0); pdfPTable.addCell(headersCells); for (int i = 0; i < this.model.getColumnCount(); i++) { if (this.model.isVisible(i)) { final PdfPCell cell = new PdfPCell(new Phrase(Lables.get(this.model.getActualColumnName(i)), font)); cell.setRotation(getRotationDegree()); cell.setHorizontalAlignment(Element.ALIGN_CENTER); pdfPTable.addCell(cell); } } // Please explain pdfPTable.setHeaderRows(3); createPdfFooter(pdfPTable, font); }
From source file:com.krawler.esp.handlers.PdfGenHandler.java
License:Open Source License
public static ByteArrayOutputStream getInvoiceForm1(String invoice) { ByteArrayOutputStream os = null; try {/*from w ww. ja v a2s . co m*/ os = new ByteArrayOutputStream(); Document document = new Document(PageSize.A4, 15, 15, 15, 15); PdfWriter writer = PdfWriter.getInstance(document, os); Font font7 = FontFactory.getFont("Helvetica", 8, Font.BOLD, Color.BLACK); Font font10 = FontFactory.getFont("Helvetica", 14, Font.BOLD, Color.BLACK); HeaderFooter temp = new HeaderFooter(new Phrase( String.format("Note: This is a computer generated document and does not require signature"), font7), false); temp.setAlignment(Element.ALIGN_CENTER); document.setFooter(temp); document.open(); JSONObject jbj = new JSONObject(invoice); String currency = ""; com.krawler.utils.json.base.JSONArray gridinfo = jbj.getJSONArray("items"); String ids[] = { "name", "address", "invoiceno", "paymentdate" }; String uinfo[] = new String[ids.length]; for (int i = 0; i < uinfo.length; i++) { uinfo[i] = jbj.getString(ids[i]); } PdfPTable tableinfo = new PdfPTable(1); PdfPTable table = new PdfPTable(2); Font font1 = FontFactory.getFont("Helvetica", 24, Font.BOLD, Color.BLACK); String cnxt = "";//StorageHandler.getProfileStorePath() + "/inceif-200.png"; PdfPCell cell1 = null; try { Image img = Image.getInstance(cnxt); cell1 = new PdfPCell(img); } catch (Exception e) { cnxt = StorageHandler.GetProfileImgStorePath() + "/140-logo.png"; Image img = Image.getInstance(cnxt); cell1 = new PdfPCell(img); } cell1.setBorder(0); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); tableinfo.addCell(cell1); tableinfo = addspace(1, tableinfo); tableinfo = addspace(4, tableinfo); cell1 = new PdfPCell(new Paragraph("INVOICE", font10)); cell1.setBorder(0); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); tableinfo.addCell(cell1); tableinfo = addspace(2, tableinfo); table = addspace(1, table); // cell1 = new PdfPCell(new Paragraph(uinfo[uinfo.length - 1],font9)); // cell1.setBorder(0); // cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); // tableinfo.addCell(cell1); // tableinfo = addspace(1, tableinfo); // tableinfo = addspace(2, tableinfo); cell1 = new PdfPCell(tableinfo); cell1.setBorder(0); table.addCell(cell1); PdfPTable tb = new PdfPTable(1); document.add(new Paragraph("\u00a0")); tableinfo = addspace(1, tableinfo); Font font = FontFactory.getFont("Helvetica", 10, Font.BOLD, Color.BLACK); Font font2 = FontFactory.getFont("Helvetica", 10, Font.NORMAL, Color.BLACK); //Font font3 = FontFactory.getFont("Helvetica", 8, Font.ITALIC, Color.BLACK); Font font11 = FontFactory.getFont("Helvetica", 12, Font.BOLD, Color.BLACK); PdfPCell c1 = null; c1 = new PdfPCell(new Paragraph("Bill To :", font2)); c1.setBorder(0); tb.addCell(c1); for (int i = 0; i < 2; i++) { PdfPCell c = null; if (i == 0) c = new PdfPCell(new Paragraph(uinfo[i], font11)); else c = new PdfPCell(new Paragraph(uinfo[i])); //c.(20); c.setBorder(0); tb.addCell(c); } PdfPCell c = new PdfPCell(tb); c.setBorder(0); table.addCell(c); PdfPTable tb1 = new PdfPTable(1); for (int i = 2; i < 4; i++) { PdfPTable nested1 = new PdfPTable(3); c = new PdfPCell(); c.setBorder(0); c.setPaddingRight(5); nested1.addCell(c); c = new PdfPCell(new Paragraph(invoiceheadings[i], font)); c.setBorder(0); nested1.addCell(c); c = new PdfPCell(new Paragraph(uinfo[i], font2)); c.setBorder(0); c.setHorizontalAlignment(Element.ALIGN_RIGHT); //c.setPaddingLeft(5); nested1.addCell(c); c = new PdfPCell(nested1); c.setBorder(0); tb1.addCell(c); } PdfPCell c2 = new PdfPCell(tb1); c2.setBorder(0); table.addCell(c2); PdfPTable tb2 = new PdfPTable(new float[] { 60, 40 }); /* for (int i = 6; i < 7; i++) { PdfPTable tb3 = new PdfPTable(2);//new float[]{20, 40}); tb3.setWidths(new int[]{1, 3}); c2 = new PdfPCell(new Paragraph(invoiceheadings[i], font)); c2.setBorder(0); tb3.addCell(c2); c2 = new PdfPCell(new Paragraph(uinfo[i])); c2.setBorder(0); tb3.addCell(c2); c2 = new PdfPCell(tb3); c2.setBorder(0); c2.setHorizontalAlignment(Element.ALIGN_LEFT); tb2.addCell(c2); tb2 = addspace(1, tb2); } */ PdfPTable maintable = new PdfPTable(1); c2 = new PdfPCell(table); c2.setBorder(0); maintable.addCell(c2); maintable = addspace(0, maintable); c2 = new PdfPCell(tb2); c2.setBorder(0); maintable.addCell(c2); document.add(maintable); //for (int i = 0; i < 2; i++) { document.add(new Paragraph("\u00a0")); //} String[] colwidth2 = { "Subscription date", "Description", "Rate ($/Project)", "Amount ($)" }; PdfPTable table1 = new PdfPTable(4); table1.setWidths(new float[] { 2, 3, 1, 1 }); for (int i = 0; i < colwidth2.length; i++) { PdfPCell cell = new PdfPCell(new Paragraph(colwidth2[i], font)); cell.setBorder(0); if (i != 1) { cell.setBorderWidthLeft(1); cell.setBorderWidthRight(1); } if (i == 3) { cell.setBorderWidthLeft(0); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); } else { cell.setHorizontalAlignment(Element.ALIGN_CENTER); } cell.setBorderWidthTop(1); cell.setBackgroundColor(Color.getHSBColor(0f, 0f, 0.9f)); cell.setBorderWidthBottom(1); cell.setPaddingBottom(5); cell.setPaddingTop(5); table1.addCell(cell); } //table1.setHeaderRows(1); double d = 0; String[] di = { "billdate", "description", "rate", "amount" }; java.text.DecimalFormat df = new java.text.DecimalFormat("0.00"); for (int i = 0; i < gridinfo.length(); i++) { currency = "USD";//gridinfo.getJSONObject(i).getString("currency"); PdfPCell cell = null; for (int j = 0; j < di.length; j++) { if (j == 3) { cell = new PdfPCell(new Paragraph( df.format(Double.parseDouble(gridinfo.getJSONObject(i).getString(di[j]))), font2)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); } else { cell = new PdfPCell(new Paragraph(gridinfo.getJSONObject(i).getString(di[j]), font2)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); } cell.setBorder(0); if (j != 1) { cell.setBorderWidthLeft(1); cell.setBorderWidthRight(1); } if (j == 3) { cell.setBorder(0); cell.setBorderWidthRight(1); } cell.setPaddingTop(10); cell.setFixedHeight(100); table1.addCell(cell); } d += Double.parseDouble(gridinfo.getJSONObject(i).getString(di[3])); } PdfPCell cell = null; cell = new PdfPCell(new Paragraph(" ", font)); cell.setBorder(0); cell.setBorderWidthTop(1); cell.setBorderWidthBottom(1); cell.setBorderWidthLeft(1); cell.setBorderWidthRight(0); table1.addCell(cell); cell = new PdfPCell(new Paragraph(" ", font)); cell.setBorder(0); cell.setBorderWidthTop(1); cell.setBorderWidthBottom(1); cell.setBorderWidthLeft(0); cell.setBorderWidthRight(0); table1.addCell(cell); cell = new PdfPCell(new Paragraph(" Total", font)); cell.setBorder(0); cell.setBorderWidthTop(1); cell.setBorderWidthBottom(1); cell.setBorderWidthLeft(0); cell.setBorderWidthRight(0); cell.setPaddingBottom(5); table1.addCell(cell); cell = new PdfPCell(new Paragraph(" " + df.format(d), font)); cell.setBorder(0); cell.setBorderWidthTop(1); cell.setBorderWidthBottom(1); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorderWidthLeft(0); cell.setBorderWidthRight(1); cell.setPaddingBottom(5); table1.addCell(cell); EnglishDecimalFormat f1 = new EnglishDecimalFormat(); if (currency.equals("USD")) { cell = new PdfPCell(new Paragraph("Amount in words : " + CurrencyConvert(currency, d), font)); } else { cell = new PdfPCell(new Paragraph(CurrencyConvert(currency, d), font)); } cell.setColspan(4); cell.setBorder(0); //cell.setBorderWidthTop(1); cell.setBorderWidthBottom(1); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorderWidthLeft(1); cell.setBorderWidthRight(1); cell.setPaddingBottom(5); table1.addCell(cell); document.add(table1); document.add(new Paragraph("\u00a0")); PdfPTable inst = new PdfPTable(1); // for (int i = 0; i < Inst1.length; i++) { // c2 = new PdfPCell(new Paragraph(Inst1[i])); // c2.setBorder(0); // inst.addCell(c2); // } document.add(inst); document.close(); writer.close(); os.close(); } // catch (ConfigurationException ex) { // Logger.getLogger(PdfGenHandler.class.getName()).log(Level.SEVERE, null, ex); // } catch (JSONException ex) { Logger.getLogger(PdfGenHandler.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(PdfGenHandler.class.getName()).log(Level.SEVERE, null, ex); } catch (DocumentException ex) { Logger.getLogger(PdfGenHandler.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception exp) { Logger.getLogger(PdfGenHandler.class.getName()).log(Level.SEVERE, null, exp); } return os; }
From source file:com.krawler.esp.handlers.PdfGenHandler.java
License:Open Source License
public static ByteArrayOutputStream getReceiptAcc1(String ackrecp) { ByteArrayOutputStream os = null; try {//from ww w .j ava2 s . co m os = new ByteArrayOutputStream(); JSONObject jbj = new JSONObject(ackrecp); com.krawler.utils.json.base.JSONArray gridinfo = jbj.getJSONArray("items"); String ginfo[] = new String[gridinfo.length() * 2]; String ids[] = { "name", "receiptno", "paymentdate", "address" }; String currency = "USD"; // String address = jbj.getString("address"); String uinfo[] = new String[ids.length]; for (int i = 0; i < uinfo.length; i++) { uinfo[i] = jbj.getString(ids[i]); } Font font = FontFactory.getFont("Helvetica", 10, Font.BOLD, Color.BLACK); Font font1 = FontFactory.getFont("Helvetica", 14, Font.BOLD, Color.BLACK); Font font3 = FontFactory.getFont("Helvetica", 12, Font.BOLD, Color.BLACK); //Font font4 = FontFactory.getFont("Helvetica", 12, Font.NORMAL, Color.BLACK); Font font7 = FontFactory.getFont("Helvetica", 8, Font.BOLD, Color.BLACK); Font font10 = FontFactory.getFont("Helvetica", 12, Font.BOLD, Color.BLACK); Font font11 = FontFactory.getFont("Helvetica", 12, Font.NORMAL, Color.BLACK); Font font12 = FontFactory.getFont("Helvetica", 10, Font.NORMAL, Color.BLACK); Document document1 = new Document(PageSize.A4, 15, 15, 15, 15); PdfWriter writer = PdfWriter.getInstance(document1, os); HeaderFooter temp = new HeaderFooter(new Phrase( String.format("Note: This is a computer generated document and does not require signature"), font7), false); temp.setAlignment(Element.ALIGN_CENTER); document1.setFooter(temp); document1.open(); PdfPTable tableHinfo = new PdfPTable(1); PdfPTable table = new PdfPTable(1); font3.setStyle(Font.UNDERLINE); String cnxt = "";//StorageHandler.getProfileStorePath() + "/inceif-200.png"; PdfPCell cell1 = null; try { Image img = Image.getInstance(cnxt); // img.scalePercent(90); cell1 = new PdfPCell(img); } catch (Exception e) { cnxt = StorageHandler.GetProfileImgStorePath() + "/140-logo.png"; Image img = Image.getInstance(cnxt); cell1 = new PdfPCell(img); } cell1.setBorder(0); cell1.setPaddingTop(18); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); tableHinfo.addCell(cell1); tableHinfo = addspace(1, tableHinfo); tableHinfo = addspace(4, tableHinfo); cell1 = new PdfPCell(new Paragraph("RECEIPT", font1)); cell1.setBorder(0); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); tableHinfo.addCell(cell1); tableHinfo = addspace(0, tableHinfo); // cell1 = new PdfPCell(new Paragraph(uinfo[4], font11)); // cell1.setBorder(0); // cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); // tableHinfo.addCell(cell1); document1.add(tableHinfo); PdfPTable tableUinfo = new PdfPTable(1); cell1 = new PdfPCell(new Paragraph(receiptheading[0], font12)); cell1.setBorder(0); cell1.setHorizontalAlignment(Element.ALIGN_LEFT); tableUinfo.addCell(cell1); cell1 = new PdfPCell(new Paragraph(uinfo[0], font10)); cell1.setBorder(0); cell1.setHorizontalAlignment(Element.ALIGN_LEFT); tableUinfo.addCell(cell1); cell1 = new PdfPCell(new Paragraph(uinfo[3], font11)); cell1.setBorder(0); cell1.setHorizontalAlignment(Element.ALIGN_LEFT); tableUinfo.addCell(cell1); document1.add(new Paragraph("\u00a0")); tableUinfo = addspace(1, tableUinfo); String hed[] = { "", "Receipt No : ", "Date : ", "" }; PdfPTable tableDinfo = new PdfPTable(1); //tableDinfo.setTotalWidth(100); for (int j = 1; j < 3; j++) { PdfPTable nested1 = new PdfPTable(3); cell1 = new PdfPCell(); cell1.setBorder(0); nested1.addCell(cell1); cell1 = new PdfPCell(new Paragraph(hed[j], font)); cell1.setBorder(0); nested1.addCell(cell1); cell1 = new PdfPCell(new Paragraph(uinfo[j], font12)); cell1.setBorder(0); cell1.setHorizontalAlignment(Element.ALIGN_RIGHT); nested1.addCell(cell1); cell1 = new PdfPCell(nested1); cell1.setBorder(0); tableDinfo.addCell(cell1); } PdfPTable container = new PdfPTable(2); cell1 = new PdfPCell(tableUinfo); cell1.setBorder(0); cell1.setPaddingBottom(15); container.addCell(cell1); cell1 = new PdfPCell(tableDinfo); cell1.setBorder(0); container.addCell(cell1); document1.add(container); PdfPTable table1 = new PdfPTable(2); String[] colwidth2 = { "Invoice No.", "Amount Paid($)" }; for (int i = 0; i < colwidth2.length; i++) { PdfPCell cell = new PdfPCell(new Paragraph(colwidth2[i], font)); if (i == 1) { cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorderWidthLeft(0); } else { cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorderWidthLeft(1); } cell.setBackgroundColor(Color.getHSBColor(0f, 0f, 0.9f)); cell.setPaddingBottom(5); cell.setBorderWidthRight(1); cell.setBorderWidthTop(1); table1.addCell(cell); } table1.setHeaderRows(1); double d = 0; colwidth2 = new String[] { "invoicenum", "amount" }; java.text.DecimalFormat df = new java.text.DecimalFormat("0.00"); for (int i = 0; i < gridinfo.length(); i++) { for (int j = 0; j < colwidth2.length; j++) { PdfPCell cell = null; if (j == 1) { cell = new PdfPCell(new Paragraph( df.format(Double.parseDouble(gridinfo.getJSONObject(i).getString(colwidth2[j]))), font12)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorderWidthLeft(0); } else { cell = new PdfPCell( new Paragraph(gridinfo.getJSONObject(i).getString(colwidth2[j]), font12)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorderWidthLeft(1); } //cell.setMinimumHeight(25); cell.setBorderWidthRight(1); cell.setPaddingTop(5); cell.setFixedHeight(100); table1.addCell(cell); if (j == colwidth2.length - 1) { d += Double.parseDouble(gridinfo.getJSONObject(i).getString(colwidth2[j])); } } } // EnglishDecimalFormat f1 = new EnglishDecimalFormat(); PdfPCell cell = new PdfPCell(new Paragraph("", font)); cell.setBorderWidthBottom(1); cell.setBorderWidthRight(0); cell.setBorderWidthLeft(1); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); cell = new PdfPCell(new Paragraph("Total " + df.format(d), font)); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); //cell.setPaddingBottom(15); cell.setPaddingLeft(15); cell.setPaddingBottom(5); cell.setBorderWidthBottom(1); cell.setBorderWidthLeft(0); cell.setBorderWidthRight(1); table1.addCell(cell); PdfPTable table3 = new PdfPTable(1); cell = new PdfPCell(new Paragraph("Amount in words : " + CurrencyConvert(currency, d), font)); //cell.setPaddingBottom(15); cell.setBorder(0); cell.setColspan(4); cell.setBorderWidthBottom(1); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorderWidthLeft(1); cell.setBorderWidthRight(1); cell.setPaddingBottom(5); table3.addCell(cell); document1.add(table1); document1.add(table3); document1.add(new Paragraph("\u00a0")); cell = new PdfPCell(new Paragraph(String.format( "All payments are non-refundable and non-transferable. \nThis Receipt is valid subject to clearance of the payments."), font11)); //cell.setPaddingLeft(5); cell.setBorder(0); table.addCell(cell); // String delFlag = jbj.getString("delflag"); // if(delFlag.compareTo("2")==0){ // BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED); // PdfContentByte cb = writer.getDirectContentUnder(); // cb.saveState(); // cb.setColorFill(Color.BLACK); // cb.beginText(); // cb.setFontAndSize(bf, 48); // cb.showTextAligned(Element.ALIGN_CENTER, "Canceled Payment", document1.getPageSize().getWidth() / 2, document1.getPageSize().getHeight() / 2, 45); // cb.endText(); // cb.restoreState(); // } document1.add(table); document1.close(); writer.close(); os.close(); } catch (Exception e) { System.out.println(e); } return os; }
From source file:com.krawler.esp.servlets.ExportPDFServlet.java
License:Open Source License
private int addTable(int stcol, int stpcol, int strow, int stprow, JSONArray store, String[] colwidth2, String[] colIndex1, Document document) { float[] f = new float[(stpcol - stcol)]; for (int k = 0; k < f.length; k++) f[k] = 20;/*from w w w . j a v a2 s . c o m*/ PdfPTable table = new PdfPTable(f); PdfPCell cell = new PdfPCell(new Paragraph("Agenda Details")); cell.setColspan(6); table.addCell(cell); Font font = FontFactory.getFont("Helvetica", 8, Font.BOLD, Color.BLACK); Font font1 = FontFactory.getFont("Helvetica", 8, Font.NORMAL, Color.BLACK); Font f1; int stpcol1 = 0; for (int hcol = stcol; hcol < stpcol; hcol++) { PdfPCell h1 = new PdfPCell(new Paragraph(colwidth2[hcol], font)); // new // Paragraph(colwidth2[hcol],font); table.addCell(h1); } table.setHeaderRows(1); try { for (int row = strow; row < stprow; row++) { if (row % 62 == 61) { document.add(table); table.deleteBodyRows(); table.setSkipFirstHeader(true); } f1 = font1; for (int col = stcol; col < stpcol; col++) { table.addCell(new Paragraph(store.getJSONObject(row).getString(colIndex1[col]), f1)); } } document.newPage(); document.add(table); if (stpcol != colIndex1.length) { if ((colIndex1.length - stpcol) > 5) // column limit stpcol1 = stpcol + 5; else stpcol1 = (colIndex1.length - stpcol) + stpcol; addTable(stpcol, stpcol1, strow, stprow, store, colwidth2, colIndex1, document); } } catch (Exception e) { e.toString(); } return stpcol; }