List of usage examples for com.lowagie.text.pdf PdfPTable setTotalWidth
public void setTotalWidth(float columnWidth[]) throws DocumentException
From source file:CPS.Core.TODOLists.PDFExporter.java
License:Open Source License
private Document prepareDocument(String filename, final String title, final String author, final String creator, final Rectangle pageSize) { System.out.println("DEBUG(PDFExporter): Creating document: " + filename); Document d = new Document(); d.setPageSize(pageSize);/*from w ww . ja v a2 s .c om*/ // TODO alter page orientation? maybe useful for seed order worksheet d.addTitle(title); d.addAuthor(author); // d.addSubject( ); // d.addKeywords( ); d.addCreator(creator); // left, right, top, bottom - scale in points (~72 points/inch) d.setMargins(35, 35, 35, 44); try { PdfWriter writer = PdfWriter.getInstance(d, new FileOutputStream(filename)); // add header and footer writer.setPageEvent(new PdfPageEventHelper() { public void onEndPage(PdfWriter writer, Document document) { try { Rectangle page = document.getPageSize(); PdfPTable head = new PdfPTable(3); head.getDefaultCell().setBorderWidth(0); head.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT); head.addCell(new Phrase(author, fontHeadFootItal)); head.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER); head.addCell(new Phrase(title, fontHeadFootReg)); head.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); head.addCell(""); head.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin()); head.writeSelectedRows(0, -1, document.leftMargin(), page.getHeight() - document.topMargin() + head.getTotalHeight(), writer.getDirectContent()); PdfPTable foot = new PdfPTable(3); foot.getDefaultCell().setBorderWidth(0); foot.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_LEFT); foot.addCell(new Phrase(creator, fontHeadFootItal)); foot.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER); foot.addCell(""); foot.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); foot.addCell(new Phrase("Page " + document.getPageNumber(), fontHeadFootReg)); foot.setTotalWidth(page.getWidth() - document.leftMargin() - document.rightMargin()); foot.writeSelectedRows(0, -1, document.leftMargin(), document.bottomMargin(), writer.getDirectContent()); } catch (Exception e) { throw new ExceptionConverter(e); } } }); } catch (Exception e) { e.printStackTrace(); } return d; }
From source file:de.dhbw.humbuch.util.PDFHandler.java
/** * Set the logo of Humboldt on the left corner and the current date on the * right corner/* w ww . ja v a 2 s. c o m*/ * * @param document * reference of the pdfDocument object */ protected void addHeading(Document document) { Paragraph paragraph = new Paragraph(); PdfPTable table = createMyStandardTable(2); table.setTotalWidth(TABLEWIDTH); PdfPCell cell; Image img = new ResourceLoader("pdf/humboldt_logo.png").getImage(); img.setAlignment(Element.ALIGN_BOTTOM); img.scaleToFit(205f, 65f); cell = new PdfPCell(img); cell.setBorder(0); table.addCell(cell); String date = new SimpleDateFormat("dd.MM.yyyy", Locale.GERMAN).format(Calendar.getInstance().getTime()); cell = new PdfPCell(new Phrase(date)); cell.setBorder(0); cell.setHorizontalAlignment(Element.ALIGN_RIGHT); cell.setVerticalAlignment(Element.ALIGN_BOTTOM); table.addCell(cell); cell = new PdfPCell(new Phrase("")); cell.setBorder(Rectangle.BOTTOM); table.addCell(cell); cell = new PdfPCell(new Phrase("")); cell.setBorder(Rectangle.BOTTOM); table.addCell(cell); paragraph.add(table); addEmptyLine(paragraph, 1); try { document.add(paragraph); } catch (DocumentException e) { e.printStackTrace(); } }
From source file:de.dhbw.humbuch.util.PDFHandler.java
/** * Create a standard table with constant table width. * /*from www .jav a2 s .co m*/ * @param columnNumber * set how many columns the table will have * @return table */ protected static PdfPTable createMyStandardTable(int columnNumber) { PdfPTable table = new PdfPTable(columnNumber); table.setLockedWidth(true); table.setTotalWidth(TABLEWIDTH); return table; }
From source file:de.dhbw.humbuch.util.PDFHandler.java
/** * Create a standard table with constant table width. * /*from w w w . j ava 2s .c o m*/ * @param columnNumber * set how many columns the table will have * @param columnWidths * set the ratio between the columns. If null, all columns will * be equal. * @return table */ protected static PdfPTable createMyStandardTable(int columnNumber, float[] columnWidths) { PdfPTable table = new PdfPTable(columnNumber); table.setLockedWidth(true); table.setTotalWidth(TABLEWIDTH); if (!(columnWidths == null) && (columnWidths.length != 0)) { try { table.setWidths(columnWidths); } catch (DocumentException e) { System.err.println("Could not set columnWidths of standardTable " + e.getStackTrace()); } } return table; }
From source file:de.tr1.cooperator.manager.web.CreateSubscriberListAction.java
License:Open Source License
/** * This method is called by the struts-framework if the submit-button is pressed. * It creates a PDF-File and puts in into the output-stream of the response. *///from www .jav a 2 s . c o m public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { CreateSubscriberListForm myForm = (CreateSubscriberListForm) form; boolean bSortByName; if (myForm.getSortBy().equals(myForm.SORTBYPN)) bSortByName = false; else bSortByName = true; //create Collection for the results... Event eEvent = EventManager.getInstance().getEventByID(myForm.getEventID()); Collection cSubscriberList = UserManager.getInstance().getUsersByCollection(eEvent.getSubscriberList()); Collection cExamResults = EventResultManager.getInstance().getResults(eEvent.getID()); Iterator cSubscriberListIT = cSubscriberList.iterator(); Collection cSubscriberResultList = new ArrayList(); while (cSubscriberListIT.hasNext()) { User CurUser = (User) cSubscriberListIT.next(); String UserPNR = CurUser.getPersonalNumber(); Iterator cExamResultsIT = cExamResults.iterator(); ExamResult curExamResult = null; String ResultUserPNR = null; while (cExamResultsIT.hasNext()) { curExamResult = (ExamResult) cExamResultsIT.next(); ResultUserPNR = curExamResult.getUserPersonalNumber(); if (UserPNR.equals(ResultUserPNR)) break; } if (UserPNR.equals(ResultUserPNR)) { if (bSortByName) { UserResultSortByName URS = new UserResultSortByName(CurUser, "" + curExamResult.getResult()); cSubscriberResultList.add(URS); } else { UserResultSortByPersonalNumber URS = new UserResultSortByPersonalNumber(CurUser, "" + curExamResult.getResult()); cSubscriberResultList.add(URS); } } else { if (bSortByName) { UserResultSortByName URS = new UserResultSortByName(CurUser, "-"); cSubscriberResultList.add(URS); } else { UserResultSortByPersonalNumber URS = new UserResultSortByPersonalNumber(CurUser, "-"); cSubscriberResultList.add(URS); } } } //sort List Collections.sort((List) cSubscriberResultList); BaseFont bf; //36pt = 0.5inch Document document = new Document(PageSize.A4, 36, 36, 72, 72); try { bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); } catch (Exception e) { Log.addLog("CreateSubscriberListAction: Error creating BaseFont: " + e); //2do: add ErrorMessage and return to inputFormular! return mapping.findForward("GeneralFailure"); } //calculate the number of cols and their width int cols = 0; ArrayList alWidth = new ArrayList(); float boldItalicFactor = 1.2f; if (myForm.getShowNumber()) alWidth.add(new Float(boldItalicFactor * bf.getWidthPoint(TABLEHEADER_NUMBER, TABLEHEADER_FONTSIZE))); if (myForm.getShowPersonalNumber()) alWidth.add(new Float( boldItalicFactor * bf.getWidthPoint(TABLEHEADER_PERSONALNUMBER, TABLEHEADER_FONTSIZE))); if (myForm.getShowName()) alWidth.add(new Float(boldItalicFactor * bf.getWidthPoint(TABLEHEADER_NAME, TABLEHEADER_FONTSIZE))); if (myForm.getShowEmail()) alWidth.add(new Float(boldItalicFactor * bf.getWidthPoint(TABLEHEADER_EMAIL, TABLEHEADER_FONTSIZE))); if (myForm.getShowResult()) alWidth.add(new Float(boldItalicFactor * bf.getWidthPoint(TABLEHEADER_RESULT, TABLEHEADER_FONTSIZE))); if (myForm.getAddInfoField()) alWidth.add(new Float(boldItalicFactor * bf.getWidthPoint(TABLEHEADER_INFO, TABLEHEADER_FONTSIZE))); if (myForm.getAddSignField()) alWidth.add(new Float(boldItalicFactor * bf.getWidthPoint(TABLEHEADER_SIGN, TABLEHEADER_FONTSIZE))); cols = alWidth.size(); float totalWidth = 0; //calculate the whole length Iterator alIterator = alWidth.iterator(); for (; alIterator.hasNext(); totalWidth += ((Float) alIterator.next()).floatValue()) ; //calculate relativ width for the table float[] width = new float[cols]; alIterator = alWidth.iterator(); int i = 0; while (alIterator.hasNext()) { float pixLength = ((Float) alIterator.next()).floatValue(); //alWidthRelativ.add( new Float( pixLength/totalWidth ) ); width[i] = pixLength / totalWidth; i++; } //needed for the shrink (enlarge?) float shrinkFactor; try { //1st: set correct outputstream PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); //1.5st: set content-stuff response.setContentType("application/pdf"); //2nd: set EventManager for PageEvents to Helper writer.setPageEvent( new CreateSubscriberListActionHelper(myForm.getHeaderLeft(), myForm.getHeaderRight())); //3rd: open document for editing the content document.open(); //4th: add content Phrase pInfoText = new Phrase(myForm.getInfoText(), new Font(bf, 12, Font.BOLD)); document.add(pInfoText); //PdfPTable( cols ) PdfPTable table = new PdfPTable(width); float documentWidth = document.right() - document.left(); if (documentWidth < totalWidth) { table.setTotalWidth(documentWidth); shrinkFactor = documentWidth / totalWidth; } else { table.setTotalWidth(totalWidth); shrinkFactor = 1; } table.setLockedWidth(true); Font headerFont = new Font(bf, TABLEHEADER_FONTSIZE * shrinkFactor, Font.BOLDITALIC); Font cellFont = new Font(bf, TABLECELL_FONTSIZE * shrinkFactor, Font.NORMAL); if (myForm.getShowNumber()) table.addCell(new Phrase(TABLEHEADER_NUMBER, headerFont)); if (myForm.getShowPersonalNumber()) table.addCell(new Phrase(TABLEHEADER_PERSONALNUMBER, headerFont)); if (myForm.getShowName()) table.addCell(new Phrase(TABLEHEADER_NAME, headerFont)); if (myForm.getShowEmail()) table.addCell(new Phrase(TABLEHEADER_EMAIL, headerFont)); if (myForm.getShowResult()) table.addCell(new Phrase(TABLEHEADER_RESULT, headerFont)); if (myForm.getAddInfoField()) table.addCell(new Phrase(TABLEHEADER_INFO, headerFont)); if (myForm.getAddSignField()) table.addCell(new Phrase(TABLEHEADER_SIGN, headerFont)); //fill table Iterator iSRL = cSubscriberResultList.iterator(); int counter = 1; while (iSRL.hasNext()) { UserResult curResult = (UserResult) iSRL.next(); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); if (myForm.getShowNumber()) table.addCell(new Phrase("" + counter++, cellFont)); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); if (myForm.getShowPersonalNumber()) table.addCell(new Phrase(curResult.getPersonalNumber(), cellFont)); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); if (myForm.getShowName()) table.addCell(new Phrase(curResult.getSurname() + ", " + curResult.getFirstName(), cellFont)); if (myForm.getShowEmail()) table.addCell(new Phrase(curResult.getEmailAddress(), cellFont)); if (myForm.getShowResult()) table.addCell(new Phrase(curResult.getResult(), cellFont)); if (myForm.getAddInfoField()) table.addCell(new Phrase("", cellFont)); if (myForm.getAddSignField()) table.addCell(new Phrase("", cellFont)); } //set how many rows are header... table.setHeaderRows(1); document.add(table); //5th: close document, write the output to the stream... document.close(); } catch (Exception de) { Log.addLog("CreateSubscriberListAction: Error creating PDF: " + de); } //we dont need to return a forward, because we write directly to the outputstream! return null; }
From source file:fr.opensagres.xdocreport.itext.extension.ExtendedPdfPTable.java
License:Open Source License
private PdfPTable createTable(PdfPCell cell) { PdfPTable table = new PdfPTable(1); table.setSpacingBefore(this.spacingBefore()); table.setSpacingAfter(this.spacingAfter()); table.setHorizontalAlignment(this.getHorizontalAlignment()); table.setTotalWidth(cell.getPaddingLeft() + this.getTotalWidth() + cell.getPaddingRight()); table.setLockedWidth(true);/*from ww w .ja va 2 s .c o m*/ table.setSplitLate(false); table.addCell(cell); return table; }
From source file:gov.medicaid.binders.LicenseInformationFormBinder.java
License:Apache License
@Override public void renderPDF(EnrollmentType enrollment, Document document, Map<String, Object> model) throws DocumentException { String ns = NAMESPACE;/*w w w . j a va 2 s .c om*/ if ("Y".equals(PDFHelper.value(model, ns, "bound"))) { // License Info Section PdfPTable licenseInfo = new PdfPTable(new float[] { 3, 10, 10, 10, 10, 10, 10 }); licenseInfo.getDefaultCell().setBorder(0); licenseInfo.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER); licenseInfo.setTotalWidth(72 * 7); licenseInfo.setLockedWidth(true); PDFHelper.addCenterCell(licenseInfo, "#"); PDFHelper.addCenterCell(licenseInfo, "Specialty"); PDFHelper.addCenterCell(licenseInfo, "Type of License/Certification"); PDFHelper.addCenterCell(licenseInfo, "License/Certification #"); PDFHelper.addCenterCell(licenseInfo, "Original Issue Date (MM/DD/YYYY)"); PDFHelper.addCenterCell(licenseInfo, "Renewal End Date (MM/DD/YYYY)"); PDFHelper.addCenterCell(licenseInfo, "Issuing State"); licenseInfo.completeRow(); int size = Integer.parseInt(PDFHelper.value(model, ns, "attachmentSize")); for (int i = 0; i < size; i++) { PDFHelper.addCenterCell(licenseInfo, String.valueOf(i + 1)); PDFHelper.addCenterCell(licenseInfo, ""); PDFHelper.addCenterCell(licenseInfo, PDFHelper.value(model, ns, "licenseType", i)); PDFHelper.addCenterCell(licenseInfo, PDFHelper.value(model, ns, "licenseNumber", i)); PDFHelper.addCenterCell(licenseInfo, PDFHelper.value(model, ns, "originalIssueDate", i)); PDFHelper.addCenterCell(licenseInfo, PDFHelper.value(model, ns, "renewalDate", i)); PDFHelper.addCenterCell(licenseInfo, PDFHelper.value(model, ns, "issuingState", i)); } document.add(licenseInfo); } }
From source file:gov.medicaid.binders.MemberInfoFormBinder.java
License:Apache License
@Override public void renderPDF(EnrollmentType enrollment, Document document, Map<String, Object> model) throws DocumentException { String ns = NAMESPACE;/*w w w .j a v a 2s .co m*/ if ("Y".equals(PDFHelper.value(model, ns, "bound"))) { // License Info Section PdfPTable membersInfo = new PdfPTable(new float[] { 5, 65 }); membersInfo.getDefaultCell().setBorder(0); membersInfo.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER); membersInfo.setTotalWidth(72 * 7); membersInfo.setLockedWidth(true); int size = Integer.parseInt(PDFHelper.value(model, ns, "memberSize")); for (int i = 0; i < size; i++) { PDFHelper.addCenterCell(membersInfo, String.valueOf(i + 1)); PdfPTable memberDetail = new PdfPTable(2); PDFHelper.addLabelValueCell(memberDetail, "NPI", PDFHelper.value(model, ns, "npi", i)); PDFHelper.addLabelValueCell(memberDetail, "Provider Type", PDFHelper.value(model, ns, "providerType", i)); PDFHelper.addLabelValueCell(memberDetail, "Name", PDFHelper.value(model, ns, "name", i)); PDFHelper.addLabelValueCell(memberDetail, "Date Of Birth", PDFHelper.value(model, ns, "dob", i)); PDFHelper.addLabelValueCell(memberDetail, "SSN", PDFHelper.value(model, ns, "ssn", i)); PDFHelper.addLabelValueCell(memberDetail, "Start Date", PDFHelper.value(model, ns, "startDate", i)); membersInfo.addCell(memberDetail); membersInfo.completeRow(); } document.add(membersInfo); } }
From source file:gov.medicaid.services.impl.ExportServiceBean.java
License:Apache License
/** * Sets the given table to take an entire page with. * /*ww w .ja va 2 s . c o m*/ * @param table * the table to make full width */ private static void setTableAsFullPage(PdfPTable table) { table.getDefaultCell().setBorder(0); table.setTotalWidth(72 * 7); table.setLockedWidth(true); }
From source file:gov.medicaid.services.impl.ExportServiceBean.java
License:Apache License
/** * Exports the search results into PDF./*from w w w . ja v a2 s .c om*/ * * @param requests * the list to be exported * @param status * the status filter * @param outputStream * the stream to export to * @throws PortalServiceException * for any errors encountered */ public void export(List<UserRequest> requests, String status, OutputStream outputStream) throws PortalServiceException { PdfPTable resultTable; try { Document document = new Document(); PdfWriter.getInstance(document, outputStream); document.open(); resultTable = new PdfPTable(new float[] { 3, 8, 8, 8, 10, 25, 8, 8, 8 }); resultTable.getDefaultCell().setBorder(0); resultTable.getDefaultCell().setHorizontalAlignment(PdfPCell.ALIGN_CENTER); resultTable.setTotalWidth(72 * 7); resultTable.setLockedWidth(true); resultTable.addCell(createHeaderCell("Enrollments", 9)); resultTable.completeRow(); addCenterCell(resultTable, "#"); addCenterCell(resultTable, "NPI/UMPI"); addCenterCell(resultTable, "Date Created"); addCenterCell(resultTable, "Request Type"); addCenterCell(resultTable, "Provider Type"); addCenterCell(resultTable, "Provider Name"); addCenterCell(resultTable, "Risk Level"); addCenterCell(resultTable, "Status"); addCenterCell(resultTable, "Status Date"); resultTable.completeRow(); int i = 0; for (UserRequest userRequest : requests) { addCenterCell(resultTable, String.valueOf(++i)); addCenterCell(resultTable, userRequest.getNpi()); addCenterCell(resultTable, BinderUtils.formatCalendar(BinderUtils.toCalendar(userRequest.getCreateDate()))); addCenterCell(resultTable, userRequest.getRequestType()); addCenterCell(resultTable, userRequest.getProviderType()); addCenterCell(resultTable, userRequest.getProviderName()); addCenterCell(resultTable, userRequest.getRiskLevel()); addCenterCell(resultTable, userRequest.getStatus()); addCenterCell(resultTable, BinderUtils.formatCalendar(BinderUtils.toCalendar(userRequest.getStatusDate()))); } resultTable.setSpacingAfter(20); document.add(resultTable); document.close(); } catch (DocumentException e) { throw new PortalServiceException("Export failed, see log for additional details.", e); } }