List of usage examples for com.lowagie.text Element ALIGN_TOP
int ALIGN_TOP
To view the source code for com.lowagie.text Element ALIGN_TOP.
Click Source Link
From source file:org.openswing.swing.export.java.ExportToPDF14.java
License:Open Source License
private void prepareGenericComponent(PdfPTable parentTable, int parentTableCols, Document document, ExportOptions exportOptions, ComponentExportOptions opt) throws Throwable { if (opt.getCellsContent() == null || opt.getCellsContent().length == 0) return;/*www . j a va2 s .c om*/ int cols = opt.getCellsContent()[0].length; Object[] row = null; Object obj = null; SimpleDateFormat sdatf = new SimpleDateFormat(exportOptions.getDateTimeFormat()); int[] headerwidths = new int[cols]; for (int i = 0; i < headerwidths.length; i++) headerwidths[i] = (int) PageSize.A4.width() / cols; PdfPTable table = new PdfPTable(cols); table.setWidths(headerwidths); table.setWidthPercentage(90); table.getDefaultCell().setBorderWidth(2); table.getDefaultCell().setBorderColor(Color.black); table.getDefaultCell().setGrayFill(exportOptions.getExportToPDFAdapter().getHeaderGrayFill()); table.getDefaultCell().setPadding(3); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); table.setHeaderRows(0); table.getDefaultCell().setBorderWidth(0); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP); for (int i = 0; i < opt.getCellsContent().length; i++) { row = opt.getCellsContent()[i]; for (int j = 0; j < row.length; j++) { obj = row[j]; if (obj != null) { if (obj instanceof Date || obj instanceof java.util.Date || obj instanceof java.sql.Timestamp) { table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(new Phrase(sdatf.format((java.util.Date) obj), (Font) exportOptions.getExportToPDFAdapter().getGenericComponentFont(i, j, obj))); } else { table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(new Phrase(obj.toString(), (Font) exportOptions.getExportToPDFAdapter().getGenericComponentFont(i, j, obj))); } } else { table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(new Phrase("", (Font) exportOptions.getExportToPDFAdapter().getGenericComponentFont(i, j, null))); } } } if (parentTable != null) { PdfPCell cell = new PdfPCell(table); cell.setColspan(parentTableCols); parentTable.addCell(cell); } else document.add(table); }
From source file:org.openswing.swing.export.java.ExportToPDF14.java
License:Open Source License
private void prepareGrid(PdfPTable parentTable, int parentTableCols, Document document, ExportOptions exportOptions, GridExportOptions opt) throws Throwable { // prepare vo getters methods... String methodName = null;/*from w w w . ja v a 2 s . co m*/ String attributeName = null; Hashtable gettersMethods = new Hashtable(); Method[] voMethods = opt.getValueObjectType().getMethods(); for (int i = 0; i < voMethods.length; i++) { methodName = voMethods[i].getName(); if (methodName.startsWith("get")) { attributeName = methodName.substring(3, 4).toLowerCase() + methodName.substring(4); if (opt.getExportAttrColumns().contains(attributeName)) gettersMethods.put(attributeName, voMethods[i]); } } Response response = null; int start = 0; int rownum = 0; Object value = null; Object vo = null; int type; SimpleDateFormat sdf = new SimpleDateFormat(exportOptions.getDateFormat()); SimpleDateFormat sdatf = new SimpleDateFormat(exportOptions.getDateTimeFormat()); SimpleDateFormat stf = new SimpleDateFormat(exportOptions.getTimeFormat()); int headerwidths[] = new int[opt.getExportColumns().size()]; int total = 0; for (int i = 0; i < opt.getExportColumns().size(); i++) { headerwidths[i] = Math.max(opt.getExportColumns().get(i).toString().length() * 10, ((Integer) opt.getColumnsWidth().get(opt.getExportAttrColumns().get(i))).intValue()); total += headerwidths[i]; } Paragraph line = null; if (opt.getTitle() != null && !opt.getTitle().equals("")) { line = new Paragraph(opt.getTitle(), (Font) exportOptions.getExportToPDFAdapter().getFontTitle()); line.setAlignment(Element.ALIGN_CENTER); document.add(line); document.add(new Paragraph("\n")); } String[] filters = opt.getFilteringConditions(); if (filters != null) { for (int i = 0; i < filters.length; i++) { line = new Paragraph(filters[i]); document.add(line); } document.add(new Paragraph("\n")); } PdfPTable table = new PdfPTable(opt.getExportColumns().size()); table.setWidths(headerwidths); table.setWidthPercentage(90); table.getDefaultCell().setBorderWidth(2); table.getDefaultCell().setBorderColor(Color.black); table.getDefaultCell().setGrayFill(exportOptions.getExportToPDFAdapter().getHeaderGrayFill()); table.getDefaultCell().setPadding(3); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); for (int i = 0; i < opt.getExportColumns().size(); i++) table.addCell(new Phrase(opt.getExportColumns().get(i).toString(), (Font) exportOptions .getExportToPDFAdapter().getHeaderFont(opt.getExportAttrColumns().get(i).toString()))); table.setHeaderRows(1); table.getDefaultCell().setBorderWidth(1); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP); for (int j = 0; j < opt.getTopRows().size(); j++) { // create a row for each top rows... table.getDefaultCell().setGrayFill(exportOptions.getExportToPDFAdapter().getTopRowsGrayFill(j)); vo = opt.getTopRows().get(j); appendRow(document, exportOptions, table, vo, opt, gettersMethods, sdf, sdatf, stf, j, 0); } do { response = opt.getGridDataLocator().loadData(GridParams.NEXT_BLOCK_ACTION, start, opt.getFilteredColumns(), opt.getCurrentSortedColumns(), opt.getCurrentSortedVersusColumns(), opt.getValueObjectType(), opt.getOtherGridParams()); if (response.isError()) throw new Exception(response.getErrorMessage()); boolean even = false; for (int j = 0; j < ((VOListResponse) response).getRows().size(); j++) { if (even) { table.getDefaultCell().setGrayFill(exportOptions.getExportToPDFAdapter().getEvenRowsGrayFill()); even = false; } else { table.getDefaultCell().setGrayFill(exportOptions.getExportToPDFAdapter().getOddRowsGrayFill()); even = true; } vo = ((VOListResponse) response).getRows().get(j); appendRow(document, exportOptions, table, vo, opt, gettersMethods, sdf, sdatf, stf, rownum, 1); rownum++; } start = start + ((VOListResponse) response).getRows().size(); if (!((VOListResponse) response).isMoreRows()) break; } while (rownum < opt.getMaxRows()); for (int j = 0; j < opt.getBottomRows().size(); j++) { // create a row for each bottom rows... table.getDefaultCell().setGrayFill(exportOptions.getExportToPDFAdapter().getBottomRowsGrayFill(j)); vo = opt.getBottomRows().get(j); appendRow(document, exportOptions, table, vo, opt, gettersMethods, sdf, sdatf, stf, j, 2); } if (parentTable != null) { PdfPCell cell = new PdfPCell(table); cell.setColspan(parentTableCols); parentTable.addCell(cell); } else document.add(table); }
From source file:org.openswing.swing.export.java.ExportToPDF15.java
License:Open Source License
private void prepareGenericComponent(PdfPTable parentTable, int parentTableCols, Document document, ExportOptions exportOptions, ComponentExportOptions opt) throws Throwable { if (opt.getCellsContent() == null || opt.getCellsContent().length == 0) return;//w w w . j a v a 2s . c om int cols = opt.getCellsContent()[0].length; Object[] row = null; Object obj = null; SimpleDateFormat sdatf = new SimpleDateFormat(exportOptions.getDateTimeFormat()); int[] headerwidths = new int[cols]; for (int i = 0; i < headerwidths.length; i++) headerwidths[i] = (int) PageSize.A4.getWidth() / cols; PdfPTable table = new PdfPTable(cols); table.setWidths(headerwidths); table.setWidthPercentage(90); table.getDefaultCell().setBorderWidth(2); table.getDefaultCell().setBorderColor(Color.black); table.getDefaultCell().setGrayFill(exportOptions.getExportToPDFAdapter().getHeaderGrayFill()); table.getDefaultCell().setPadding(3); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); table.setHeaderRows(0); table.getDefaultCell().setBorderWidth(0); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP); for (int i = 0; i < opt.getCellsContent().length; i++) { row = opt.getCellsContent()[i]; for (int j = 0; j < row.length; j++) { obj = row[j]; if (obj != null) { if (obj instanceof Date || obj instanceof java.util.Date || obj instanceof java.sql.Timestamp) { table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(new Phrase(sdatf.format((java.util.Date) obj), (Font) exportOptions.getExportToPDFAdapter().getGenericComponentFont(i, j, obj))); } else { table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(new Phrase(obj.toString(), (Font) exportOptions.getExportToPDFAdapter().getGenericComponentFont(i, j, obj))); } } else { table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(new Phrase("", (Font) exportOptions.getExportToPDFAdapter().getGenericComponentFont(i, j, null))); } } } if (parentTable != null) { PdfPCell cell = new PdfPCell(table); cell.setColspan(parentTableCols); parentTable.addCell(cell); } else document.add(table); }
From source file:org.oscarehr.web.reports.ocan.NeedRatingOverTimeReportGenerator.java
License:Open Source License
private void addSummaryOfNeedsHeader(PdfPTable summaryOfNeedsTable, List<OcanNeedRatingOverTimeSummaryOfNeedsBean> currentBeanList, int loopNo) { PdfPCell headerCell = new PdfPCell(); headerCell.setPhrase(new Phrase("Summary of Needs" + (loopNo > 1 ? " (Contd.)" : ""), new Font(Font.HELVETICA, 20, Font.BOLD))); headerCell.setColspan(currentBeanList.size() * 3); headerCell.setVerticalAlignment(Element.ALIGN_TOP); headerCell.setBorder(0);/*from w w w. j av a2s .com*/ headerCell.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(headerCell); Font f = new Font(Font.HELVETICA, 14, Font.BOLD, Color.WHITE); //row1 PdfPCell c2 = null; c2 = new PdfPCell(); c2.setBorder(0); summaryOfNeedsTable.addCell(c2); if (currentBeanList.size() > 0) { c2 = new PdfPCell(); c2.setColspan(2); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase(currentBeanList.get(0).getOcanName() + "\n" + dateFormatter.format(currentBeanList.get(0).getOcanDate()), f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); } if (currentBeanList.size() > 1) { c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLACK); summaryOfNeedsTable.addCell(c2); c2 = new PdfPCell(); c2.setColspan(2); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase(currentBeanList.get(1).getOcanName() + "\n" + dateFormatter.format(currentBeanList.get(1).getOcanDate()), f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); } if (currentBeanList.size() > 2) { c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLACK); summaryOfNeedsTable.addCell(c2); c2 = new PdfPCell(); c2.setColspan(2); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase(currentBeanList.get(2).getOcanName() + "\n" + dateFormatter.format(currentBeanList.get(2).getOcanDate()), f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); } //row2 c2 = new PdfPCell(); c2.setBorder(0); summaryOfNeedsTable.addCell(c2); if (currentBeanList.size() > 0) { c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase("Consumer", f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase("Staff", f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); } if (currentBeanList.size() > 1) { c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLACK); summaryOfNeedsTable.addCell(c2); c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase("Consumer", f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase("Staff", f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); } if (currentBeanList.size() > 2) { c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLACK); summaryOfNeedsTable.addCell(c2); c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase("Consumer", f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); c2 = new PdfPCell(); c2.setBackgroundColor(Color.BLUE); c2.setPhrase(new Phrase("Staff", f)); c2.setHorizontalAlignment(Element.ALIGN_CENTER); summaryOfNeedsTable.addCell(c2); } }
From source file:org.pentaho.reporting.engine.classic.core.modules.output.table.rtf.helper.RTFPrinter.java
License:Open Source License
private void computeCellStyle(final RenderBox content, final Cell cell) { final ElementAlignment verticalAlign = content.getNodeLayoutProperties().getVerticalAlignment(); if (ElementAlignment.BOTTOM.equals(verticalAlign)) { cell.setVerticalAlignment(Element.ALIGN_BOTTOM); } else if (ElementAlignment.MIDDLE.equals(verticalAlign)) { cell.setVerticalAlignment(Element.ALIGN_MIDDLE); } else {/*w w w. ja va2 s. c o m*/ cell.setVerticalAlignment(Element.ALIGN_TOP); } final ElementAlignment textAlign = (ElementAlignment) content.getStyleSheet() .getStyleProperty(ElementStyleKeys.ALIGNMENT); if (ElementAlignment.RIGHT.equals(textAlign)) { cell.setHorizontalAlignment(Element.ALIGN_RIGHT); } else if (ElementAlignment.JUSTIFY.equals(textAlign)) { cell.setHorizontalAlignment(Element.ALIGN_JUSTIFIED); } else if (ElementAlignment.CENTER.equals(textAlign)) { cell.setHorizontalAlignment(Element.ALIGN_CENTER); } else { cell.setHorizontalAlignment(Element.ALIGN_LEFT); } }
From source file:org.pentaho.reporting.engine.classic.core.modules.output.table.rtf.itext.PatchRtfCell.java
License:Open Source License
/** * Write the cell definition part of this PatchRtfCell *///from w w w .j a v a2 s . c o m public void writeDefinition(final OutputStream result) throws IOException { if (this.mergeType == MERGE_VERT_PARENT) { result.write(DocWriter.getISOBytes("\\clvmgf")); } else if (this.mergeType == MERGE_VERT_CHILD) { result.write(DocWriter.getISOBytes("\\clvmrg")); } switch (verticalAlignment) { case Element.ALIGN_BOTTOM: result.write(DocWriter.getISOBytes("\\clvertalb")); break; case Element.ALIGN_CENTER: case Element.ALIGN_MIDDLE: result.write(DocWriter.getISOBytes("\\clvertalc")); break; case Element.ALIGN_TOP: result.write(DocWriter.getISOBytes("\\clvertalt")); break; } this.borders.writeContent(result); if (this.backgroundColor != null) { result.write(DocWriter.getISOBytes("\\clcbpat")); result.write(intToByteArray(this.backgroundColor.getColorNumber())); } this.document.outputDebugLinebreak(result); result.write(DocWriter.getISOBytes("\\clftsWidth3")); this.document.outputDebugLinebreak(result); result.write(DocWriter.getISOBytes("\\clwWidth")); result.write(intToByteArray(this.cellWidth)); this.document.outputDebugLinebreak(result); if (this.cellPadding > 0) { result.write(DocWriter.getISOBytes("\\clpadl")); result.write(intToByteArray(this.cellPadding / 2)); result.write(DocWriter.getISOBytes("\\clpadt")); result.write(intToByteArray(this.cellPadding / 2)); result.write(DocWriter.getISOBytes("\\clpadr")); result.write(intToByteArray(this.cellPadding / 2)); result.write(DocWriter.getISOBytes("\\clpadb")); result.write(intToByteArray(this.cellPadding / 2)); result.write(DocWriter.getISOBytes("\\clpadfl3")); result.write(DocWriter.getISOBytes("\\clpadft3")); result.write(DocWriter.getISOBytes("\\clpadfr3")); result.write(DocWriter.getISOBytes("\\clpadfb3")); } result.write(DocWriter.getISOBytes("\\cellx")); result.write(intToByteArray(this.cellRight)); }
From source file:org.revager.export.PDFPageEventHelper.java
License:Open Source License
@Override public void onEndPage(PdfWriter writer, Document document) { int columnNumber; try {/*from w w w . j av a2s .c o m*/ Rectangle page = document.getPageSize(); float pageWidth = page.getWidth() - document.leftMargin() - document.rightMargin(); /* * Write marks */ setMarks(writer, document); /* * Define fonts */ headBaseFont = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED); Font headFont = new Font(headBaseFont, headFontSize); footBaseFont = BaseFont.createFont(BaseFont.HELVETICA_OBLIQUE, BaseFont.CP1252, BaseFont.EMBEDDED); Font footFont = new Font(footBaseFont, footFontSize); /* * Cell fill for space between head/foot and content */ PdfPCell cellFill = new PdfPCell(); cellFill.setMinimumHeight(PDFTools.cmToPt(0.8f)); cellFill.setBorderWidth(0); /* * Write head */ if (headLogoPath != null) { columnNumber = 2; } else { columnNumber = 1; } PdfPTable head = new PdfPTable(columnNumber); Phrase phraseTitle = new Phrase(headTitle, headFont); PdfPCell cellTitle = new PdfPCell(phraseTitle); cellTitle.setHorizontalAlignment(Element.ALIGN_LEFT); cellTitle.setVerticalAlignment(Element.ALIGN_BOTTOM); cellTitle.setPaddingTop(0); cellTitle.setPaddingBottom(PDFTools.cmToPt(0.2f)); cellTitle.setPaddingLeft(0); cellTitle.setPaddingRight(0); cellTitle.setBorderWidthTop(0); cellTitle.setBorderWidthBottom(0.5f); cellTitle.setBorderWidthLeft(0); cellTitle.setBorderWidthRight(0); head.addCell(cellTitle); if (headLogoPath != null) { Image headLogo = Image.getInstance(headLogoPath); headLogo.scaleToFit(PDFTools.cmToPt(5.0f), PDFTools.cmToPt(1.1f)); PdfPCell cellLogo = new PdfPCell(headLogo); cellLogo.setHorizontalAlignment(Element.ALIGN_RIGHT); cellLogo.setVerticalAlignment(Element.ALIGN_BOTTOM); cellLogo.setPaddingTop(0); cellLogo.setPaddingBottom(PDFTools.cmToPt(0.15f)); cellLogo.setPaddingLeft(0); cellLogo.setPaddingRight(0); cellLogo.setBorderWidthTop(0); cellLogo.setBorderWidthBottom(0.5f); cellLogo.setBorderWidthLeft(0); cellLogo.setBorderWidthRight(0); head.addCell(cellLogo); head.addCell(cellFill); } head.addCell(cellFill); head.setTotalWidth(pageWidth); head.writeSelectedRows(0, -1, document.leftMargin(), page.getHeight() - document.topMargin() + head.getTotalHeight(), writer.getDirectContent()); /* * Write foot */ if (footText == null) { footText = " "; } PdfPTable foot = new PdfPTable(1); foot.addCell(cellFill); PdfPCell cellFootText = new PdfPCell(new Phrase(footText, footFont)); cellFootText.setHorizontalAlignment(Element.ALIGN_RIGHT); cellFootText.setVerticalAlignment(Element.ALIGN_TOP); cellFootText.setPaddingTop(PDFTools.cmToPt(0.15f)); cellFootText.setPaddingBottom(0); cellFootText.setPaddingLeft(0); cellFootText.setPaddingRight(0); cellFootText.setBorderWidthTop(0.5f); cellFootText.setBorderWidthBottom(0); cellFootText.setBorderWidthLeft(0); cellFootText.setBorderWidthRight(0); foot.addCell(cellFootText); /* * Print page numbers */ PdfContentByte contentByte = writer.getDirectContent(); contentByte.saveState(); String text = MessageFormat.format(translate("Page {0} of") + " ", writer.getPageNumber()); float textSize = footBaseFont.getWidthPoint(text, footFontSize); float textBase = document.bottom() - PDFTools.cmToPt(1.26f); contentByte.beginText(); contentByte.setFontAndSize(footBaseFont, footFontSize); float adjust; if (footText.trim().equals("")) { adjust = (pageWidth / 2) - (textSize / 2) - footBaseFont.getWidthPoint("0", footFontSize); } else { adjust = 0; } contentByte.setTextMatrix(document.left() + adjust, textBase); contentByte.showText(text); contentByte.endText(); contentByte.addTemplate(template, document.left() + adjust + textSize, textBase); contentByte.stroke(); contentByte.restoreState(); foot.setTotalWidth(pageWidth); foot.writeSelectedRows(0, -1, document.leftMargin(), document.bottomMargin(), writer.getDirectContent()); } catch (Exception e) { /* * Not part of unit testing because this exception is only thrown if * an internal error occurs. */ throw new ExceptionConverter(e); } }
From source file:org.tellervo.desktop.print.SeriesReport.java
License:Open Source License
private void getTableKey() throws DocumentException, IOException, IOException { PdfPTable mainTable = new PdfPTable(12); float[] widths = { 0.1f, 0.1f, 0.8f, 0.1f, 0.1f, 0.8f, 0.1f, 0.1f, 0.8f, 0.1f, 0.1f, 0.8f }; mainTable.setWidths(widths);// w ww. j av a 2 s .c o m mainTable.setWidthPercentage(100); PdfPTable userRemarksTable = new PdfPTable(2); float[] widths2 = { 0.083f, 0.92f }; userRemarksTable.setWidths(widths2); userRemarksTable.setWidthPercentage(100); Boolean userRemarkUsed = false; DecadalModel model; model = new UnitAwareDecadalModel(s); int rows = model.getRowCount(); List<TridasRemark> masterList = null; // Loop through rows for (int row = 0; row < rows; row++) { // Loop through columns for (int col = 0; col < 11; col++) { org.tellervo.desktop.Year year = model.getYear(row, col); List<TridasRemark> remarksList = null; remarksList = s.getRemarksForYear(year); // If masterlist is still null initialize it with this remarks list if (remarksList.size() > 0 && masterList == null) masterList = remarksList; for (TridasRemark remark : remarksList) { if (!masterList.contains(remark)) masterList.add(remark); } } } for (TridasRemark remark : masterList) { PdfPCell iconCell = new PdfPCell(); PdfPCell equalsCell = new PdfPCell(); PdfPCell descriptionCell = new PdfPCell(); iconCell.setBorder(0); equalsCell.setBorder(0); descriptionCell.setBorder(0); iconCell.setVerticalAlignment(Element.ALIGN_TOP); equalsCell.setVerticalAlignment(Element.ALIGN_TOP); descriptionCell.setVerticalAlignment(Element.ALIGN_TOP); Image icon = null; String remarkStr = null; // Get actual icon (either tridas or tellervo) if (remark.isSetNormalTridas()) { remarkStr = remark.getNormalTridas().toString().toLowerCase(); remarkStr = remarkStr.replace("_", " "); icon = getTridasIcon(remark.getNormalTridas()); if (icon == null) icon = Builder.getITextImageMissingIcon(); } else if (TELLERVO.equals(remark.getNormalStd())) { remarkStr = remark.getNormal(); icon = getCorinaIcon(remark.getNormal()); if (icon == null) icon = Builder.getITextImageMissingIcon(); } else { if (!userRemarkUsed) { remarkStr = "User Remark (See Below)"; icon = Builder.getITextImageIcon("user.png"); userRemarkUsed = true; } else { // User remark and we already have a key for this so continue continue; } } iconCell.addElement(icon); equalsCell.addElement(new Phrase("=", tableBodyFont)); descriptionCell.addElement(new Phrase(WordUtils.capitalize(remarkStr), tableBodyFont)); mainTable.addCell(iconCell); mainTable.addCell(equalsCell); mainTable.addCell(descriptionCell); } // Pad out empty cells PdfPCell blankCell = new PdfPCell(); blankCell.addElement(new Phrase("")); blankCell.setBorder(0); for (int i = 0; i < 12; i++) { mainTable.addCell(blankCell); } document.add(mainTable); if (userRemarkUsed) { PdfPCell yearCell = new PdfPCell(); yearCell.setBorder(0); yearCell.setHorizontalAlignment(Element.ALIGN_RIGHT); yearCell.addElement(new Phrase("Year", tableHeaderFont)); userRemarksTable.addCell(yearCell); PdfPCell remarkCell = new PdfPCell(); remarkCell.setBorder(0); remarkCell.addElement(new Phrase("User ring remarks", tableHeaderFont)); userRemarksTable.addCell(remarkCell); for (int row = 0; row < rows; row++) { // Loop through columns for (int col = 0; col < 11; col++) { org.tellervo.desktop.Year year = model.getYear(row, col); List<TridasRemark> remarksList = null; remarksList = s.getRemarksForYear(year); for (TridasRemark remark : remarksList) { if (remark.isSetNormalTridas() || remark.isSetNormalStd()) continue; yearCell = new PdfPCell(); yearCell.setBorder(0); yearCell.setHorizontalAlignment(Element.ALIGN_RIGHT); yearCell.addElement(new Phrase(year.toString(), tableHeaderFont)); userRemarksTable.addCell(yearCell); remarkCell = new PdfPCell(); remarkCell.setBorder(0); remarkCell.addElement(new Phrase(remark.getValue(), tableBodyFont)); userRemarksTable.addCell(remarkCell); } } } document.add(userRemarksTable); } }
From source file:org.tellervo.desktop.util.labels.PDFLabelMaker.java
License:Open Source License
public void addLabelsForSamples(List<TridasSample> samples) { // Loop through samples in list for (TridasSample s : samples) { Barcode128 barcode = new LabBarcode(LabBarcode.Type.SAMPLE, UUID.fromString(s.getIdentifier().getValue().toString())); // if it's tiny, hide the label if (margins.getLabelHeight() * .80f < barcode.getBarHeight()) { barcode.setBarHeight(margins.getLabelHeight() * .45f); barcode.setX(1.8f);/*from www.j a v a 2s . c o m*/ barcode.setN(10f); barcode.setSize(10f); barcode.setBaseline(10f); barcode.setBarHeight(50f); barcode.setFont(null); } else { barcode.setBarHeight(margins.getLabelHeight() * .45f); barcode.setX(0.6f); barcode.setSize(4.0f); } PdfPCell lbcell = new PdfPCell(); lbcell.setVerticalAlignment(Element.ALIGN_TOP); lbcell.setHorizontalAlignment(Element.ALIGN_RIGHT); Phrase p = new Phrase(); String labelText; TridasGenericField labcodeField = GenericFieldUtils.findField(s, "tellervo.internal.labcodeText"); if (labcodeField == null) { log.warn("labcode missing from sample. Can't print!"); continue; } labelText = (labcodeField != null) ? labcodeField.getValue() : s.getTitle(); p.add(new Chunk(labelText, labelfont)); //p.add(new Chunk("bbb", labelfont)); //p.add(new Chunk(s.getIdentifier().getValue().toString(), uuidfont)); //barcode.setFont(null); Image img = barcode.createImageWithBarcode(contentb, Color.black, Color.gray); PdfPCell labcell = new PdfPCell(); if (App.getLabName() != null) { labcell.setHorizontalAlignment(Element.ALIGN_RIGHT); labcell.setVerticalAlignment(Element.ALIGN_TOP); Phrase labPhrase = new Phrase(App.getLabName().toUpperCase(), tinyfont); labcell.addElement(labPhrase); } addCell(labcell); PdfPCell bccell = new PdfPCell(); bccell.setHorizontalAlignment(Element.ALIGN_MIDDLE); bccell.addElement(img); bccell.addElement(p); addCell(bccell); lbcell.setHorizontalAlignment(Element.ALIGN_RIGHT); lbcell.addElement(p); addCell(lbcell); //addCell(new PdfPCell()); /** PdfPTable tbl = new PdfPTable(2); tbl.addCell(bccell); tbl.addCell(lbcell);*/ } }
From source file:org.unitime.timetable.export.PDFPrinter.java
License:Open Source License
@Override public void printHeader(String... fields) { iTable = new PdfPTable(fields.length - iHiddenColumns.size()); iMaxWidth = new float[fields.length]; iTable.setHeaderRows(1);//ww w . j av a 2 s . c o m iTable.setWidthPercentage(100); for (int idx = 0; idx < fields.length; idx++) { if (iHiddenColumns.contains(idx)) continue; String f = fields[idx]; PdfPCell cell = new PdfPCell(); cell.setBorder(Rectangle.BOTTOM); cell.setVerticalAlignment(Element.ALIGN_TOP); cell.setHorizontalAlignment(Element.ALIGN_LEFT); Font font = PdfFont.getFont(true); cell.addElement(new Chunk(f, font)); iTable.addCell(cell); float width = 0; if (f.indexOf('\n') >= 0) { for (StringTokenizer s = new StringTokenizer(f, "\n"); s.hasMoreTokens();) width = Math.max(width, font.getBaseFont().getWidthPoint(s.nextToken(), font.getSize())); } else width = Math.max(width, font.getBaseFont().getWidthPoint(f, font.getSize())); iMaxWidth[idx] = width; } }