List of usage examples for com.lowagie.text.pdf PdfPCell PdfPCell
public PdfPCell()
PdfPCell
. From source file:org.oscarehr.web.reports.ocan.SummaryOfActionsAndCommentsReportGenerator.java
License:Open Source License
private void createDomainHeader(PdfPTable table, String name) { Font f = new Font(Font.HELVETICA, 14, Font.BOLD, Color.BLACK); PdfPCell emptyCell = new PdfPCell(); emptyCell.setBorder(0);/*from w ww . j av a2 s . c o m*/ table.addCell(emptyCell); PdfPCell headerCell = new PdfPCell(); headerCell.setColspan(2); headerCell.setPhrase(new Phrase(name, f)); headerCell.setHorizontalAlignment(Element.ALIGN_CENTER); headerCell.setBackgroundColor(Color.LIGHT_GRAY); table.addCell(headerCell); }
From source file:org.oscarehr.web.reports.ocan.SummaryOfActionsAndCommentsReportGenerator.java
License:Open Source License
private PdfPTable createNeedHeader(String name) throws DocumentException { Font whiteFont = new Font(Font.HELVETICA, 14, Font.BOLD, Color.WHITE); PdfPTable table = new PdfPTable(3); table.setWidthPercentage(100);/*from ww w. ja v a 2 s .co m*/ table.setWidths(new float[] { 0.10f, 0.20f, 0.70f }); PdfPCell emptyCell = new PdfPCell(); emptyCell.setBorder(0); table.addCell(emptyCell); PdfPCell headerCell = new PdfPCell(); headerCell.setColspan(2); headerCell.setPhrase(new Phrase(name, whiteFont)); headerCell.setHorizontalAlignment(Element.ALIGN_CENTER); headerCell.setBackgroundColor(Color.LIGHT_GRAY); table.addCell(headerCell); return table; }
From source file:org.posterita.businesslogic.administration.CustomerManager.java
License:Open Source License
public static String fidelityCard(Properties ctx, ArrayList<CustomerBean> customerList) throws OperationException { String reportName = RandomStringGenerator.randomstring() + ".pdf"; String reportPath = ReportManager.getReportPath(reportName); boolean shouldPrintCard = false; for (CustomerBean b : customerList) { if (b.getIsActive()) { shouldPrintCard = true;/* ww w . j a va2 s . co m*/ break; } } if (!shouldPrintCard) { throw new NoCustomerFoundException("Cannot print fidelity card. Cause no active customers were found."); } Document document = new Document(PageSize.A4, 3, 3, 2, 4);//l,r,t,b try { // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter.getInstance(document, new FileOutputStream(reportPath)); // step 3: we open the document document.open(); PdfPTable main = new PdfPTable(2); main.setWidthPercentage(71.0f); main.getDefaultCell().setBorderColor(Color.gray); PdfPCell cell = new PdfPCell(); cell.setMinimumHeight(150.0f); Font smallFont = FontFactory.getFont(FontFactory.HELVETICA, 7, Font.BOLD); //Font spaceFont = FontFactory.getFont(FontFactory.HELVETICA,6,Font.BOLD); //Font spaceFont2 = FontFactory.getFont(FontFactory.HELVETICA,15,Font.BOLD); //ResourceBundle rb = ResourceBundle.getBundle("MessageResources"); for (CustomerBean bean : customerList) { if (bean.getIsActive()) { String name = bean.getPartnerName(); String name1 = ""; String add2 = ""; String add1 = ""; String city = ""; if (bean.getAddress1() != null) add1 = bean.getAddress1(); if (bean.getAddress2() != null) add2 = bean.getAddress2(); if (bean.getCity() != null) city = bean.getCity(); String Address = " " + add1; String Add2 = " " + add2; String Add3 = " " + city; String BackPriv1Path = PathInfo.PROJECT_HOME + "/images/BackPriv1.jpg"; String backPriv2Path = PathInfo.PROJECT_HOME + "/images/backPriv2.jpg"; String frontImgPath = PathInfo.PROJECT_HOME + "/images/pc.png"; float WIDTH = 205; float HEIGHT = 135; Image Back1 = Image.getInstance(BackPriv1Path); Back1.scaleAbsolute(WIDTH - 40, HEIGHT / 3); Image Back2 = Image.getInstance(backPriv2Path); Back2.scaleAbsolute(WIDTH, HEIGHT / 3); Image frontImg = Image.getInstance(frontImgPath); frontImg.scaleAbsolute(WIDTH, HEIGHT); if (bean.getSurname() != null && bean.getSurname().trim().length() > 0) name1 = " " + name + " " + name1 + bean.getSurname(); byte[] barcode = BarcodeManager.getBarcodeAsByte(bean.getBpartnerId().toString()); Image barcodeImg = Image.getInstance(barcode); barcodeImg.setRotation(1.57f); barcodeImg.scaleAbsolute(HEIGHT - 55f, WIDTH / 5); //document.add(barcodeImg); PdfPTable card = new PdfPTable(2); card.getDefaultCell().setBorderWidth(0.0f); PdfPCell c = null; card.setWidthPercentage(50.0f); PdfPTable t = new PdfPTable(1); PdfPTable nametable = new PdfPTable(1); c = new PdfPCell(Back1); c.setBorderWidth(0.0f); nametable.addCell(c); c = new PdfPCell(new Phrase(name1, smallFont)); c.setHorizontalAlignment(Element.ALIGN_CENTER); c.setVerticalAlignment(Element.ALIGN_CENTER); c.setBorderWidth(0.0f); nametable.addCell(c); c = new PdfPCell(new Phrase(Address, smallFont)); c.setHorizontalAlignment(Element.ALIGN_CENTER); c.setVerticalAlignment(Element.ALIGN_CENTER); c.setBorderWidth(0.0f); //c.setColspan(2); nametable.addCell(c); c = new PdfPCell(new Phrase(Add2, smallFont)); c.setHorizontalAlignment(Element.ALIGN_CENTER); c.setVerticalAlignment(Element.ALIGN_CENTER); c.setBorderWidth(0.0f); //c.setColspan(2); nametable.addCell(c); c = new PdfPCell(new Phrase(Add3, smallFont)); c.setHorizontalAlignment(Element.ALIGN_CENTER); c.setVerticalAlignment(Element.ALIGN_CENTER); c.setBorderWidth(0.0f); //c.setColspan(2); nametable.addCell(c); //nametable.getDefaultCell(); nametable.getDefaultCell().setBorderWidth(0.0f); nametable.setHorizontalAlignment(Element.ALIGN_CENTER); card.addCell(nametable); c = new PdfPCell(barcodeImg); c.setBorderWidth(0.0f); //c.setColspan(2); c.setHorizontalAlignment(Element.ALIGN_RIGHT); c.setVerticalAlignment(Element.ALIGN_MIDDLE); c.setPadding(5.0f); card.addCell(c); c = new PdfPCell(Back2); c.setBorderWidth(0.0f); c.setColspan(2); card.addCell(c); c = new PdfPCell(new Phrase(name1, smallFont)); c.setBorderWidth(0.0f); t.addCell(c); c = new PdfPCell(new Phrase(Address, smallFont)); c.setBorderWidth(0.0f); t.addCell(c); c = new PdfPCell(new Phrase(Add3, smallFont)); c.setBorderWidth(0.0f); t.addCell(c); PdfPTable card1 = new PdfPTable(1); card.getDefaultCell().setBorderWidth(0.0f); PdfPCell c1 = null; card.setWidthPercentage(50.0f); c1 = new PdfPCell(frontImg); c1.setBorderWidth(0.0f); card1.addCell(c1); main.addCell(card); main.addCell(card1); } } document.add(main); } // TODO handle the following exception neatly catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); return reportName; }