List of usage examples for com.lowagie.text.pdf PdfPCell PdfPCell
public PdfPCell(PdfPCell cell)
PdfPCell
. From source file:com.jk.framework.desktop.swing.dao.TableModelPdfBuilder.java
License:Apache License
/** * Creates the pdf headers./*from www .j ava2 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.jk.framework.desktop.swing.dao.TableModelPdfBuilder.java
License:Apache License
/** * Load data table.//from w w w . ja v a 2s . 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 loadDataTable(final PdfPTable pdfPTable, Font font) throws DocumentException, IOException { font = getFont(); for (int row = 0; row < this.model.getRowCount(); row++) { for (int column = 0; column < this.model.getColumnCount(); column++) { if (this.model.isVisible(column)) { final PdfPCell cell = new PdfPCell( new Phrase((String) this.model.getValueAt(row, column), font)); cell.setNoWrap(true); cell.setRunDirection(getRunDirection()); // TODO : make the alignment according to the colunm // datatype cell.setHorizontalAlignment(Element.ALIGN_CENTER); pdfPTable.addCell(cell); } } } }
From source file:com.kahlon.guard.controller.DocumentManager.java
/** * * @param document/*from w w w .j av a 2 s. c o m*/ */ public void preProcessPDF(Object document) { try { BaseFont bf_courier = BaseFont.createFont(BaseFont.COURIER, "Cp1252", false); Document pdf = (Document) document; pdf.setPageSize(PageSize.A4); pdf.setMargins(5f, 5f, 10f, 5f); // headers and footers must be added before the document is opened HeaderFooter footer = new HeaderFooter(new Phrase("page: ", new Font(bf_courier)), true); footer.setBorder(Rectangle.NO_BORDER); footer.setAlignment(Element.ALIGN_CENTER); pdf.setFooter(footer); // HeaderFooter header = new HeaderFooter( // new Phrase("This is a header without a page number", new Font(bf_courier)), false); // header.setAlignment(Element.ALIGN_CENTER); // pdf.setHeader(header); pdf.open(); String logoPath = "/resources/image/logo.png"; ServletContext servletContext = (ServletContext) facesContext.getExternalContext().getContext(); String logo = servletContext.getRealPath(logoPath); pdf.add(Image.getInstance(logo)); Person person = context.getSelectedPerson().getDisplayPerson(); String name = FacesMessageUtil.getMessage("person.name") + " : " + person.getName(); String age = FacesMessageUtil.getMessage("person.age") + " : " + Integer.toString(person.getAge()); String gender = FacesMessageUtil.getMessage("person.gender") + " : " + person.getGender().getDescription(); String race = FacesMessageUtil.getMessage("person.ethnicity") + " : " + person.getEthnicity().getDescription(); Person rootPerson = person.getRootPerson(); PersonImage imgp = imageService.getLastestPersonImage(rootPerson.getId()); Image imgb = Image.getInstance(imgp.getContent()); imgb.scaleToFit(100, 120); PdfPTable headerTable = new PdfPTable(2); PdfPTable personTable = new PdfPTable(1); personTable.setWidthPercentage(100); PdfPCell cell; cell = new PdfPCell(new Phrase(name)); cell.setBorder(Rectangle.NO_BORDER); personTable.addCell(cell); cell = new PdfPCell(new Phrase(age)); cell.setBorder(Rectangle.NO_BORDER); personTable.addCell(cell); cell = new PdfPCell(new Phrase(gender)); cell.setBorder(Rectangle.NO_BORDER); personTable.addCell(cell); cell = new PdfPCell(new Phrase(race)); cell.setBorder(Rectangle.NO_BORDER); personTable.addCell(cell); BarcodePDF417 pdf417 = new BarcodePDF417(); pdf417.setText(Integer.toString(person.getId())); Image img = pdf417.getImage(); img.scalePercent(150, 60 * pdf417.getYHeight()); cell = new PdfPCell(img); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(Rectangle.NO_BORDER); cell.setPaddingTop(15); personTable.addCell(cell); cell.addElement(personTable); headerTable.addCell(cell); cell = new PdfPCell(imgb); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(Rectangle.NO_BORDER); headerTable.addCell(cell); headerTable.setSpacingAfter(15); pdf.add(headerTable); LineSeparator lineSeparator = new LineSeparator(); lineSeparator.setPercentage(82); pdf.add(lineSeparator); Paragraph space = new Paragraph(); space.add(""); space.setSpacingAfter(15); pdf.add(space); } catch (IOException e) { logger.log(Level.INFO, e.getMessage()); } catch (BadElementException e) { logger.log(Level.INFO, e.getMessage()); } catch (DocumentException e) { logger.log(Level.INFO, e.getMessage()); } catch (Exception e) { logger.log(Level.INFO, e.getMessage()); } }
From source file:com.khs.report.writer.ReportPDFWriter.java
License:Apache License
private void addDetail(String[] data) throws DocumentException { for (String value : data) { PdfPCell c1 = new PdfPCell(new Phrase(value(value), font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(alignment(value)); setCellPadding(c1);//from w ww .j a v a 2 s . c o m detailTable.addCell(c1); } }
From source file:com.khs.report.writer.ReportPDFWriter.java
License:Apache License
private void addSubtotal(String[] data) throws DocumentException { // add dashed line... for (String value : data) { String v = null;/*from w ww.j a v a 2s.com*/ String rawValue = value(value); if (StringUtils.isNotEmpty(rawValue)) { v = line(rawValue, SINGLE_LINE); } PdfPCell c1 = new PdfPCell(new Phrase(v, font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(alignment(value)); setCellPadding(c1); detailTable.addCell(c1); } // add totals.... for (String value : data) { PdfPCell c1 = new PdfPCell(new Phrase(value(value), font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(alignment(value)); setCellPadding(c1); detailTable.addCell(c1); } // add blank line.... for (String value : data) { PdfPCell c1 = new PdfPCell(new Phrase(" ", font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(Element.ALIGN_CENTER); setCellPadding(c1); detailTable.addCell(c1); } }
From source file:com.khs.report.writer.ReportPDFWriter.java
License:Apache License
private void addTotal(String[] data) throws DocumentException { // add dashed line... for (String value : data) { String v = null;//from www . ja v a2s. co m String rawValue = value(value); if (StringUtils.isNotEmpty(rawValue)) { v = line(rawValue, SINGLE_LINE); } PdfPCell c1 = new PdfPCell(new Phrase(v, font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(alignment(value)); setCellPadding(c1); detailTable.addCell(c1); } // add totals.... for (String value : data) { PdfPCell c1 = new PdfPCell(new Phrase(value(value), font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(alignment(value)); setCellPadding(c1); detailTable.addCell(c1); } // add blank line.... for (String value : data) { String v = null; String rawValue = value(value); if (StringUtils.isNotEmpty(rawValue)) { v = line(rawValue, DOUBLE_LINE); } PdfPCell c1 = new PdfPCell(new Phrase(v, font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(alignment(value)); setCellPadding(c1); detailTable.addCell(c1); } }
From source file:com.khs.report.writer.ReportPDFWriter.java
License:Apache License
private void createColHeadings(String[] cols) throws DocumentException { createTable(cols.length);// w w w . j a va 2s.c om for (String col : cols) { PdfPCell c1 = new PdfPCell(new Phrase(value(col), font)); c1.setBorder(Rectangle.NO_BORDER); c1.setHorizontalAlignment(alignment(col)); setCellPadding(c1); c1.setPaddingBottom(5); detailTable.addCell(c1); } }
From source file:com.khs.report.writer.ReportPDFWriter.java
License:Apache License
private void createFootings(String footing) throws DocumentException { String[] cols = footing.split(ReportProcessor.ALIGN_DELIMITER, 3); float[] colSizes = new float[] { 25, 50, 25 }; footerTable = new PdfPTable(colSizes); footerTable.setWidthPercentage(getHeadingWidth()); int count = 0; for (String c : cols) { PdfPCell c1 = new PdfPCell(new Phrase(value(c), font)); c1.setBorder(Rectangle.NO_BORDER); int alignment = Element.ALIGN_CENTER; if (count == 0) { alignment = Element.ALIGN_LEFT; } else if (count == 2) { alignment = Element.ALIGN_RIGHT; }//from w w w . j av a 2 s . co m c1.setHorizontalAlignment(alignment); setCellPadding(c1); footerTable.addCell(c1); count++; } }
From source file:com.khs.report.writer.ReportPDFWriter.java
License:Apache License
private void createHeading(String heading) throws DocumentException { String[] cols = heading.split(ReportProcessor.ALIGN_DELIMITER, 3); PdfPTable table = new PdfPTable(cols.length); table.setWidthPercentage(getHeadingWidth()); int count = 0; for (String c : cols) { PdfPCell c1 = new PdfPCell(new Phrase(value(c), font)); c1.setBorder(Rectangle.NO_BORDER); int alignment = Element.ALIGN_CENTER; if (count == 0) { alignment = Element.ALIGN_LEFT; } else if (count == 2) { alignment = Element.ALIGN_RIGHT; }// w w w .ja v a 2s. c om c1.setHorizontalAlignment(alignment); setCellPadding(c1); table.addCell(c1); count++; } document.add(table); }
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 w w . j a v a 2s .c o 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; }