List of usage examples for com.lowagie.text Font Font
public Font(int family, float size, int style)
From source file:ambit.data.qmrf.Qmrf_Xml_Pdf.java
License:Open Source License
public void headerTable(Document pdfdoc, org.w3c.dom.Document xmldoc) { try {//from w w w .ja va 2 s . c o m int header_font_size = 10; Image png_left = Image .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png")); Image png_right = Image .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png")); png_left.setAlignment(Image.LEFT); png_right.setAlignment(Image.RIGHT); png_left.scalePercent(60); png_right.scalePercent(60); //png.scaleAbsolute(76, 67); //png.setAlignment(Image.MIDDLE); PdfPCell cell; float[] widths = { 1f, 5f, 1f }; float[] widths1 = { 1f }; PdfPTable table = new PdfPTable(widths); PdfPTable table1 = new PdfPTable(widths1); table.setWidthPercentage(100); cell = new PdfPCell(); cell.setMinimumHeight(70); cell.addElement(new Chunk(png_left, +14, -40)); table.addCell(cell); String Text = ""; try { Text = findNodeValue(xml_QMRF_number, xmldoc); Chunk ident_title = new Chunk("QMRF identifier (JRC Inventory):"); Chunk ident_text = new Chunk(Text); Font bi_font = new Font(baseFont, header_font_size, Font.BOLDITALIC); Font i_font = new Font(baseFont, header_font_size, Font.ITALIC); ident_title.setFont(bi_font); ident_text.setFont(i_font); Paragraph p = new Paragraph(); p.add(ident_title); p.add(ident_text); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); ident_title = new Chunk("QMRF Title:"); Phrase textPhrase = new Phrase(); createNodePhrase("QSAR_title", xmldoc, textPhrase, i_font); ident_title.setFont(bi_font); p = new Paragraph(); p.add(ident_title); p.add(textPhrase); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); java.util.Date now = new java.util.Date(); java.text.DateFormat df = java.text.DateFormat.getDateInstance(); String date = df.format(now); ident_title = new Chunk("Printing Date:"); ident_text = new Chunk(date); ident_title.setFont(bi_font); ident_text.setFont(i_font); p = new Paragraph(); p.add(ident_title); p.add(ident_text); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); p = new Paragraph(""); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); cell = new PdfPCell(table1); cell.setPadding(0f); table.addCell(cell); } catch (Throwable x) { x.printStackTrace(); } //table.addCell(new PdfPCell(png, true)); cell.addElement(new Chunk(png_right, +14, -40)); table.addCell(cell); pdfdoc.add(table); pdfdoc.add(new Paragraph(16)); } catch (Exception x) { x.printStackTrace(); } }
From source file:ambit2.data.qmrf.Qmrf_Xml_Pdf.java
License:Open Source License
public void headerTable(Document pdfdoc, org.w3c.dom.Document xmldoc) { try {//ww w. ja v a 2s. c o m int header_font_size = 10; Image png_left = Image .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png")); Image png_right = Image .getInstance(Qmrf_Xml_Pdf.class.getClassLoader().getResource("ambit/data/qmrf/logo.png")); png_left.setAlignment(Image.LEFT); png_right.setAlignment(Image.RIGHT); png_left.scalePercent(60); png_right.scalePercent(60); //png.scaleAbsolute(76, 67); //png.setAlignment(Image.MIDDLE); PdfPCell cell; float[] widths = { 1f, 5f, 1f }; float[] widths1 = { 1f }; PdfPTable table = new PdfPTable(widths); PdfPTable table1 = new PdfPTable(widths1); table.setWidthPercentage(100); cell = new PdfPCell(); cell.setMinimumHeight(70); cell.addElement(new Chunk(png_left, +14, -40)); table.addCell(cell); String Text = ""; try { Text = findNodeValue(xml_QMRF_number, xmldoc); Chunk ident_title = new Chunk("QMRF identifier (ECB Inventory):"); Chunk ident_text = new Chunk(Text); Font bi_font = new Font(baseFont, header_font_size, Font.BOLDITALIC); Font i_font = new Font(baseFont, header_font_size, Font.ITALIC); ident_title.setFont(bi_font); ident_text.setFont(i_font); Paragraph p = new Paragraph(); p.add(ident_title); p.add(ident_text); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); ident_title = new Chunk("QMRF Title:"); Phrase textPhrase = new Phrase(); createNodePhrase("QSAR_title", xmldoc, textPhrase, i_font); ident_title.setFont(bi_font); p = new Paragraph(); p.add(ident_title); p.add(textPhrase); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); java.util.Date now = new java.util.Date(); java.text.DateFormat df = java.text.DateFormat.getDateInstance(); String date = df.format(now); ident_title = new Chunk("Printing Date:"); ident_text = new Chunk(date); ident_title.setFont(bi_font); ident_text.setFont(i_font); p = new Paragraph(); p.add(ident_title); p.add(ident_text); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); p = new Paragraph(""); cell = new PdfPCell(p); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table1.addCell(cell); cell = new PdfPCell(table1); cell.setPadding(0f); table.addCell(cell); } catch (Throwable x) { x.printStackTrace(); } //table.addCell(new PdfPCell(png, true)); cell.addElement(new Chunk(png_right, +14, -40)); table.addCell(cell); pdfdoc.add(table); pdfdoc.add(new Paragraph(16)); } catch (Exception x) { x.printStackTrace(); } }
From source file:ambit2.db.reporters.PDFReporter.java
public void header(Document output, Q query) { output.addCreationDate();/*from w w w . java2s . c o m*/ output.addCreator(getClass().getName()); output.addSubject(""); output.addAuthor("http://ambit.sourceforge.net"); output.addHeader("License", getLicenseURI()); output.addTitle(query.toString()); output.addKeywords(query.toString()); if (getLicenseURI() != null) { HeaderFooter footer = new HeaderFooter(new Phrase(String.format("License %s", getLicenseURI())), false); footer.setAlignment(Element.ALIGN_CENTER); output.setFooter(footer); } output.open(); font = new Font(Font.TIMES_ROMAN, 10, Font.NORMAL); table = new PdfPTable(new float[] { 3f, 5f }); table.setWidthPercentage(100); try { writeHeader(output); } catch (Exception x) { } }
From source file:binky.reportrunner.engine.renderers.exporters.HTMLExporter.java
License:Open Source License
@Override public void export(ResultSet resultSet, String label, OutputStream outputStream) throws ExportException { try {/* w w w . ja va 2 s . c o m*/ Document document = new Document(); HtmlWriter.getInstance(document, outputStream); // open the document object document.open(); ResultSetMetaData metaData = resultSet.getMetaData(); Table table = new Table(metaData.getColumnCount()); for (int i = 1; i <= metaData.getColumnCount(); i++) { Paragraph para = new Paragraph(metaData.getColumnName(i), new Font(Font.HELVETICA, 10, Font.BOLD)); Cell cell = new Cell(para); table.addCell(cell); } while (resultSet.next()) { for (int i = 1; i <= metaData.getColumnCount(); i++) { Paragraph para = new Paragraph("" + resultSet.getObject(i), new Font(Font.HELVETICA, 10, Font.NORMAL)); Cell cell = new Cell(para); table.addCell(cell); } } document.add(table); document.close(); } catch (DocumentException e) { throw new ExportException(e.getMessage(), e); } catch (SQLException e) { throw new ExportException(e.getMessage(), e); } }
From source file:binky.reportrunner.engine.renderers.exporters.PDFExporter.java
License:Open Source License
@Override public void export(ResultSet resultSet, String label, OutputStream outputStream) throws ExportException { try {/*from w w w. java2s . c o m*/ Document document = new Document(); PdfWriter.getInstance(document, outputStream); // open the document object document.open(); ResultSetMetaData metaData = resultSet.getMetaData(); PdfPTable table = new PdfPTable(metaData.getColumnCount()); for (int i = 1; i <= metaData.getColumnCount(); i++) { Paragraph para = new Paragraph(metaData.getColumnName(i), new Font(Font.HELVETICA, 10, Font.BOLD)); PdfPCell cell = new PdfPCell(para); table.addCell(cell); } while (resultSet.next()) { for (int i = 1; i <= metaData.getColumnCount(); i++) { Paragraph para = new Paragraph("" + resultSet.getObject(i), new Font(Font.HELVETICA, 10, Font.NORMAL)); PdfPCell cell = new PdfPCell(para); table.addCell(cell); } } document.add(table); document.close(); } catch (DocumentException e) { throw new ExportException(e.getMessage(), e); } catch (SQLException e) { throw new ExportException(e.getMessage(), e); } }
From source file:br.com.nfsconsultoria.azcontrole.bean.VendaBean.java
public void preProcessPDF(Object document) throws IOException, BadElementException, DocumentException { Document pdf = (Document) document; pdf.setPageSize(PageSize.A4);//from w w w. j a v a2 s. co m pdf.addAuthor("Luis Carlos Santos"); pdf.addTitle("Acordo Cadastrados"); pdf.addCreator("NFS Consultoria"); pdf.addSubject("Acordo Cadastrados"); pdf.open(); Font catFont = new Font(Font.TIMES_ROMAN, 18, Font.BOLD); Paragraph p = new Paragraph("Relatrio de Acordos", catFont); p.setAlignment(Element.ALIGN_CENTER); p.setSpacingAfter(20); ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); String logo = externalContext.getRealPath("") + File.separator + "resources" + File.separator + "images" + File.separator + "banner.png"; pdf.add(Image.getInstance(logo)); pdf.add(p); }
From source file:bucks.AuditSheet.java
License:Open Source License
void generateSheet(HttpServletResponse res, List<Batch> batches) { //// www. j av a 2s . com // paper size legal (A4) 8.5 x 11 // page 1-inch = 72 points // String spacer = " \n"; ServletOutputStream out = null; String filename = "marketbucks_audit_sheet.pdf"; try { // space // Rectangle pageSize = new Rectangle(612, 792); // 8.5" X 11" Document document = new Document(pageSize, 36, 36, 18, 18);// 18,18,54,35 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(document, baos); document.open(); URL imgUrl = new URL(imageUrl); Image image = Image.getInstance(imgUrl); image.scalePercent(20f); // image.scaleAbsolute(100f, 100f);// width, height // image.setRotation(3.1f); // in radians // image.setRotationDegrees(90f); // degrees // image.setSpacingBefore(10f); // image.setSpacingAfter(10f); // image.setWidthPercentage(25.0f); Font fnt = new Font(Font.TIMES_ROMAN, 12, Font.NORMAL); Font fntb = new Font(Font.TIMES_ROMAN, 12, Font.BOLD); Font fntb2 = new Font(Font.TIMES_ROMAN, 14, Font.BOLD); Phrase spacePhrase = new Phrase(); Chunk ch = new Chunk(spacer, fnt); spacePhrase.add(ch); float[] widths = { 25f, 75f }; // percentages PdfPTable headTable = new PdfPTable(widths); headTable.setWidthPercentage(100); headTable.getDefaultCell().setBorder(Rectangle.NO_BORDER); headTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); PdfPCell cell = new PdfPCell(image); cell.setBorder(Rectangle.NO_BORDER); cell.setHorizontalAlignment(Element.ALIGN_CENTER); headTable.addCell(cell); Phrase phrase = new Phrase(); ch = new Chunk("Printed Market Bucks Audit Sheet\n ", fntb2); phrase.add(ch); Paragraph pp = new Paragraph(); pp.setIndentationLeft(20); pp.setAlignment(Element.ALIGN_LEFT); pp.add(phrase); cell = new PdfPCell(pp); cell.setBorder(Rectangle.NO_BORDER); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); headTable.addCell(cell); document.add(headTable); // document.add(spacePhrase); document.add(spacePhrase); // float[] widths3 = { 50f, 50f }; // percentages PdfPTable table = new PdfPTable(widths3); table.setWidthPercentage(100); table.getDefaultCell().setBorder(Rectangle.NO_BORDER); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); phrase = new Phrase(); ch = new Chunk(" Date: ", fntb); phrase.add(ch); ch = new Chunk(Helper.getToday() + "\n\n\n", fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk(" ", fntb); // empty cell phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); // document.add(table); // phrase = new Phrase(new Chunk("\n", fnt)); document.add(phrase); // float[] widths2 = { 15f, 10f, 15f, 15f, 15f, 15f, 15f }; // percentages table = new PdfPTable(widths2); table.setWidthPercentage(90); // table.getDefaultCell().setBorder(Rectangle.NO_BORDER); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); // table.getDefaultCell().setPadding(5); phrase = new Phrase(); ch = new Chunk("Count of MB/GC", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("Value", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_BOTTOM); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("Total Dollars", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("Printed By", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_BOTTOM); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("Start Number", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("End Number", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("Printed Date", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // // next rows // for (Batch one : batches) { phrase = new Phrase(); ch = new Chunk(one.getBatch_size(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(1f); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("$" + one.getValue() + ".00", fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(1f); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk(moneyFormat.format(one.getTotal()), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(1f); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk(one.getUser().toString(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(1f); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk(one.getStart_seq(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(1f); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk(one.getEnd_seq(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(1f); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk(one.getDate(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(1f); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); } document.add(table); // document.add(spacePhrase); document.add(spacePhrase); // ch = new Chunk("Audit By:____________________________________________________________________\n\n", fnt); phrase = new Phrase(); phrase.add(ch); document.add(phrase); ch = new Chunk(" :_______________________________________)_____________________________\n\n", fnt); phrase = new Phrase(); phrase.add(ch); document.add(phrase); ch = new Chunk(" :_____________________________________________________________________\n\n", fnt); phrase = new Phrase(); phrase.add(ch); document.add(phrase); // document.add(spacePhrase); document.add(spacePhrase); // document.close(); writer.close(); res.setHeader("Expires", "0"); res.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); res.setHeader("Pragma", "public"); // // setting the content type res.setHeader("Content-Disposition", " attachment; filename=" + filename); res.setContentType("application/pdf"); // // the contentlength is needed for MSIE!!! res.setContentLength(baos.size()); // out = res.getOutputStream(); if (out != null) { baos.writeTo(out); } } catch (Exception ex) { System.err.println(ex); } }
From source file:bucks.RedeemInvoice.java
License:Open Source License
void generateInvoice(HttpServletResponse res, Redeem redeem) { //// w w w.j a v a2 s.c o m // paper size legal (A4) 8.5 x 11 // page 1-inch = 72 points // String spacer = " \n"; User user = redeem.getUser(); Vendor vendor = redeem.getVendor(); List<Buck> bk_bucks = redeem.getBk_bucks(); List<Buck> gc5_bucks = redeem.getGc5_bucks(); List<Buck> gc20_bucks = redeem.getGc20_bucks(); List<Buck> gc_bucks = redeem.getGc_bucks(); List<Dispute> disputes = redeem.getDisputes(); int bk_total = 0, gc5_total = 0, gc20_total = 0, total = 0; if (bk_bucks.size() > 0) { bk_total = bk_bucks.size() * 3; } if (gc5_bucks.size() > 0) { gc5_total = gc5_bucks.size() * 5; } if (gc20_bucks.size() > 0) { gc20_total = gc20_bucks.size() * 20; } total = bk_total + gc5_total + gc20_total; String vendor_name = ""; if (vendor != null) { vendor_name = vendor.getCleanName(); } ServletOutputStream out = null; String filename = "invoice_" + vendor_name + "_" + redeem.getId() + ".pdf"; try { // space // Rectangle pageSize = new Rectangle(612, 792); // 8.5" X 11" Document document = new Document(pageSize, 36, 36, 18, 18);// 18,18,54,35 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(document, baos); document.open(); Image image = Image.getInstance(imageUrl); // image = Image.getInstance(byte bytes[]);// generated image image.scalePercent(20f); Font fnt = new Font(Font.TIMES_ROMAN, 12, Font.NORMAL); Font fntb = new Font(Font.TIMES_ROMAN, 12, Font.BOLD); Font fntb2 = new Font(Font.TIMES_ROMAN, 14, Font.BOLD); // Phrase spacePhrase = new Phrase(); Chunk ch = new Chunk(spacer, fnt); spacePhrase.add(ch); float[] widths = { 15f, 85f }; // percentages PdfPTable headTable = new PdfPTable(widths); headTable.setWidthPercentage(100); headTable.getDefaultCell().setBorder(Rectangle.NO_BORDER); headTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // image.setWidthPercentage(15.0f); PdfPCell cell = new PdfPCell(image); cell.setBorder(Rectangle.NO_BORDER); cell.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.setFixedHeight(46f); headTable.addCell(cell); Phrase phrase = new Phrase(); ch = new Chunk( "City of Bloomington Community Farmers Market\n Gift Certificates/Market Bucks Invoice\n ", fntb2); phrase.add(ch); Paragraph pp = new Paragraph(); pp.setIndentationLeft(20); pp.setAlignment(Element.ALIGN_LEFT); pp.add(phrase); cell = new PdfPCell(pp); cell.setBorder(Rectangle.NO_BORDER); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); headTable.addCell(cell); document.add(headTable); // float[] widths3 = { 50f, 50f }; // percentages PdfPTable table = new PdfPTable(widths3); table.setWidthPercentage(100); table.getDefaultCell().setBorder(Rectangle.NO_BORDER); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); phrase = new Phrase(); ch = new Chunk(" Vendor Name: ", fntb); phrase.add(ch); ch = new Chunk(vendor.getFullName(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("Date: ", fntb); phrase.add(ch); ch = new Chunk(redeem.getDate(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); phrase = new Phrase(); ch = new Chunk(" Vendor Number: ", fntb); phrase.add(ch); ch = new Chunk(vendor.getId(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); phrase = new Phrase(); // empty cell ch = new Chunk(" ", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); table.addCell(cell); // extra space table.addCell(cell); document.add(table); // phrase = new Phrase(new Chunk("\n", fnt)); document.add(phrase); // float[] widths2 = { 30f, 25f, 15f, 15f, 15f }; // percentages table = new PdfPTable(widths2); table.setWidthPercentage(90); // table.getDefaultCell().setBorder(Rectangle.NO_BORDER); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); // table.getDefaultCell().setPadding(5); phrase = new Phrase(); ch = new Chunk("Type of Voucher", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("City Account Number", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("Quantity", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("Multiply", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("Value", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setBorderWidth(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // // second row phrase = new Phrase(); ch = new Chunk("Market Bucks", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("201-18-1865003-47240", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); // phrase = new Phrase(); String str = " "; if (bk_bucks.size() > 0) { str = "" + bk_bucks.size(); } ch = new Chunk(str, fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setPadding(4); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("x $3.00 = ", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); phrase = new Phrase(); str = " "; if (bk_total > 0) { str = "$" + bk_total + ".00"; } ch = new Chunk(str, fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setPadding(4); table.addCell(cell); // // 3rd row phrase = new Phrase(); ch = new Chunk("$5 Gift Cerificates", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("201-18-1865003-47230", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); // phrase = new Phrase(); str = " "; if (gc5_bucks.size() > 0) { str = "" + gc5_bucks.size(); } ch = new Chunk(str, fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setPadding(4); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("x $5.00 = ", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); phrase = new Phrase(); str = " "; if (gc5_total > 0) { str = "$" + gc5_total + ".00"; } ch = new Chunk(str, fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setPadding(4); table.addCell(cell); // // 4th row phrase = new Phrase(); ch = new Chunk("$20 Gift Certificates", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("201-18-1865003-47230", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); // phrase = new Phrase(); str = " "; if (gc20_bucks.size() > 0) { str = "" + gc20_bucks.size(); } ch = new Chunk(str, fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setPadding(4); table.addCell(cell); phrase = new Phrase(); ch = new Chunk("x $20.00 = ", fnt); phrase.add(ch); cell = new PdfPCell(phrase); table.addCell(cell); str = " "; if (gc20_total > 0) { str = "$" + gc20_total + ".00"; } phrase = new Phrase(); ch = new Chunk(str, fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setPadding(4); table.addCell(cell); // // 5th row total phrase = new Phrase(); ch = new Chunk(" Total Value: ", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setColspan(4); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setBorderWidth(2f); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk("$" + total + ".00", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_CENTER); cell.setBorderWidth(2f); cell.setPadding(4); cell.setLeading(2f, 1.2f); table.addCell(cell); document.add(table); // // float[] withs5 = { 100f }; table = new PdfPTable(withs5); table.setWidthPercentage(100); cell = new PdfPCell(new Phrase(" ")); cell.setBorder(Rectangle.BOTTOM); // cell.setBorderColorBottom(Color.BLACK); cell.setBorderWidthBottom(2f); table.addCell(cell); document.add(table); // ch = new Chunk("\n", fnt); phrase = new Phrase(); phrase.add(ch); document.add(phrase); // // float[] widths3 = {50f, 50f}; // percentages table = new PdfPTable(widths3); table.setWidthPercentage(100); // table.getDefaultCell().setBorder(Rectangle.NO_BORDER); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); phrase = new Phrase(); ch = new Chunk(" Data Entry Completed by: ", fntb); phrase.add(ch); ch = new Chunk(user.getFullName(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); // phrase = new Phrase(); ch = new Chunk(" Invoice Number: ", fntb); phrase.add(ch); ch = new Chunk(redeem.getId(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); document.add(table); document.add(spacePhrase); document.add(spacePhrase); // // adding bucks and GC // float[] widths4 = { 100f }; // percentages table = new PdfPTable(widths4); table.setWidthPercentage(100); // table.getDefaultCell().setBorder(Rectangle.NO_BORDER); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); int row = 1, col = 1; if (bk_bucks.size() > 0) { phrase = new Phrase(); ch = new Chunk(" Market Bucks ", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorderWidth(2f); table.addCell(cell); phrase = new Phrase(); for (Buck one : bk_bucks) { ch = new Chunk("" + one.getId() + " ", fntb); phrase.add(ch); col++; if (col > 15) { row++; col = 1; cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); phrase = new Phrase(); } } if (col > 1) { cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); } if (row < 10) { for (int j = 0; j < 2; j++) { phrase = new Phrase(); ch = new Chunk(" ", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); row++; } } } col = 1; if (gc_bucks.size() > 0) { phrase = new Phrase(); ch = new Chunk(" Gift Certificates ", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorderWidth(2f); table.addCell(cell); phrase = new Phrase(); for (Buck one : gc_bucks) { ch = new Chunk("" + one.getId() + " ", fntb); phrase.add(ch); col++; if (col > 15) { row++; col = 1; cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); phrase = new Phrase(); } } if (col > 1) { cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); } if (row < 15) { for (int j = 0; j < 2; j++) { phrase = new Phrase(); ch = new Chunk(" ", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); row++; } } } if (disputes != null && disputes.size() > 0) { phrase = new Phrase(); ch = new Chunk(" Disputed Market Bucks and/or Gift Certificates (number: reason)", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setBorderWidth(2f); table.addCell(cell); row++; for (Dispute one : disputes) { phrase = new Phrase(); ch = new Chunk(one.getBuck_id() + ": " + one.getReason(), fnt); phrase.add(ch); if (one.hasNotes()) { ch = new Chunk("\nNotice: " + one.getNotes(), fnt); phrase.add(ch); row++; } cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); row++; } } if (redeem.hasNotes()) { phrase = new Phrase(); ch = new Chunk("\nNotice: " + redeem.getNotes(), fnt); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); row++; } if (row < 18) { for (int j = row; j < 18; j++) { phrase = new Phrase(); ch = new Chunk(" ", fntb); phrase.add(ch); cell = new PdfPCell(phrase); cell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(cell); } } document.add(table); document.close(); writer.close(); res.setHeader("Expires", "0"); res.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); res.setHeader("Pragma", "public"); // // setting the content type res.setHeader("Content-Disposition", " attachment; filename=" + filename); res.setContentType("application/pdf"); // // the contentlength is needed for MSIE!!! res.setContentLength(baos.size()); // out = res.getOutputStream(); if (out != null) { baos.writeTo(out); } } catch (Exception ex) { System.err.println(ex); } }
From source file:ca.sqlpower.architect.profile.output.ProfilePDFFormat.java
License:Open Source License
/** * @param widths The maximum width of each column's contents in * points. THIS ARRAY WILL BE MODIFIED to the width of the widest * single word in the heading if it is wider than the existing * width value for that column. Words are split using the default * settings for java.util.StringTokenizer. * @param headerTopNColumns reference to the null count/% inner table in the header * @param headerValueColumns reference to the unique count/% inner table in the header * @param headerLengthColumns reference to the length min/max/avg inner table in the header * @param headerUniqueColumns reference to the value min/max/avg inner table in the header * @param headerNullColumns reference to the top N Value/count inner table in the header * we will resert widths of these inner table after we have all rows *//* ww w . j av a 2 s .c o m*/ private void addHeaderRow(TableProfileResult result, ProfileTableStructure profile, BaseFont bf, float titleFSize, float colHeadingFSize, float[] widths) throws DocumentException, IOException, SQLObjectException { int ncols = headings.length; Font titleFont = new Font(bf, titleFSize, Font.BOLD); Font colHeadingFont = new Font(bf, colHeadingFSize); PdfPTable table = profile.getMainTable(); SQLTable sqlTable = result.getProfiledObject(); // TableProfileResult tProfile = (TableProfileResult) pm.getResult(sqlTable); PdfPTable infoTable = new PdfPTable(2); StringBuffer heading = new StringBuffer(); heading.append("Connection: ").append(sqlTable.getParentDatabase().getName()).append("\n"); heading.append("Table: ").append(SQLObjectUtils.toQualifiedName(sqlTable, SQLDatabase.class)); if (result.getException() != null) { heading.append("\nProfiling Error"); if (result.getException() != null) { heading.append(":\n").append(result.getException()); StackTraceElement[] stackTrace = result.getException().getStackTrace(); for (int i = 0; i < STACK_TRACE_LENGTH && i < stackTrace.length; i++) { StackTraceElement element = stackTrace[i]; heading.append("\n ").append(element.getFileName()).append(".").append(element.getClassName()) .append(".").append(element.getMethodName()).append("(").append(element.getLineNumber()) .append(")"); } if (stackTrace.length > STACK_TRACE_LENGTH) { heading.append("\n ... ").append(stackTrace.length).append(" more"); } } } else { PdfPCell infoCell; infoCell = new PdfPCell(new Phrase("Row Count:", colHeadingFont)); infoCell.setBorder(Rectangle.NO_BORDER); infoCell.setHorizontalAlignment(Element.ALIGN_RIGHT); infoTable.addCell(infoCell); infoCell = new PdfPCell(new Phrase(String.valueOf(result.getRowCount()), colHeadingFont)); infoCell.setBorder(Rectangle.NO_BORDER); infoTable.addCell(infoCell); infoCell = new PdfPCell(new Phrase("Create Date:", colHeadingFont)); infoCell.setBorder(Rectangle.NO_BORDER); infoCell.setHorizontalAlignment(Element.ALIGN_RIGHT); infoTable.addCell(infoCell); DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); infoCell = new PdfPCell(new Phrase(df.format(new Date(result.getCreateStartTime())), colHeadingFont)); infoCell.setBorder(Rectangle.NO_BORDER); infoTable.addCell(infoCell); infoCell = new PdfPCell(new Phrase("Elapsed:", colHeadingFont)); infoCell.setBorder(Rectangle.NO_BORDER); infoCell.setHorizontalAlignment(Element.ALIGN_RIGHT); infoTable.addCell(infoCell); infoCell = new PdfPCell(new Phrase(result.getTimeToCreate() + "ms", colHeadingFont)); infoCell.setBorder(Rectangle.NO_BORDER); infoTable.addCell(infoCell); } PdfPCell hcell = new PdfPCell(new Phrase(heading.toString(), titleFont)); hcell.setColspan(ncols - 3); hcell.setBorder(Rectangle.NO_BORDER); hcell.setVerticalAlignment(Element.ALIGN_BOTTOM); table.addCell(hcell); hcell = new PdfPCell(infoTable); hcell.setColspan(3); hcell.setBorder(Rectangle.NO_BORDER); table.addCell(hcell); if (sqlTable.getColumns().size() > 0) { int colNo = 0; // column name Phrase colTitle = new Phrase("Column Name", colHeadingFont); PdfPCell cell = new PdfPCell(colTitle); cell.setBorder(Rectangle.BOTTOM | Rectangle.TOP); cell.setBorderWidth(2); cell.setBackgroundColor(new Color(200, 200, 200)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); // ensure column width is at least enough for widest word in heading widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; // date type colTitle = new Phrase("Data Type", colHeadingFont); cell = new PdfPCell(colTitle); cell.setBorder(Rectangle.BOTTOM | Rectangle.TOP); cell.setBorderWidth(2); cell.setBackgroundColor(new Color(200, 200, 200)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; // null count and % colTitle = new Phrase("NULL", colHeadingFont); cell = new PdfPCell(colTitle); cell.setColspan(2); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableNullColumn().addCell(cell); colTitle = new Phrase("#", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableNullColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; colTitle = new Phrase("%", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableNullColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; cell = new PdfPCell(profile.getInnerTableNullColumn()); cell.setColspan(2); cell.setBackgroundColor(new Color(200, 200, 200)); cell.setBorderWidth(2); cell.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cell); // unique count and % colTitle = new Phrase("Unique", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setColspan(2); profile.getInnerTableUniqueColumn().addCell(cell); colTitle = new Phrase("#", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableUniqueColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; colTitle = new Phrase("%", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableUniqueColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; cell = new PdfPCell(profile.getInnerTableUniqueColumn()); cell.setColspan(2); cell.setBackgroundColor(new Color(200, 200, 200)); cell.setBorder(Rectangle.TOP | Rectangle.BOTTOM); cell.setBorderWidth(2); table.addCell(cell); // length max/min/avg colTitle = new Phrase("Length", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setColspan(3); profile.getInnerTableLengthColumn().addCell(cell); colTitle = new Phrase("Min", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableLengthColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; colTitle = new Phrase("Max", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableLengthColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; colTitle = new Phrase("Avg", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableLengthColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; cell = new PdfPCell(profile.getInnerTableLengthColumn()); cell.setColspan(3); cell.setBackgroundColor(new Color(200, 200, 200)); cell.setBorderWidth(2); cell.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cell); // value max/min/avg colTitle = new Phrase("Value", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setColspan(3); profile.getInnerTableValueColumn().addCell(cell); colTitle = new Phrase("Min", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableValueColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; colTitle = new Phrase("Max", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableValueColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; colTitle = new Phrase("Avg", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableValueColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; cell = new PdfPCell(profile.getInnerTableValueColumn()); cell.setColspan(3); cell.setBackgroundColor(new Color(200, 200, 200)); cell.setBorderWidth(2); cell.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cell); // top n colTitle = new Phrase("Top N", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setColspan(2); profile.getInnerTableTopNColumn().addCell(cell); colTitle = new Phrase("Values", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableTopNColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; colTitle = new Phrase("#", colHeadingFont); cell = new PdfPCell(colTitle); cell.setHorizontalAlignment(Element.ALIGN_CENTER); profile.getInnerTableTopNColumn().addCell(cell); widths[colNo] = Math.max(widths[colNo], bf.getWidthPoint(colTitle.content(), colHeadingFSize)); colNo++; cell = new PdfPCell(profile.getInnerTableTopNColumn()); cell.setColspan(2); cell.setBackgroundColor(new Color(200, 200, 200)); cell.setBorderWidth(2); cell.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cell); } else { hcell = new PdfPCell(new Phrase("No Column Found in the table", titleFont)); hcell.setColspan(ncols); hcell.setBorder(Rectangle.BOTTOM); hcell.setVerticalAlignment(Element.ALIGN_LEFT); table.addCell(hcell); } table.setHeaderRows(2); }
From source file:classroom.filmfestival_a.Movies03.java
@SuppressWarnings("unchecked") public static void main(String[] args) { // step 1/* w w w .ja va 2 s . c o m*/ Document document = new Document(); try { // step 2 PdfWriter.getInstance(document, new FileOutputStream(RESULT)); // step 3 document.open(); // step 4 Session session = (Session) MySessionFactory.currentSession(); Query q = session.createQuery("from FilmTitle order by title"); java.util.List<FilmTitle> results = q.list(); Paragraph p; Chunk c; Font bold = new Font(Font.HELVETICA, 12, Font.BOLD); Font italic = new Font(Font.HELVETICA, 12, Font.ITALIC); for (FilmTitle movie : results) { p = new Paragraph(30); c = new Chunk(movie.getTitle(), bold); p.add(c); c = new Chunk(" (" + movie.getYear() + ")", italic); p.add(c); document.add(p); Set<DirectorName> directors = movie.getDirectorNames(); List list = new List(); for (DirectorName director : directors) { list.add(director.getName()); } document.add(list); } // step 5 document.close(); } catch (IOException e) { LOGGER.error("IOException: ", e); } catch (DocumentException e) { LOGGER.error("DocumentException: ", e); } }