List of usage examples for com.itextpdf.text.pdf PdfPCell setPaddingBottom
public void setPaddingBottom(float paddingBottom)
From source file:org.jaqpot.core.service.data.ReportService.java
/** helper function to add logo image in header*/ public static PdfPCell createImageCell(String path) throws DocumentException, IOException { Image img = Image.getInstance(path); img.scaleToFit(120f, 120f);/*w w w . j a va 2 s .c o m*/ PdfPCell cell = new PdfPCell(img, false); cell.setPaddingBottom(5f); cell.setUseBorderPadding(true); cell.setBorder(Rectangle.BOTTOM); return cell; }
From source file:org.oscarehr.fax.util.PdfCoverPageCreator.java
License:Open Source License
public byte[] createCoverPage() { Document document = new Document(); ByteArrayOutputStream os = new ByteArrayOutputStream(); try {// w ww .j ava2 s . c om PdfWriter pdfWriter = PdfWriter.getInstance(document, os); document.open(); PdfPTable table = new PdfPTable(1); table.setWidthPercentage(95); PdfPCell cell = new PdfPCell(table); cell.setBorder(0); cell.setPadding(3); cell.setColspan(1); table.addCell(cell); ClinicDAO clinicDao = SpringUtils.getBean(ClinicDAO.class); Clinic clinic = clinicDao.getClinic(); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); Font headerFont = new Font(bf, 28, Font.BOLD); Font infoFont = new Font(bf, 12, Font.NORMAL); if (clinic != null) { cell = new PdfPCell(new Phrase( String.format("%s\n %s, %s, %s %s", clinic.getClinicName(), clinic.getClinicAddress(), clinic.getClinicCity(), clinic.getClinicProvince(), clinic.getClinicPostal()), headerFont)); } else { cell = new PdfPCell(new Phrase("OSCAR", headerFont)); } cell.setPaddingTop(100); cell.setPaddingLeft(25); cell.setPaddingBottom(25); cell.setBorderWidthBottom(1); table.addCell(cell); PdfPTable infoTable = new PdfPTable(1); cell = new PdfPCell(new Phrase(note, infoFont)); cell.setPaddingTop(25); cell.setPaddingLeft(25); infoTable.addCell(cell); table.addCell(infoTable); document.add(table); } catch (DocumentException e) { MiscUtils.getLogger().error("PDF COVER PAGE ERROR", e); return new byte[] {}; } catch (IOException e) { MiscUtils.getLogger().error("PDF COVER PAGE ERROR", e); return new byte[] {}; } finally { document.close(); } return os.toByteArray(); }
From source file:org.qnot.passtab.PDFOutput.java
License:Open Source License
private void addCell(PdfPTable table, String str, boolean bold, boolean fill, boolean rightBorder, boolean bottomBorder) { Phrase phrase = withColor ? new Phrase(str, bold ? fontBold : font) : new Phrase(str, font); PdfPCell cell = new PdfPCell(phrase); cell.setBorder(Rectangle.NO_BORDER); cell.setPadding(0f);/* www . j a v a 2 s . c om*/ cell.setPaddingTop(2f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); if (rightBorder) { cell.setBorderWidthRight(1f); cell.setPaddingRight(3f); cell.setHorizontalAlignment(Element.ALIGN_LEFT); } if (bottomBorder) { cell.setBorderWidthBottom(1f); cell.setPaddingBottom(3f); } if (fill && this.withColor) { cell.setGrayFill(0.80f); } table.addCell(cell); }
From source file:PDF.PDFTrackGenerator.java
License:Open Source License
/** * Metda generateTrackPDFA4 sli na samotn vygenerovanie PDF dokumentu trasy na formt A4. * @param lineWeight - hrbka ?iary trasy na mape * @param color - farba ?iary trasy na mape * @param width - rka mapy/*w w w . ja v a 2 s . c o m*/ * @param height - vka mapy * @param scale - klovacia kontanta mapy (n x rozlenie mapy) * @param startDate - dtum a ?as prvho bodu trasy * @param endDate - dtum a ?as poslednho bodu trasy * @param activity - aktivita trasy * @param user - pouvate (majite) trasy */ public void generateTrackPDFA4(int lineWeight, String color, int width, int height, int scale, String startDate, String endDate, String activity, String user) { try { Document doc = new Document(); PdfWriter.getInstance(doc, new FileOutputStream(path + fileName + ".pdf")); doc.open(); Font nadpisFont = new Font(Font.FontFamily.HELVETICA, 25, Font.BOLD); Font detailyFont = new Font(Font.FontFamily.HELVETICA, 9, Font.NORMAL); Paragraph nadpisPar = new Paragraph(); nadpisPar.setAlignment(Element.ALIGN_CENTER); Phrase nadpis = new Phrase(fileName, nadpisFont); nadpisPar.add(nadpis); nadpisPar.add(""); doc.add(nadpisPar); doc.add(Chunk.NEWLINE); PdfPTable tabulka = new PdfPTable(2); tabulka.setWidthPercentage(100); float[] columnWidth = { 6f, 4f }; tabulka.setWidths(columnWidth); StaticMapResolver res = new StaticMapResolver(loader); String mapUrl = res.getStaticMapTrackURLWithMultimedia(lineWeight, color, width, height, scale); Image img = Image.getInstance(new URL(mapUrl)); //img.scalePercent(50); PdfPCell riadokSObr = new PdfPCell(img, true); riadokSObr.setBorder(Rectangle.NO_BORDER); riadokSObr.setPaddingBottom(10f); PdfPCell riadokSText = new PdfPCell(new Phrase("Description: " + loader.getTrackDescription() + "\n\n\nTrack activity: " + activity.substring(4) + "\n\n\nStart place: " + loader.getStartAddress() + "\n\n\nEnd Place: " + loader.getEndAddress() + "\n\n\nTrack length: " + loader.getLength() + " km\n\n\nMin elevation: " + loader.getMinElevation() + " m\n\n\nMax elevation: " + loader.getMaxElevation() + " m\n\n\nHeight difference: " + loader.getHeightDiff() + " m\n\n\nStart: " + startDate + "\n\n\nEnd: " + endDate + "\n\n\nDuration: " + loader.getDuration(), detailyFont)); riadokSText.setBorder(Rectangle.NO_BORDER); riadokSText.setPaddingLeft(20f); riadokSText.setPaddingTop(5f); riadokSText.setPaddingBottom(10f); tabulka.addCell(riadokSObr); tabulka.addCell(riadokSText); doc.add(tabulka); //doc.add(new Phrase("\n", detailyFont)); PdfPTable obrTabulka = new PdfPTable(3); obrTabulka.setWidthPercentage(100); ArrayList<String> goodFiles = new ArrayList<String>(); for (int i = 0; i < loader.getMultimediaFiles().size(); i++) { if (!loader.getMultimediaFiles().get(i).getPath().startsWith("YTB")) { String extension = loader.getMultimediaFiles().get(i).getPath().substring( loader.getMultimediaFiles().get(i).getPath().lastIndexOf("."), loader.getMultimediaFiles().get(i).getPath().length()); String newPath = loader.getMultimediaFiles().get(i).getPath().substring(0, loader.getMultimediaFiles().get(i).getPath().lastIndexOf(".")) + "_THUMB" + extension; goodFiles.add(newPath); } } if (!goodFiles.isEmpty()) { int freeCount = 9; if (goodFiles.size() <= 9) { for (int i = 0; i < goodFiles.size(); i++) { Image tempImg = Image.getInstance(goodFiles.get(i)); tempImg.scalePercent(10f); PdfPCell tempCell = new PdfPCell(tempImg, true); tempCell.setPadding(3f); //tempCell.setPaddingTop(5f); tempCell.setVerticalAlignment(Element.ALIGN_MIDDLE); tempCell.setHorizontalAlignment(Element.ALIGN_CENTER); tempCell.setFixedHeight(130f); tempCell.setBackgroundColor(BaseColor.BLACK); tempCell.setBorderColor(BaseColor.WHITE); tempCell.setBorderWidth(4f); //tempCell.setBorder(Rectangle.NO_BORDER); obrTabulka.addCell(tempCell); } for (int i = 0; i < 9 - goodFiles.size(); i++) { PdfPCell tempCell = new PdfPCell(); tempCell.setBorder(Rectangle.NO_BORDER); obrTabulka.addCell(tempCell); } } else if (goodFiles.size() <= 18) { for (int i = 0; i < 9; i++) { Image tempImg = Image.getInstance(goodFiles.get(i)); tempImg.scalePercent(10f); PdfPCell tempCell = new PdfPCell(tempImg, true); tempCell.setPadding(3f); //tempCell.setPaddingTop(5f); tempCell.setVerticalAlignment(Element.ALIGN_MIDDLE); tempCell.setHorizontalAlignment(Element.ALIGN_CENTER); tempCell.setFixedHeight(130f); tempCell.setBackgroundColor(BaseColor.BLACK); tempCell.setBorderColor(BaseColor.WHITE); tempCell.setBorderWidth(4f); //tempCell.setBorder(Rectangle.NO_BORDER); obrTabulka.addCell(tempCell); } } else { for (int i = 0; i < (goodFiles.size() % 9); i++) { goodFiles.remove(goodFiles.size() - 1 - i); } int counting = (goodFiles.size() / 9); for (int i = 0; i < goodFiles.size(); i = i + counting) { Image tempImg = Image.getInstance(goodFiles.get(i)); tempImg.scalePercent(10f); PdfPCell tempCell = new PdfPCell(tempImg, true); tempCell.setPadding(3f); //tempCell.setPaddingTop(5f); tempCell.setVerticalAlignment(Element.ALIGN_MIDDLE); tempCell.setHorizontalAlignment(Element.ALIGN_CENTER); tempCell.setFixedHeight(130f); tempCell.setBackgroundColor(BaseColor.BLACK); tempCell.setBorderColor(BaseColor.WHITE); tempCell.setBorderWidth(4f); //tempCell.setBorder(Rectangle.NO_BORDER); obrTabulka.addCell(tempCell); freeCount--; } for (int i = 0; i < freeCount; i++) { PdfPCell tempCell = new PdfPCell(); tempCell.setBorder(Rectangle.NO_BORDER); obrTabulka.addCell(tempCell); } } } doc.add(obrTabulka); Font lastFont = new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC); Phrase lastText = new Phrase("This PDF document was generated by gTrax app for user " + user, lastFont); doc.add(lastText); doc.close(); } catch (Exception ex) { FileLogger.getInstance() .createNewLog("ERROR: Cannot CREATE PDF for track " + fileName + " for user " + user + " !!!"); System.out.println("pruser"); } }
From source file:quanlyhoadon.PDFProcess.java
public boolean printPDF(String dest, Company company, Bill bill, LinhTinh lt) { try {// w ww .ja va 2 s. c om BaseFont urName = BaseFont.createFont("font/Time_New_Roman.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font nameFont = new Font(urName, 16, Font.BOLD); Font addFont = new Font(urName, 12); Font boldFont = new Font(urName, 14, Font.BOLD); Font contentFont = new Font(urName, 14); Font footFont = new Font(urName, 16); Document document = new Document(PageSize.A4.rotate()); PdfWriter.getInstance(document, new FileOutputStream(dest)); document.open(); PdfPTable table = new PdfPTable(3); table.setWidthPercentage(100); table.setWidths(new float[] { 2, 6, 3 }); //logo Image img = Image.getInstance("logo.jpg"); img.scaleAbsolute(100, 100); PdfPCell cell = new PdfPCell(img); cell.setBorder(PdfPCell.NO_BORDER); //middle content String name = company.getName(); String address = "\n\n?C: " + company.getAddress(); String phone = "\n\n?T: " + company.getPhone(); String hed = "\n\n PHIU B?O GI?"; Phrase mid = new Phrase(); mid.add(new Chunk(name, nameFont)); mid.add(new Chunk(address + phone, addFont)); mid.add(new Chunk(hed, nameFont)); PdfPCell midCell = new PdfPCell(mid); // midCell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); midCell.setPaddingTop(15); midCell.setPaddingLeft(40); midCell.setPaddingRight(15); midCell.setPaddingBottom(15); midCell.setBorder(PdfPCell.NO_BORDER); // right content String soCt = "S CT: " + bill.getId(); String date = "\n\nNgy: " + bill.getDate() + "\n\nKho : " + lt.getKho(); Phrase right = new Phrase(); right.add(new Chunk(soCt + date, addFont)); PdfPCell rightCell = new PdfPCell(right); rightCell.setPadding(15); rightCell.setBorder(PdfPCell.NO_BORDER); table.addCell(cell); table.addCell(midCell); table.addCell(rightCell); document.add(table); Phrase p1 = new Phrase(); p1.add(new Chunk("?n v: ", addFont)); p1.add(new Chunk(lt.getDonVi(), boldFont)); p1.add(new Chunk("\n?a Ch: \n", addFont)); Paragraph pagra = new Paragraph(p1); pagra.setIndentationLeft(15); pagra.setSpacingBefore(10); pagra.setSpacingAfter(10); document.add(pagra); //table lt PdfPTable tablList = new PdfPTable(6); tablList.setWidthPercentage(100); tablList.setWidths(new float[] { 1, 5, 7, 2, 3, 4 }); String title[] = { "STT", "M Hng", "Tn Hng", "SL", "?n Gi", "Thnh Ti?n" }; for (int i = 0; i < title.length; ++i) { Phrase phr = new Phrase(); phr.add(new Chunk(title[i], boldFont)); PdfPCell p = new PdfPCell(phr); p.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); tablList.addCell(p); } //--- add content for (int i = 0; i < bill.getCount(); ++i) { Phrase[] phrase = new Phrase[6]; PdfPCell[] pCell = new PdfPCell[6]; for (int k = 0; k < 6; ++k) { phrase[k] = new Phrase(); } phrase[0].add(new Chunk((i + 1) + "", contentFont)); phrase[1].add(new Chunk(bill.getMaHangAt(i), contentFont)); phrase[2].add(new Chunk(bill.getTenHangAt(i), contentFont)); phrase[3].add(new Chunk(bill.getSoLuongAt(i) + "", contentFont)); phrase[4].add(new Chunk(bill.getDonGiaAt(i) + "", contentFont)); phrase[5].add(new Chunk(bill.getThanhTienAt(i) + "", contentFont)); for (int j = 0; j < 6; ++j) { pCell[j] = new PdfPCell(phrase[j]); pCell[j].setHorizontalAlignment(PdfPCell.ALIGN_CENTER); tablList.addCell(pCell[j]); } } PdfPCell cell1 = new PdfPCell(new Phrase(new Chunk("Tng", boldFont))); cell1.setColspan(3); cell1.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); tablList.addCell(cell1); // PdfPCell cell2 = new PdfPCell(new Phrase(new Chunk("" + bill.getTong(), boldFont))); cell2.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); tablList.addCell(cell2); // PdfPCell cell3 = new PdfPCell(new Phrase(new Chunk("", boldFont))); cell3.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); tablList.addCell(cell3); // PdfPCell cell4 = new PdfPCell(new Phrase(new Chunk(String.format("%,d", bill.tongTien()), boldFont))); cell4.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); tablList.addCell(cell4); document.add(tablList); //-------------------in phuong thuc thanh toan Phrase p2 = new Phrase(); p2.add(new Chunk("Phng thc thanh ton: ", contentFont)); p2.add(new Chunk(lt.getThanhToan(), boldFont)); p2.add(new Chunk("\nLu mua hng min tr li. Vui lng gi phiu trong 7 ngy: ", contentFont)); Paragraph pagra2 = new Paragraph(p2); pagra2.setSpacingBefore(5); pagra2.setSpacingAfter(5); document.add(pagra2); //---- footer content PdfPTable tblFoot = new PdfPTable(3); tblFoot.setWidthPercentage(100); tblFoot.setWidths(new float[] { 1, 1, 1 }); PdfPCell leftFootCell = new PdfPCell(new Phrase(new Chunk("NGI LP ", footFont))); PdfPCell midFootCell = new PdfPCell(new Phrase(new Chunk("K TO?N ", footFont))); PdfPCell rightFootCell = new PdfPCell(new Phrase(new Chunk("TH TRNG ?N V ", footFont))); leftFootCell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); leftFootCell.setBorder(PdfPCell.NO_BORDER); midFootCell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); midFootCell.setBorder(PdfPCell.NO_BORDER); rightFootCell.setBorder(PdfPCell.NO_BORDER); rightFootCell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); tblFoot.addCell(leftFootCell); tblFoot.addCell(midFootCell); tblFoot.addCell(rightFootCell); document.add(tblFoot); // document.close(); JOptionPane.showMessageDialog(null, "In hoadon.pdf thnh cng"); return true; } catch (Exception e) { JOptionPane.showMessageDialog(null, "hoadon.pdf ang c m\nVui lng ng li. Sau th li"); e.printStackTrace(); return false; } }
From source file:ro.nextreports.engine.exporter.PdfExporter.java
License:Apache License
private PdfPCell renderPdfCell(BandElement bandElement, Object value, int gridRow, int rowSpan, int colSpan, boolean image, int column) { Map<String, Object> style = buildCellStyleMap(bandElement, value, gridRow, column, colSpan); FontFactoryImp fact = new FontFactoryImp(); com.itextpdf.text.Font fnt;//from w w w.j av a 2 s . c o m if (bandElement != null) { fontName = (String) style.get(StyleFormatConstants.FONT_NAME_KEY); int size = ((Float) style.get(StyleFormatConstants.FONT_SIZE)).intValue(); fnt = getFont(size); } else { fnt = getFont(10); } PdfPCell cell; if (image) { if (value == null) { cell = new PdfPCell(new Phrase(IMAGE_NOT_FOUND)); } else { ImageBandElement ibe = (ImageBandElement) bandElement; try { byte[] imageBytes = getImage((String) value); cell = getImageCell(ibe, imageBytes, column, colSpan); } catch (Exception e) { cell = new PdfPCell(new Phrase(IMAGE_NOT_LOADED)); } } } else if (bandElement instanceof HyperlinkBandElement) { Hyperlink hyperlink = ((HyperlinkBandElement) bandElement).getHyperlink(); Anchor anchor = new Anchor(hyperlink.getText(), fnt); anchor.setReference(hyperlink.getUrl()); Phrase ph = new Phrase(); ph.add(anchor); cell = new PdfPCell(ph); } else if (bandElement instanceof ReportBandElement) { Report report = ((ReportBandElement) bandElement).getReport(); ExporterBean eb = null; try { eb = getSubreportExporterBean(report); PdfExporter subExporter = new PdfExporter(eb); subExporter.export(); PdfPTable innerTable = subExporter.getTable(); cell = new PdfPCell(innerTable); } catch (Exception e) { cell = new PdfPCell(); e.printStackTrace(); } finally { if ((eb != null) && (eb.getResult() != null)) { eb.getResult().close(); } } } else if ((bandElement instanceof VariableBandElement) && (VariableFactory .getVariable(((VariableBandElement) bandElement).getVariable()) instanceof TotalPageNoVariable)) { try { cell = new PdfPCell(Image.getInstance(total)); } catch (BadElementException e) { cell = new PdfPCell(new Phrase("NA")); } } else if (bandElement instanceof ImageColumnBandElement) { try { String v = StringUtil.getValueAsString(value, null); if (StringUtil.BLOB.equals(v)) { cell = new PdfPCell(new Phrase(StringUtil.BLOB)); } else { byte[] bytes = StringUtil.decodeImage(v); cell = getImageCell(bandElement, bytes, column, colSpan); } } catch (Exception e) { e.printStackTrace(); cell = new PdfPCell(new Phrase(IMAGE_NOT_LOADED)); } } else { String stringValue; if (style.containsKey(StyleFormatConstants.PATTERN)) { stringValue = StringUtil.getValueAsString(value, (String) style.get(StyleFormatConstants.PATTERN), getReportLanguage()); } else { stringValue = StringUtil.getValueAsString(value, null, getReportLanguage()); } if (stringValue == null) { stringValue = ""; } if (stringValue.startsWith("<html>")) { StringReader reader = new StringReader(stringValue); List<Element> elems = new ArrayList<Element>(); try { elems = HTMLWorker.parseToList(reader, new StyleSheet()); Phrase ph = new Phrase(); for (int i = 0; i < elems.size(); i++) { Element elem = (Element) elems.get(i); ph.add(elem); } cell = new PdfPCell(ph); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); Phrase ph = new Phrase(stringValue, fnt); cell = new PdfPCell(ph); } } else { Phrase ph = new Phrase(stringValue, fnt); cell = new PdfPCell(ph); } } cell.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell.setUseDescender(true); // needed for a cell without padding cell.setMinimumHeight(MINIMUM_HEIGHT); // needed if there is a row in which all cells are empty if (bandElement != null) { cell.setRotation(bandElement.getTextRotation()); } if (colSpan > 1) { cell.setColspan(colSpan); } if (rowSpan > 1) { cell.setRowspan(rowSpan); } if (style != null) { updateFont(style, fnt); if (style.containsKey(StyleFormatConstants.BACKGROUND_COLOR)) { Color val = (Color) style.get(StyleFormatConstants.BACKGROUND_COLOR); cell.setBackgroundColor(new BaseColor(val)); } if (style.containsKey(StyleFormatConstants.HORIZONTAL_ALIGN_KEY)) { if (StyleFormatConstants.HORIZONTAL_ALIGN_LEFT .equals(style.get(StyleFormatConstants.HORIZONTAL_ALIGN_KEY))) { cell.setHorizontalAlignment(PdfPCell.ALIGN_LEFT); } if (StyleFormatConstants.HORIZONTAL_ALIGN_RIGHT .equals(style.get(StyleFormatConstants.HORIZONTAL_ALIGN_KEY))) { cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); } if (StyleFormatConstants.HORIZONTAL_ALIGN_CENTER .equals(style.get(StyleFormatConstants.HORIZONTAL_ALIGN_KEY))) { cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); } } if (style.containsKey(StyleFormatConstants.VERTICAL_ALIGN_KEY)) { if (StyleFormatConstants.VERTICAL_ALIGN_TOP .equals(style.get(StyleFormatConstants.VERTICAL_ALIGN_KEY))) { cell.setVerticalAlignment(Element.ALIGN_TOP); } if (StyleFormatConstants.VERTICAL_ALIGN_MIDDLE .equals(style.get(StyleFormatConstants.VERTICAL_ALIGN_KEY))) { cell.setVerticalAlignment(Element.ALIGN_MIDDLE); } if (StyleFormatConstants.VERTICAL_ALIGN_BOTTOM .equals(style.get(StyleFormatConstants.VERTICAL_ALIGN_KEY))) { cell.setVerticalAlignment(Element.ALIGN_BOTTOM); } } if (style.containsKey(StyleFormatConstants.PADDING_LEFT)) { Float val = (Float) style.get(StyleFormatConstants.PADDING_LEFT); cell.setPaddingLeft(val); } if (style.containsKey(StyleFormatConstants.PADDING_RIGHT)) { Float val = (Float) style.get(StyleFormatConstants.PADDING_RIGHT); cell.setPaddingRight(val); } if (style.containsKey(StyleFormatConstants.PADDING_TOP)) { Float val = (Float) style.get(StyleFormatConstants.PADDING_TOP); cell.setPaddingTop(val); } if (style.containsKey(StyleFormatConstants.PADDING_BOTTOM)) { Float val = (Float) style.get(StyleFormatConstants.PADDING_BOTTOM); cell.setPaddingBottom(val); } cell.setBorderWidth(0); if (style.containsKey(StyleFormatConstants.BORDER_LEFT)) { Float val = (Float) style.get(StyleFormatConstants.BORDER_LEFT); cell.setBorderWidthLeft(val / 2); Color color = (Color) style.get(StyleFormatConstants.BORDER_LEFT_COLOR); cell.setBorderColorLeft(new BaseColor(color)); } if (style.containsKey(StyleFormatConstants.BORDER_RIGHT)) { Float val = (Float) style.get(StyleFormatConstants.BORDER_RIGHT); cell.setBorderWidthRight(val / 2); Color color = (Color) style.get(StyleFormatConstants.BORDER_RIGHT_COLOR); cell.setBorderColorRight(new BaseColor(color)); } if (style.containsKey(StyleFormatConstants.BORDER_TOP)) { Float val = (Float) style.get(StyleFormatConstants.BORDER_TOP); cell.setBorderWidthTop(val / 2); Color color = (Color) style.get(StyleFormatConstants.BORDER_TOP_COLOR); cell.setBorderColorTop(new BaseColor(color)); } if (style.containsKey(StyleFormatConstants.BORDER_BOTTOM)) { Float val = (Float) style.get(StyleFormatConstants.BORDER_BOTTOM); cell.setBorderWidthBottom(val / 2); Color color = (Color) style.get(StyleFormatConstants.BORDER_BOTTOM_COLOR); cell.setBorderColorBottom(new BaseColor(color)); } // for subreports we use default no wrap if (cell.getTable() == null) { cell.setNoWrap(true); if (bandElement != null) { if (bandElement.isWrapText()) { cell.setNoWrap(false); } } } // to see a background image all cells must not have any background! if (bean.getReportLayout().getBackgroundImage() != null) { cell.setBackgroundColor(null); } } return cell; }
From source file:se.billes.pdf.renderer.model.text.TableParagraph.java
License:Open Source License
@Override public void onRender(PdfPCell cell) throws PdfRenderException { PdfPTable table = new PdfPTable(widths.length); try {/* w w w. j a va 2 s. co m*/ table.setTotalWidth(getTotalWidthsAsPs()); table.setLockedWidth(true); table.setSpacingAfter(0f); for (AbstractParagraph tableCell : cells) { PdfPCell c = new PdfPCell(); float[] padding = new float[] { 0f, 0f, 0f, 0f }; if (tableCell instanceof TableCell) { padding = ((TableCell) tableCell).getPadding(); } c.setBorderWidth(0f); c.setLeft(0); c.setTop(0); c.setRight(0); c.setBottom(0); c.setUseAscender(true); c.setIndent(0); c.setHorizontalAlignment(Element.ALIGN_LEFT); c.setVerticalAlignment(Element.ALIGN_TOP); c.setPaddingLeft(SizeFactory.millimetersToPostscriptPoints(padding[0])); c.setPaddingBottom(SizeFactory.millimetersToPostscriptPoints(padding[3])); c.setPaddingRight(SizeFactory.millimetersToPostscriptPoints(padding[2])); c.setPaddingTop(SizeFactory.millimetersToPostscriptPoints(padding[1])); c.setBorder(0); tableCell.onRender(c); table.addCell(c); } cell.addElement(table); } catch (Exception e) { throw new PdfRenderException(e); } }
From source file:se.billes.pdf.renderer.request.factory.CellFactory.java
License:Open Source License
public PdfPCell createCell(Block block) { float[] margins = block.getMargins(); PdfPCell cell = new PdfPCell(); cell.setBorderWidth(0);//w w w. j a va 2 s. c o m cell.setVerticalAlignment(VerticalAlign.getByName(block.getVerticalAlign()).getAlignment()); cell.setLeft(0); cell.setTop(0); cell.setRight(0); cell.setBottom(0); cell.setUseAscender(block.isUseAscender()); cell.setIndent(0); cell.setPaddingLeft(SizeFactory.millimetersToPostscriptPoints(margins[0])); cell.setPaddingBottom(SizeFactory.millimetersToPostscriptPoints(margins[3])); cell.setPaddingRight(SizeFactory.millimetersToPostscriptPoints(margins[1])); cell.setPaddingTop(SizeFactory.millimetersToPostscriptPoints(margins[2])); cell.setFixedHeight(SizeFactory.millimetersToPostscriptPoints(block.getPosition()[3])); cell.setBorder(0); cell.setCellEvent(new CellBlockEvent().createEvent(block)); cell.setRotation(block.getRotation()); return cell; }
From source file:se.billes.pdf.renderer.request.factory.CellFactory.java
License:Open Source License
public PdfPCell getFillCell() { PdfPCell fillCell = new PdfPCell(); fillCell.setBorderWidth(0f);// w w w .ja va 2 s .c o m fillCell.setLeft(0); fillCell.setTop(0); fillCell.setRight(0); fillCell.setBottom(0); fillCell.setUseAscender(true); fillCell.setIndent(0); fillCell.setHorizontalAlignment(Element.ALIGN_LEFT); fillCell.setVerticalAlignment(Element.ALIGN_BOTTOM); fillCell.setPaddingLeft(0f); fillCell.setPaddingBottom(0f); fillCell.setPaddingRight(0f); fillCell.setPaddingTop(0f); fillCell.setBorder(0); renderEmptyCell(fillCell); return fillCell; }
From source file:server.kartu.tik.iText.java
public String createPDF(String tanggal, ArrayList kegiatan, String divisi) { ArrayList<Kegiatan> list = new ArrayList<>(kegiatan); String output = System.getProperty("user.dir") + "\\src\\data\\pdf\\" + tanggal + " " + getNamalengkap() + "-" + getTglnoktp() + ".pdf"; String namaDivisi = ""; switch (divisi) { case "1": namaDivisi = "Ekonomi"; break;/*from w w w .j a v a 2 s. c o m*/ case "2": namaDivisi = "Politik"; break; case "3": namaDivisi = "Sosial Budaya"; break; case "4": namaDivisi = "Keamanan"; break; } Document document = new Document(PageSize.A4); try { PdfWriter.getInstance(document, new FileOutputStream(output)); document.open(); //------------------------------------------------------------------------------------- TITLE PdfPTable title = new PdfPTable(1); title.setWidthPercentage(100); Font f = new Font(FontFamily.HELVETICA, 14, Font.NORMAL, GrayColor.GRAYWHITE); PdfPCell celltitle = new PdfPCell(new Phrase("KARTU TIK (" + namaDivisi + ")", f)); celltitle.setMinimumHeight(20); celltitle.setBackgroundColor(GrayColor.GRAYBLACK); celltitle.setHorizontalAlignment(Element.ALIGN_CENTER); celltitle.setColspan(3); title.addCell(celltitle); document.add(title); //-------------------------------------------------------------------------------------- END //------------------------------------------------------------------------------------- NAMA + ALIAS float[] columnWidths = { 8, 2 }; PdfPTable tabel1 = new PdfPTable(columnWidths); tabel1.setWidthPercentage(100); PdfPTable innerTable1 = new PdfPTable(1); innerTable1.setWidthPercentage(100); PdfPTable innerTable2 = new PdfPTable(1); innerTable2.setWidthPercentage(100); PdfPCell cell; innerTable1.addCell( "1. a. Nama Lengkap : " + getNamalengkap() + " \n\n b. Alias : " + getAlias() + " \n\n"); innerTable1.addCell("2. Kebangsaan \n a. Tgl. No. KTP : " + getTglnoktp() + " \n\n b. Tgl. No. Pasport : " + getTglnopasport() + "\n\n"); innerTable1.addCell("3. Agama : " + getAgama()); cell = new PdfPCell(innerTable1); cell.setMinimumHeight(135); tabel1.addCell(cell); if (getUrlfoto().equalsIgnoreCase("") || getUrlfoto().isEmpty() || getUrlfoto() == null) { } else { Image image = Image.getInstance(getUrlfoto()); cell = new PdfPCell(image, false); if (image.getWidth() < 90) { cell.setPaddingLeft(8); } else { cell.setPaddingLeft(3); } } cell.setMinimumHeight(135); tabel1.addCell(cell); cell = new PdfPCell(); cell.setColspan(14); tabel1.addCell(cell); document.add(tabel1); //------------------------------------------------------------------------------------- NAMA + ALIAS END //------------------------------------------------------------------------------------- TGL LAHIR + TEMPAT PdfPTable tabel4 = new PdfPTable(1); tabel4.setWidthPercentage(100); Paragraph pTglLahirnTempat = new Paragraph(); pTglLahirnTempat.add("4. a. Tgl. Lahir/ Umur : " + getTgllahir()); pTglLahirnTempat.add("\n\n b. Tempat Lahir : " + getTempatlahir()); pTglLahirnTempat.setLeading(0, 1); PdfPCell cTglLahirnTempat = new PdfPCell(); cTglLahirnTempat.setMinimumHeight(45); cTglLahirnTempat.addElement(pTglLahirnTempat); tabel4.addCell(cTglLahirnTempat); document.add(tabel4); //------------------------------------------------------------------------------------- TGL LAHIR + TEMPAT END //------------------------------------------------------------------------------------- ALAMAT + PINDAHAN PdfPTable tabel5 = new PdfPTable(1); tabel5.setWidthPercentage(100); Paragraph pAlamat = new Paragraph(); pAlamat.add("5. Alamat : "); pAlamat.add(alamat); pAlamat.setLeading(0, 1); PdfPCell cAlamat = new PdfPCell(); cAlamat.setMinimumHeight(18); cAlamat.addElement(pAlamat); tabel5.addCell(cAlamat); document.add(tabel5); PdfPTable tabel51 = new PdfPTable(1); tabel51.setWidthPercentage(100); Paragraph pAlamatUbah = new Paragraph(); pAlamatUbah.add("6. Perubahan Alamat :"); pAlamatUbah.add("\n\n 1. "); pAlamatUbah.add("\n\n 2. "); pAlamatUbah.add("\n\n 3. "); pAlamatUbah.add("\n\n"); pAlamatUbah.setLeading(0, 1); PdfPCell cAlamatUbah = new PdfPCell(); cAlamatUbah.addElement(pAlamatUbah); tabel51.addCell(cAlamatUbah); document.add(tabel51); //------------------------------------------------------------------------------------- ALAMAT + PINDAHAN END //------------------------------------------------------------------------------------- KEDUDUKAN KELUARGA PdfPTable tabel6 = new PdfPTable(1); tabel6.setWidthPercentage(100); Paragraph pKedudukanKeluarga = new Paragraph(); pKedudukanKeluarga.add("7. Kedudukan dalam Keluarga : "); pKedudukanKeluarga.setLeading(0, 1); PdfPCell cKedudukanKeluarga = new PdfPCell(); cKedudukanKeluarga.setMinimumHeight(20); cKedudukanKeluarga.addElement(pKedudukanKeluarga); tabel6.addCell(cKedudukanKeluarga); document.add(tabel6); PdfPTable tabel61 = new PdfPTable(1); tabel61.setWidthPercentage(100); Paragraph pNamaBapakIbu = new Paragraph(); pNamaBapakIbu.add("8. a. Nama Bapak : "); pNamaBapakIbu.add("\n\n Nama Ibu : "); pNamaBapakIbu.add("\n\n b. Alamat : "); pNamaBapakIbu.setLeading(0, 1); PdfPCell cNamaBapakIbu = new PdfPCell(); cNamaBapakIbu.setMinimumHeight(70); cNamaBapakIbu.addElement(pNamaBapakIbu); tabel61.addCell(cNamaBapakIbu); document.add(tabel61); //------------------------------------------------------------------------------------- KEDUDUKAN END //------------------------------------------------------------------------------------- PEKERJAAN PdfPTable tabel7 = new PdfPTable(2); tabel7.setWidthPercentage(100); Paragraph pPekerjaan = new Paragraph(); pPekerjaan.add("9. a. Pekerjaan : " + getPekerjaan()); pPekerjaan.setLeading(0, 1); PdfPCell cPekerjaan = new PdfPCell(); cPekerjaan.setMinimumHeight(20); cPekerjaan.addElement(pPekerjaan); tabel7.addCell(cPekerjaan); Paragraph pJabatan = new Paragraph(); pJabatan.add(" b. Jabatan : " + getJabatan()); pJabatan.setLeading(0, 1); PdfPCell cJabatan = new PdfPCell(); cJabatan.setMinimumHeight(20); cJabatan.addElement(pJabatan); tabel7.addCell(cJabatan); document.add(tabel7); //------------------------------------------------------------------------------------- PEKERJAAN END //------------------------------------------------------------------------------------- INSTANSI DLL PdfPTable tabel8 = new PdfPTable(1); tabel8.setWidthPercentage(100); Paragraph pInstansi = new Paragraph(); pInstansi.add(" c. Instansi/Lembaga/Kantor : " + getInstansilembagakantor()); pInstansi.setLeading(0, 1); PdfPCell cInstansi = new PdfPCell(); cInstansi.setMinimumHeight(20); cInstansi.addElement(pInstansi); tabel8.addCell(cInstansi); document.add(tabel8); //------------------------------------------------------------------------------------- INSTANSI DLL END //------------------------------------------------------------------------------------- NAMA ISTRI float[] colomn = { 7, 1, 2 }; PdfPTable tabel9 = new PdfPTable(colomn); tabel9.setWidthPercentage(100); Paragraph pNamaIstriBapakIbu = new Paragraph(); pNamaIstriBapakIbu.add("10."); pNamaIstriBapakIbu.add("\n a. Nama Istri : "); pNamaIstriBapakIbu.add("\n\n b. Nama Bapak Istri : "); pNamaIstriBapakIbu.add("\n\n c. Nama Ibu Istri : "); pNamaIstriBapakIbu.add("\n\n d. Alamat : "); pNamaIstriBapakIbu.setLeading(0, 1); PdfPCell cNamaIstriBapakIbu = new PdfPCell(); cNamaIstriBapakIbu.setMinimumHeight(110); cNamaIstriBapakIbu.addElement(pNamaIstriBapakIbu); tabel9.addCell(cNamaIstriBapakIbu); Paragraph pUmurIstriBapakIbu = new Paragraph(); pUmurIstriBapakIbu.add(" Umur :"); pUmurIstriBapakIbu.setLeading(0, 1); PdfPCell cUmurIstriBapakIbu = new PdfPCell(); cUmurIstriBapakIbu.setMinimumHeight(110); cUmurIstriBapakIbu.addElement(pUmurIstriBapakIbu); tabel9.addCell(cUmurIstriBapakIbu); Paragraph pPekerjaanIstriBapakIbu = new Paragraph(); pPekerjaanIstriBapakIbu.add(" Pekerjaan :"); pPekerjaanIstriBapakIbu.setLeading(0, 1); PdfPCell cPekerjaanIstriBapakIbu = new PdfPCell(); cPekerjaanIstriBapakIbu.setMinimumHeight(110); cPekerjaanIstriBapakIbu.addElement(pPekerjaanIstriBapakIbu); tabel9.addCell(cPekerjaanIstriBapakIbu); document.add(tabel9); //------------------------------------------------------------------------------------- NAMA ISTRI END //------------------------------------------------------------------------------------- SANAK SAUDARA PdfPTable tabel10 = new PdfPTable(colomn); tabel10.setWidthPercentage(100); Paragraph pSanakSaudara = new Paragraph(); pSanakSaudara.add("11. Nama Sanak/Saudara yang menjadi Tanggungan : \n 1.\n 2."); pSanakSaudara.setLeading(0, 1); PdfPCell cSanakSaudara = new PdfPCell(); cSanakSaudara.addElement(pSanakSaudara); tabel10.addCell(cSanakSaudara); Paragraph pSanakSaudara1 = new Paragraph(); pSanakSaudara1.add(""); pSanakSaudara1.setLeading(0, 1); PdfPCell cSanakSaudara1 = new PdfPCell(); cSanakSaudara1.addElement(pSanakSaudara1); tabel10.addCell(cSanakSaudara1); Paragraph pSanakSaudara2 = new Paragraph(); pSanakSaudara2.add(""); pSanakSaudara2.setLeading(0, 1); PdfPCell cSanakSaudara2 = new PdfPCell(); cSanakSaudara2.addElement(pSanakSaudara2); tabel10.addCell(cSanakSaudara2); document.add(tabel10); //------------------------------------------------------------------------------------- SANAK SAUDARA END //------------------------------------------------------------------------------------- ANAK2 PdfPTable tabel11 = new PdfPTable(colomn); tabel11.setWidthPercentage(100); Paragraph pAnak2 = new Paragraph(); pAnak2.add("12. Anak-anak : "); pAnak2.add("\n\n 1. "); pAnak2.add("\n\n 2. "); pAnak2.add("\n\n 3. "); pAnak2.add("\n\n 4. "); pAnak2.add("\n\n 5. "); pAnak2.add("\n\n 6. "); pAnak2.add("\n"); pAnak2.setLeading(0, 1); PdfPCell cAnak2 = new PdfPCell(); cAnak2.setMinimumHeight(165); cAnak2.addElement(pAnak2); tabel11.addCell(cAnak2); Paragraph pUmurAnak2 = new Paragraph(); pUmurAnak2.add(" Umur : "); pUmurAnak2.setLeading(0, 1); PdfPCell cUmurAnak2 = new PdfPCell(); cUmurAnak2.setMinimumHeight(165); cUmurAnak2.addElement(pUmurAnak2); tabel11.addCell(cUmurAnak2); Paragraph pPekarjaanAnak2 = new Paragraph(); pPekarjaanAnak2.add(" Pekerjaan : "); pPekarjaanAnak2.setLeading(0, 1); PdfPCell cPekerjaanAnak2 = new PdfPCell(); cPekerjaanAnak2.setMinimumHeight(165); cPekerjaanAnak2.addElement(pPekarjaanAnak2); tabel11.addCell(cPekerjaanAnak2); document.add(tabel11); //------------------------------------------------------------------------------------- ANAK2 END //------------------------------------------------------------------------------------- CIRI-CIRI PdfPTable tabel12 = new PdfPTable(1); tabel12.setWidthPercentage(100); Paragraph pCiri2 = new Paragraph(); pCiri2.add("13. Ciri-ciri badan : "); pCiri2.add("\n\n 1. Rambut : " + getRambut()); for (int i = 0; i < (35 - getRambut().length()); i++) { pCiri2.add(" "); } pCiri2.add("2. Muka : " + getMuka()); for (int i = 0; i < (35 - getMuka().length()); i++) { pCiri2.add(" "); } pCiri2.add("3. Kulit : " + getKulit()); pCiri2.setLeading(0, 1); PdfPCell cCiri2 = new PdfPCell(); cCiri2.setMinimumHeight(45); cCiri2.addElement(pCiri2); tabel12.addCell(cCiri2); document.add(tabel12); //------------------------------------------------------------------------------------- CIRI-CIRI END //------------------------------------------------------------------------------------- LANJUTAN CIRI2 PdfPTable tabel13 = new PdfPTable(1); tabel13.setWidthPercentage(100); Paragraph pCiri2Lanjutan = new Paragraph(); for (int i = 0; i < 20; i++) { pCiri2Lanjutan.add(" "); } pCiri2Lanjutan.add("4. Tinggi : " + getTinggi()); for (int i = 0; i < (35 - getTinggi().length()); i++) { pCiri2Lanjutan.add(" "); } pCiri2Lanjutan.add("5. Tanda Istimewa : " + getTandaistimewa()); pCiri2Lanjutan.setLeading(0, 1); PdfPCell cCiri2Lanjutan = new PdfPCell(); cCiri2Lanjutan.setMinimumHeight(20); cCiri2Lanjutan.addElement(pCiri2Lanjutan); tabel13.addCell(cCiri2Lanjutan); document.add(tabel13); //------------------------------------------------------------------------------------- LANJUTAN CIRI2 //------------------------------------------------------------------------------------- RUMUS SIDIK JARI PdfPTable tabel14 = new PdfPTable(1); tabel14.setWidthPercentage(100); Paragraph pSidikJari = new Paragraph(); pSidikJari.add("14. Rumus Sidik Jari : " + getRumussidikjari()); pSidikJari.setLeading(0, 1); PdfPCell cSidikJari = new PdfPCell(); cSidikJari.setMinimumHeight(20); cSidikJari.addElement(pSidikJari); tabel14.addCell(cSidikJari); document.add(tabel14); //------------------------------------------------------------------------------------- RUMUS SIDIK JARI END //------------------------------------------------------------------------------------- RIWAYAT SEKOLAH float[] colom = { 8, 2 }; PdfPTable tabel15 = new PdfPTable(colom); tabel15.setWidthPercentage(100); Paragraph pRiwayatSekolah = new Paragraph(); pRiwayatSekolah.add("15. Riwayat Sekolah : "); pRiwayatSekolah.add("\n\n 1. "); pRiwayatSekolah.add("\n\n 2. "); pRiwayatSekolah.add("\n\n 3. "); pRiwayatSekolah.add("\n\n 4. "); pRiwayatSekolah.add("\n\n 5. "); pRiwayatSekolah.add("\n\n 6. "); pRiwayatSekolah.setLeading(0, 1); PdfPCell cRiwayatSekolah = new PdfPCell(); cRiwayatSekolah.setMinimumHeight(165); cRiwayatSekolah.addElement(pRiwayatSekolah); tabel15.addCell(cRiwayatSekolah); Paragraph pTahunLulus = new Paragraph(); pTahunLulus.add("Tahun Lulus"); pTahunLulus.setLeading(0, 1); PdfPCell cTahunLulus = new PdfPCell(); cTahunLulus.setMinimumHeight(165); cTahunLulus.addElement(pTahunLulus); tabel15.addCell(cTahunLulus); document.add(tabel15); //------------------------------------------------------------------------------------- RIWAYAT SEKOLAH END //------------------------------------------------------------------------------------- KESENANGAN/KEGEMARAN/HOBI PdfPTable tabel16 = new PdfPTable(1); tabel16.setWidthPercentage(100); Paragraph pKesenenanganKegemaranHobi = new Paragraph(); pKesenenanganKegemaranHobi.add("16. Kesenangan/Kegemaran/Hobi : " + getHobi()); pKesenenanganKegemaranHobi.setLeading(0, 1); PdfPCell cKesenenanganKegemaranHobi = new PdfPCell(); cKesenenanganKegemaranHobi.setMinimumHeight(20); cKesenenanganKegemaranHobi.addElement(pKesenenanganKegemaranHobi); tabel16.addCell(cKesenenanganKegemaranHobi); document.add(tabel16); //------------------------------------------------------------------------------------- KESENANGAN/KEGEMARAN/HOBI END //------------------------------------------------------------------------------------- CATATAN KRIMINAL PdfPTable tabel17 = new PdfPTable(1); tabel17.setWidthPercentage(100); Paragraph pCatatanKriminal = new Paragraph(); pCatatanKriminal.add("17. Catatan kriminal yang ada : "); pCatatanKriminal.add("\n\n 1. " + getCatatankriminal1()); pCatatanKriminal.add("\n\n 2. " + getCatatankriminal2()); pCatatanKriminal.add("\n\n 3. " + getCatatankriminal3()); pCatatanKriminal.setLeading(0, 1); PdfPCell cCatatanKriminal = new PdfPCell(); cCatatanKriminal.setMinimumHeight(95); cCatatanKriminal.addElement(pCatatanKriminal); tabel17.addCell(cCatatanKriminal); document.add(tabel17); //------------------------------------------------------------------------------------- CATATAN KRIMINAL END //------------------------------------------------------------------------------------- KETERANGAN DLL PdfPTable tabel18 = new PdfPTable(1); tabel18.setWidthPercentage(100); Paragraph pDataKeteranganLain2 = new Paragraph(); pDataKeteranganLain2.add("18. Data Keterangan dan lain2 : "); pDataKeteranganLain2.add("\n\n\n"); pDataKeteranganLain2.setLeading(0, 1); PdfPCell cDataKeteranganLain2 = new PdfPCell(); cDataKeteranganLain2.addElement(pDataKeteranganLain2); if (list.size() > 0) { float[] kolomkegiatan = { 8, 2 }; PdfPTable nestedTable = new PdfPTable(kolomkegiatan); nestedTable.addCell(new Paragraph("Kegiatan")); nestedTable.addCell(new Paragraph("Tanggal")); for (int i = 0; i < list.size(); i++) { nestedTable.addCell(new Paragraph(list.get(i).getNamakegiatan())); nestedTable.addCell(new Paragraph(list.get(i).getTanggal())); } cDataKeteranganLain2.addElement(nestedTable); cDataKeteranganLain2.setPaddingBottom(20f); tabel18.addCell(cDataKeteranganLain2); } document.add(tabel18); //------------------------------------------------------------------------------------- KETERANGAN DLL END document.close(); } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return output; }