List of usage examples for com.lowagie.text.pdf PdfPTable setTotalWidth
public void setTotalWidth(float columnWidth[]) throws DocumentException
From source file:org.sonar.report.pdf.Header.java
License:Open Source License
public void onEndPage(PdfWriter writer, Document document) { try {/* w w w. j av a 2 s . c o m*/ Image logoImage = Image.getInstance(logo); Rectangle page = document.getPageSize(); PdfPTable head = new PdfPTable(4); head.getDefaultCell().setVerticalAlignment(PdfCell.ALIGN_MIDDLE); head.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER); head.addCell(logoImage); Phrase projectName = new Phrase(project.getName(), FontFactory.getFont(FontFactory.COURIER, 12, Font.NORMAL, Color.GRAY)); Phrase phrase = new Phrase("Sonar PDF Report", FontFactory.getFont(FontFactory.COURIER, 12, Font.NORMAL, Color.GRAY)); head.getDefaultCell().setColspan(2); head.addCell(phrase); head.getDefaultCell().setColspan(1); head.addCell(projectName); head.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin()); head.writeSelectedRows(0, -1, document.leftMargin(), page.getHeight() - 20, writer.getDirectContent()); head.setSpacingAfter(10); } catch (BadElementException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
From source file:org.sonarqube.report.extendedpdf.ExtendedHeader.java
License:Open Source License
public void onEndPage(PdfWriter writer, Document document) { String pageTemplate = "/templates/page.pdf"; try {/*from ww w . j a v a 2s.c o m*/ PdfContentByte cb = writer.getDirectContentUnder(); PdfReader reader = new PdfReader(this.getClass().getResourceAsStream(pageTemplate)); PdfImportedPage page = writer.getImportedPage(reader, 1); cb.addTemplate(page, 0, 0); Font font = FontFactory.getFont(FontFactory.COURIER, 12, Font.NORMAL, Color.GRAY); Rectangle pageSize = document.getPageSize(); PdfPTable head = new PdfPTable(1); head.getDefaultCell().setVerticalAlignment(PdfCell.ALIGN_MIDDLE); head.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_CENTER); head.getDefaultCell().setBorder(0); Phrase projectName = new Phrase(project.getName(), font); head.addCell(projectName); head.setTotalWidth(pageSize.getWidth() - document.leftMargin() - document.rightMargin()); head.writeSelectedRows(0, -1, document.leftMargin(), pageSize.getHeight() - 15, writer.getDirectContent()); head.setSpacingAfter(10); PdfPTable foot = new PdfPTable(1); foot.getDefaultCell().setVerticalAlignment(PdfCell.ALIGN_MIDDLE); foot.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT); foot.getDefaultCell().setBorder(0); SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy hh:mm"); Phrase projectAnalysisDate = new Phrase(df.format(project.getMeasures().getDate()), font); foot.addCell(projectAnalysisDate); foot.setTotalWidth(pageSize.getWidth() - document.leftMargin() - document.rightMargin()); foot.writeSelectedRows(0, -1, document.leftMargin(), 20, writer.getDirectContent()); foot.setSpacingBefore(10); } catch (IOException e) { Logger.error("Cannot find the required template: " + pageTemplate); e.printStackTrace(); } }
From source file:org.sonarqube.report.extendedpdf.OverviewPDFReporter.java
License:Open Source License
protected void printFrontPage(Document frontPageDocument, PdfWriter frontPageWriter) throws org.dom4j.DocumentException, ReportException { String frontPageTemplate = "/templates/frontpage.pdf"; try {/*from w w w .j a va 2s.com*/ PdfContentByte cb = frontPageWriter.getDirectContent(); PdfReader reader = new PdfReader(this.getClass().getResourceAsStream(frontPageTemplate)); PdfImportedPage page = frontPageWriter.getImportedPage(reader, 1); frontPageDocument.newPage(); cb.addTemplate(page, 0, 0); Project project = getProject(); Rectangle pageSize = frontPageDocument.getPageSize(); PdfPTable projectInfo = new PdfPTable(1); projectInfo.getDefaultCell().setVerticalAlignment(PdfCell.ALIGN_MIDDLE); projectInfo.getDefaultCell().setHorizontalAlignment(PdfCell.ALIGN_LEFT); projectInfo.getDefaultCell().setBorder(Rectangle.BOTTOM); projectInfo.getDefaultCell().setPaddingBottom(10); projectInfo.getDefaultCell().setBorderColor(Color.GRAY); Font font = FontFactory.getFont(FontFactory.COURIER, 18, Font.NORMAL, Color.LIGHT_GRAY); Phrase projectName = new Phrase("Project: " + project.getName(), font); projectInfo.addCell(projectName); Phrase projectVersion = new Phrase("Version: " + project.getMeasures().getVersion(), font); projectInfo.addCell(projectVersion); SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy hh:mm"); Phrase projectAnalysisDate = new Phrase("Analysis Date: " + df.format(project.getMeasures().getDate()), font); projectInfo.addCell(projectAnalysisDate); projectInfo.setTotalWidth( pageSize.getWidth() - frontPageDocument.leftMargin() * 2 - frontPageDocument.rightMargin() * 2); projectInfo.writeSelectedRows(0, -1, frontPageDocument.leftMargin(), pageSize.getHeight() - 575, frontPageWriter.getDirectContent()); projectInfo.setSpacingAfter(10); } catch (IOException e) { Logger.error("Cannot find the required template: " + frontPageTemplate); e.printStackTrace(); } }
From source file:org.tellervo.desktop.print.BasicBoxLabel.java
License:Open Source License
public void generateBoxLabel(OutputStream output) { try {/*from ww w. ja v a 2s .com*/ PdfWriter writer = PdfWriter.getInstance(document, output); document.setPageSize(PageSize.LETTER); document.open(); cb = writer.getDirectContent(); // Set basic metadata document.addAuthor("Tellervo"); document.addSubject("Tellervo Box Labels"); PdfPTable table = new PdfPTable(2); table.setTotalWidth(495f); table.setLockedWidth(true); for (WSIBox b : boxlist) { Paragraph p = new Paragraph(); p.add(new Chunk(b.getTitle() + Chunk.NEWLINE, labelTitleFont)); p.add(new Chunk(Chunk.NEWLINE + b.getComments() + Chunk.NEWLINE, bodyFont)); p.add(new Chunk(App.getLabName() + Chunk.NEWLINE + Chunk.NEWLINE, bodyFont)); p.add(new Chunk(this.getBarCode(b), 0, 0, true)); PdfPCell cell = new PdfPCell(p); cell.setPaddingLeft(15f); cell.setPaddingRight(15f); cell.setBorderColor(Color.LIGHT_GRAY); table.addCell(cell); } PdfPCell cell = new PdfPCell(new Paragraph()); cell.setBorderColor(Color.LIGHT_GRAY); table.addCell(cell); document.add(table); document.close(); /*float top = document.top(15); int row = 1; for(int i = 0; i< boxlist.size(); i = i+2) { log.debug("Document left : "+document.left()); log.debug("Document right: "+document.right()); log.debug("Top : "+top); // Column 1 ColumnText ct1a = new ColumnText(cb); ct1a.setSimpleColumn(document.left(), top-210, 368, top, 20, Element.ALIGN_LEFT); ColumnText ct1b = new ColumnText(cb); ct1b.setSimpleColumn(document.left(), top-70, document.left()+206, top-150, 20, Element.ALIGN_LEFT); try{ WSIBox b1 = boxlist.get(i); ct1a.addText(getTitlePDF(b1)); ct1a.go(); ct1b.addElement(getBarCode(b1)); ct1b.go(); } catch (Exception e) { log.debug("Failed writing box label in left column where i="+i); } // Column 2 ColumnText ct2a = new ColumnText(cb); ct2a.setSimpleColumn(306, top-210, document.right(), top, 20, Element.ALIGN_LEFT); ColumnText ct2b = new ColumnText(cb); ct2b.setSimpleColumn(306, top-70, 512, top-80, 20, Element.ALIGN_LEFT); try{ WSIBox b2 = boxlist.get(i+1); ct2a.addText(getTitlePDF(b2)); ct2a.go(); ct2b.addElement(getBarCode(b2)); ct2b.go(); } catch (Exception e) { log.debug("Failed writing box label in right column where i="+i); //e.printStackTrace(); } // Column 2 /* ColumnText ct2 = new ColumnText(cb); ct2.setSimpleColumn(370, //llx top-100, //lly document.right(0), //urx top+15, //ury 20, //leading Element.ALIGN_RIGHT //alignment ); try{ WSIBox b2 = boxlist.get(i+1); ct2.addText(getTitlePDF(b2)); ct2.addElement(getBarCode(b2)); ct2.go(); } catch (Exception e) { log.debug("Failed writing box label where i="+i+1); } */ /* top = top-160; if(row==5) { top = document.top(15); document.newPage(); row=1; } else { row++; } }*/ } catch (DocumentException de) { System.err.println(de.getMessage()); } // Close the document document.close(); }
From source file:org.webguitoolkit.ui.util.export.PDFEvent.java
License:Apache License
public void onEndPage(PdfWriter writer, Document document) { TableExportOptions exportOptions = wgtTable.getExportOptions(); try {//from w ww . j a v a 2 s . c om Rectangle page = document.getPageSize(); if (exportOptions.isShowDefaultHeader() || StringUtils.isNotEmpty(exportOptions.getHeaderImage())) { PdfPTable head = new PdfPTable(3); head.getDefaultCell().setBorder(Rectangle.NO_BORDER); Paragraph title = new Paragraph(wgtTable.getTitle()); title.setAlignment(Element.ALIGN_LEFT); head.addCell(title); Paragraph empty = new Paragraph(""); head.addCell(empty); if (StringUtils.isNotEmpty(exportOptions.getHeaderImage())) { try { URL absoluteFileUrl = wgtTable.getPage().getClass() .getResource("/" + exportOptions.getHeaderImage()); if (absoluteFileUrl != null) { String path = absoluteFileUrl.getPath(); Image jpg = Image.getInstance(path); jpg.scaleAbsoluteHeight(40); jpg.scaleAbsoluteWidth(200); head.addCell(jpg); } } catch (Exception e) { logger.error(e.getMessage()); Paragraph noImage = new Paragraph("Image not found!"); head.addCell(noImage); } } else { head.addCell(empty); } head.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin()); head.writeSelectedRows(0, -1, document.leftMargin(), page.getHeight() - document.topMargin() + head.getTotalHeight(), writer.getDirectContent()); } if (exportOptions.isShowDefaultFooter() || StringUtils.isNotEmpty(exportOptions.getFooterText()) || exportOptions.isShowPageNumber()) { PdfPTable foot = new PdfPTable(3); String footerText = exportOptions.getFooterText() != null ? exportOptions.getFooterText() : ""; if (!exportOptions.isShowDefaultFooter()) { foot.addCell(new Paragraph(footerText)); foot.addCell(new Paragraph("")); } else { foot.getDefaultCell().setBorder(Rectangle.NO_BORDER); String leftText = ""; if (StringUtils.isNotEmpty(exportOptions.getFooterText())) { leftText = exportOptions.getFooterText(); } Paragraph left = new Paragraph(leftText); left.setAlignment(Element.ALIGN_LEFT); foot.addCell(left); DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.MEDIUM, TextService.getLocale()); Date today = new Date(); String date = df.format(today); Paragraph center = new Paragraph(date); center.setAlignment(Element.ALIGN_CENTER); foot.addCell(center); } if (exportOptions.isShowPageNumber()) { Paragraph right = new Paragraph( TextService.getString("pdf.page@Page:") + " " + writer.getPageNumber()); right.setAlignment(Element.ALIGN_LEFT); foot.addCell(right); foot.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin()); foot.writeSelectedRows(0, -1, document.leftMargin(), document.bottomMargin(), writer.getDirectContent()); } else { foot.addCell(new Paragraph("")); } } } catch (Exception e) { throw new ExceptionConverter(e); } }
From source file:questions.tables.AddTableAsHeaderFooter.java
public void onEndPage(PdfWriter writer, Document document) { try {/*from w w w . j a v a 2s. c om*/ // Header headerTable.writeSelectedRows(0, -1, document.leftMargin(), document.top() + headerTable.getTotalHeight(), writer.getDirectContent()); // Footer PdfPTable footerTable = new PdfPTable(2); PdfPCell cell1 = new PdfPCell(new Phrase("page " + writer.getPageNumber())); footerTable.addCell(cell1); PdfPCell cell2 = new PdfPCell(Image.getInstance(tpl)); footerTable.addCell(cell2); footerTable.setTotalWidth(document.right() - document.left()); footerTable.writeSelectedRows(0, -1, document.leftMargin(), document.bottomMargin(), writer.getDirectContent()); } catch (Exception e) { throw new ExceptionConverter(e); } }
From source file:questions.tables.TablesWriteSelected.java
public static void main(String[] args) { Document document = new Document(PageSize.A4.rotate()); try {/* ww w . j a v a 2 s . co m*/ PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); document.open(); // the content of the columns PdfPTable items = new PdfPTable(2); items.setTotalWidth(TOTAL_WIDTH); for (int i = 0; i < 100; ++i) { items.addCell("item " + i); items.addCell("some item"); } int rows = items.size(); // adding the stuff to the document int column = 0; int start; int end = 0; int row = 0; float available = 0; float[][] x = { { document.left(), document.left() + TOTAL_WIDTH }, { document.right() - TOTAL_WIDTH, document.right() } }; while (row < rows) { start = row; if (column == 0) { PdfPTable table = new PdfPTable(1); table.setWidthPercentage(100); table.addCell("EmployeeSheets"); table.addCell("Page " + writer.getPageNumber()); document.add(table); available = document.top() - table.getTotalHeight() - 10 - document.bottom(); } float needed = items.getRowHeight(start); while (needed < available && row < rows) { needed += items.getRowHeight(++row); end = row; } items.writeSelectedRows(start, end, x[column][0], document.bottom() + available, writer.getDirectContent()); if (++column >= x.length) { column = 0; document.newPage(); } } } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } document.close(); }
From source file:s2s.report.MyPageEvents.java
License:GNU General Public License
@Override public void onStartPage(PdfWriter writer, Document m_document) { if (!bShowHeader) { return;/*from w w w . ja v a 2 s .c o m*/ } int pageN = writer.getPageNumber(); if (!m_writeIndex) { if (!IndexAlreadyWrited) { pageN += m_iCount; } } else { pageN = ++m_iCurrentIndexPage; } PdfPTable tbl = new PdfPTable(3); String text = " " + ApplicationConfigurator.LanguageManager.getString("Pag") + " " + pageN + " " + ApplicationConfigurator.LanguageManager.getString("Di") + " "; tbl.setTotalWidth(m_rect.getWidth() - 60); tbl.addCell(new Phrase(strTopLeft, REPORT_SETTINGS.ftText10)); PdfPCell pc = new PdfPCell(new Phrase(strTopCenter, REPORT_SETTINGS.ftText11)); pc.setHorizontalAlignment(Element.ALIGN_CENTER); tbl.addCell(pc); Phrase ph = new Phrase(text, REPORT_SETTINGS.ftText10); tbl.addCell(ph); tbl.writeSelectedRows(0, -1, 30, m_rect.getHeight() - 30, cb); cb.addTemplate(template, bRotate ? 647 : 500, m_rect.getHeight() - 30 - 12); }
From source file:s2s.report.MyPageEvents.java
License:GNU General Public License
@Override public void onEndPage(PdfWriter writer, Document m_document) { if ((strBottomLeft.length() == 0) && (strBottomRight.length() == 0) && (bShowDate == false) && strFirstBottomLeft.length() == 0 && strFirstBottomRight.length() == 0) { return;/* ww w . j av a 2 s. co m*/ } int iColumns = 0; PdfPTable tbl1 = null; PdfPTable tbl2 = null; // Stampa gli eventuali valori delle celle (sinistra e destra) di un // ulteriore pi di pagina, precedente a quello standard, senza bordi di // tabella. if (strFirstBottomLeft.length() != 0 || strFirstBottomRight.length() != 0) { if (strFirstBottomLeft.length() != 0) { iColumns++; } if (strFirstBottomRight.length() != 0) { iColumns++; } tbl1 = new PdfPTable(iColumns); tbl1.setTotalWidth(m_rect.getWidth() - 60); if (strFirstBottomLeft.length() != 0) { PdfPCell cell = new PdfPCell(new Phrase(strFirstBottomLeft, REPORT_SETTINGS.ftText10)); cell.setBorder(Rectangle.NO_BORDER); cell.setHorizontalAlignment(Element.ALIGN_LEFT); tbl1.addCell(cell); } if (strFirstBottomRight.length() != 0) { PdfPCell cell = new PdfPCell(new Phrase(strFirstBottomRight, REPORT_SETTINGS.ftText10)); cell.setBorder(Rectangle.NO_BORDER); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); tbl1.addCell(cell); } } // Stampa gli eventuali valori delle celle (sinistra e destra) // del pi di pagina standard. if ((strBottomLeft.length() != 0) || (strBottomRight.length() != 0) || (bShowDate == true)) { iColumns = 0; if (strBottomLeft.length() != 0) { iColumns++; } if (strBottomRight.length() != 0) { iColumns++; } if (bShowDate) { iColumns++; } tbl2 = new PdfPTable(iColumns); tbl2.setTotalWidth(m_rect.getWidth() - 60); if (strBottomLeft.length() != 0) { tbl2.addCell(new Phrase(strBottomLeft, REPORT_SETTINGS.ftText10)); } if (strBottomRight.length() != 0) { tbl2.addCell(new Phrase(strBottomRight, REPORT_SETTINGS.ftText10)); } if (bShowDate) { PdfPCell pc = new PdfPCell(new Phrase( Formatter.format(new java.sql.Date(System.currentTimeMillis())), REPORT_SETTINGS.ftText11)); pc.setHorizontalAlignment(Element.ALIGN_CENTER); tbl2.addCell(pc); } } // Scrive il pi di pagina precedente a quello standard if (tbl1 != null) { tbl1.writeSelectedRows(0, -1, 30, (tbl2 != null ? 150 : 100), cb); } // Scrive il pi di pagina standard if (tbl2 != null) { tbl2.writeSelectedRows(0, -1, 30, 50, cb); } }
From source file:se.idega.idegaweb.commune.school.business.StudentAddressLabelsWriter.java
License:Open Source License
/** * Adds a student address to the specified document. *///from www. j av a 2 s. c o m protected void addAddress(PdfWriter writer, IWResourceBundle iwrb, MailReceiver student, int studentCount) { // User student = member.getStudent(); // Address address = userBusiness.getUsersMainAddress(student); // PostalCode postalCode = address != null ? address.getPostalCode() : null; // String name = student.getFirstName() + " " + student.getLastName(); // String streetAddress = address != null ? address.getStreetAddress() : ""; // String postalAddress = ""; // if (address != null && postalCode != null) { // String zip = postalCode.getPostalCode(); // if (zip.length() > 4) { // zip = zip.substring(0, 3) + " " + zip.substring(3, 5); // } // postalAddress = zip + " " + postalCode.getName(); // } PdfPTable table = new PdfPTable(1); table.setTotalWidth(ADDRESS_TABLE_WIDTH); table.getDefaultCell().setPadding(3); PdfPCell cell; cell = new PdfPCell( new Phrase(iwrb.getLocalizedString(KEY_TO_CUSTODIAN_FOR, "To custodian for") + ":", this.font)); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(student.getStudentName(), this.font)); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(student.getStreetAddress(), this.font)); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(new Phrase(student.getPostalAddress(), this.font)); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); int row = (studentCount / NR_OF_COLUMNS) % NR_OF_ROWS; int column = studentCount % NR_OF_COLUMNS; table.writeSelectedRows(0, -1, LEFT_MARGIN + column * ADDRESS_TABLE_WIDTH, TOP_START - row * ADDRESS_TABLE_HEIGHT, writer.getDirectContent()); }