List of usage examples for com.lowagie.text.pdf ColumnText addElement
public void addElement(Element element)
From source file:nl.dykema.jxmlnote.report.pdf.PdfReport.java
License:Open Source License
public void beginReport(File output) throws ReportException { try {//from w w w .j ava2 s .c o m _canceled = false; _doc = new Document(); _writer = PdfWriter.getInstance(_doc, new FileOutputStream(output)); setPageSize(PageSize.A4); setOrientation(Orientation.PORTRAIT); setMargins(new Rectangle(72.0f, 72.0f, 72.0f, 72.0f)); _writer.setPageEvent(new PdfPageEvent() { public void onChapter(PdfWriter arg0, Document arg1, float arg2, com.lowagie.text.Paragraph arg3) { } public void onChapterEnd(PdfWriter arg0, Document arg1, float arg2) { } public void onCloseDocument(PdfWriter arg0, Document arg1) { PdfReport.super.getReportListeners().informEndReport(PdfReport.this); } public void onGenericTag(PdfWriter arg0, Document arg1, com.lowagie.text.Rectangle arg2, String arg3) { } public void onOpenDocument(PdfWriter arg0, Document arg1) { } public void onParagraph(PdfWriter arg0, Document arg1, float arg2) { } public void onParagraphEnd(PdfWriter arg0, Document arg1, float arg2) { } public void onSection(PdfWriter arg0, Document arg1, float arg2, int arg3, com.lowagie.text.Paragraph arg4) { } public void onSectionEnd(PdfWriter arg0, Document arg1, float arg2) { } public void onStartPage(PdfWriter wrt, Document doc) { } public void onEndPage(PdfWriter wrt, Document doc) { try { ReportListeners _listeners = PdfReport.super.getReportListeners(); _listeners.informNextPage(PdfReport.this); Vector<ReportElement> vhdr = _listeners.getHeader(PdfReport.this); Vector<ReportElement> vftr = _listeners.getFooter(PdfReport.this); PdfContentByte cb = wrt.getDirectContent(); // write headers on top of each other if (vhdr != null) { Iterator<ReportElement> it = vhdr.iterator(); while (it.hasNext()) { ReportElement hdr = it.next(); Rectangle pageSize = PdfReport.this.getPageRect(); Rectangle margins = PdfReport.this.getMargins(); float ytop = pageSize.top() - margins.top(); float hdrHeight = PdfReport.this.getHeight(hdr, null); float rpos = (margins.top() - hdrHeight) / 2; float hytop = ytop + rpos + hdrHeight; if (hdr instanceof PdfTable) { int firstRow = 0, lastRow = -1; PdfTable phdr = (PdfTable) hdr; phdr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb); } else if (hdr instanceof PdfParagraph) { PdfParagraph ppar = (PdfParagraph) hdr; ColumnText ct = new ColumnText(cb); float textWidth = PdfReport.this.getTextWidth(); ct.addElement(ppar); ct.setSimpleColumn(margins.left(), ytop + rpos, margins.left() + textWidth, hytop); ct.go(); } } } // write footers on top of each other if (vftr != null) { Iterator<ReportElement> it = vftr.iterator(); while (it.hasNext()) { ReportElement ftr = it.next(); Rectangle margins = PdfReport.this.getMargins(); float ytop = margins.bottom(); float hdrHeight = PdfReport.this.getHeight(ftr, null); float rpos = (margins.bottom() - hdrHeight) / 2; float hytop = ytop - rpos; if (ftr instanceof PdfTable) { int firstRow = 0, lastRow = -1; PdfTable pftr = (PdfTable) ftr; pftr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb); } else if (ftr instanceof PdfParagraph) { PdfParagraph ppar = (PdfParagraph) ftr; ColumnText ct = new ColumnText(cb); float textWidth = PdfReport.this.getTextWidth(); ct.addElement(ppar); ct.setSimpleColumn(margins.left(), rpos, margins.left() + textWidth, hytop); ct.go(); } } } } catch (ReportException e) { DefaultXMLNoteErrorHandler.exception(e); } catch (DocumentException e) { DefaultXMLNoteErrorHandler.exception(e); } } }); } catch (Exception e) { throw new ReportException(e); } }
From source file:nl.dykema.jxmlnote.report.pdf.PdfReport.java
License:Open Source License
private float getHeight(ReportElement el, ReportElement last) throws ReportException { try {/*from www . j av a 2s. c om*/ ColumnText ct = new ColumnText(_writer.getDirectContent()); if (el instanceof PdfParagraph) { PdfParagraph par = ((PdfParagraph) el); if ((el != last) || (el == last && par.hasImage())) { int status = ColumnText.START_COLUMN; Rectangle m = getMargins();//System.out.println(m); Rectangle p = getPageRect();//System.out.println(p); float leading = par.getLeading(); int align = par.getAlignment(); ct.setSimpleColumn(m.left(), m.bottom(), p.width() - m.right(), p.height() - m.top(), leading, align); //,Element.ALIGN_JUSTIFIED); ct.addElement(par); float pos = ct.getYLine(); status = ct.go(true); float npos = ct.getYLine(); return pos - npos; } else { float lineheight = par.getFont().getSize() * par.getMultipliedLeading(); float threelines = 3 * lineheight; //System.out.println("par:"+par+";lineheight:"+lineheight+";threelines:"+threelines); return threelines; } } else if (el instanceof PdfTable) { PdfTable tbl = ((PdfTable) el); int status = ColumnText.START_COLUMN; Rectangle m = getMargins();//System.out.println(m); Rectangle p = getPageRect();//System.out.println(p); float leading = 0.0f; //tbl.getLeading(); int align = tbl.getHorizontalAlignment(); ct.setSimpleColumn(m.left(), m.bottom(), p.width() - m.right(), p.height() - m.top(), leading, align); //,Element.ALIGN_JUSTIFIED); ct.addElement(tbl); float pos = ct.getYLine(); status = ct.go(true); float npos = ct.getYLine(); return pos - npos; } else { throw new ReportException("Unknown ReportElement:" + el.getClass().getName()); } } catch (Exception e) { throw new ReportException(e); } }
From source file:org.jdesktop.swingx.jxmlnote.report.pdf.PdfReport.java
License:Open Source License
public void beginReport(File output) throws ReportException { try {//from w w w .j a v a 2 s . co m _canceled = false; _doc = new Document(); _writer = PdfWriter.getInstance(_doc, new FileOutputStream(output)); setPageSize(PageSize.A4); setMargins(new Rectangle(72.0f, 72.0f, 72.0f, 72.0f)); _writer.setPageEvent(new PdfPageEvent() { public void onChapter(PdfWriter arg0, Document arg1, float arg2, com.lowagie.text.Paragraph arg3) { } public void onChapterEnd(PdfWriter arg0, Document arg1, float arg2) { } public void onCloseDocument(PdfWriter arg0, Document arg1) { PdfReport.super.getReportListeners().informEndReport(PdfReport.this); } public void onGenericTag(PdfWriter arg0, Document arg1, com.lowagie.text.Rectangle arg2, String arg3) { } public void onOpenDocument(PdfWriter arg0, Document arg1) { } public void onParagraph(PdfWriter arg0, Document arg1, float arg2) { } public void onParagraphEnd(PdfWriter arg0, Document arg1, float arg2) { } public void onSection(PdfWriter arg0, Document arg1, float arg2, int arg3, com.lowagie.text.Paragraph arg4) { } public void onSectionEnd(PdfWriter arg0, Document arg1, float arg2) { } public void onStartPage(PdfWriter wrt, Document doc) { } public void onEndPage(PdfWriter wrt, Document doc) { try { ReportListeners _listeners = PdfReport.super.getReportListeners(); _listeners.informNextPage(PdfReport.this); Vector<ReportElement> vhdr = _listeners.getHeader(PdfReport.this); Vector<ReportElement> vftr = _listeners.getFooter(PdfReport.this); PdfContentByte cb = wrt.getDirectContent(); // write headers on top of each other if (vhdr != null) { Iterator<ReportElement> it = vhdr.iterator(); while (it.hasNext()) { ReportElement hdr = it.next(); Rectangle pageSize = PdfReport.this.getPageRect(); Rectangle margins = PdfReport.this.getMargins(); float ytop = pageSize.top() - margins.top(); float hdrHeight = PdfReport.this.getHeight(hdr, null); float rpos = (margins.top() - hdrHeight) / 2; float hytop = ytop + rpos + hdrHeight; if (hdr instanceof PdfTable) { int firstRow = 0, lastRow = -1; PdfTable phdr = (PdfTable) hdr; phdr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb); } else if (hdr instanceof PdfParagraph) { PdfParagraph ppar = (PdfParagraph) hdr; ColumnText ct = new ColumnText(cb); float textWidth = PdfReport.this.getTextWidth(); ct.addElement(ppar); ct.setSimpleColumn(margins.left(), ytop + rpos, margins.left() + textWidth, hytop); ct.go(); } } } // write footers on top of each other if (vftr != null) { Iterator<ReportElement> it = vftr.iterator(); while (it.hasNext()) { ReportElement ftr = it.next(); Rectangle margins = PdfReport.this.getMargins(); float ytop = margins.bottom(); float hdrHeight = PdfReport.this.getHeight(ftr, null); float rpos = (margins.bottom() - hdrHeight) / 2; float hytop = ytop - rpos; if (ftr instanceof PdfTable) { int firstRow = 0, lastRow = -1; PdfTable pftr = (PdfTable) ftr; pftr.writeSelectedRows(firstRow, lastRow, margins.left(), hytop, cb); } else if (ftr instanceof PdfParagraph) { PdfParagraph ppar = (PdfParagraph) ftr; ColumnText ct = new ColumnText(cb); float textWidth = PdfReport.this.getTextWidth(); ct.addElement(ppar); ct.setSimpleColumn(margins.left(), rpos, margins.left() + textWidth, hytop); ct.go(); } } } } catch (ReportException e) { DefaultXMLNoteErrorHandler.exception(e); } catch (DocumentException e) { DefaultXMLNoteErrorHandler.exception(e); } } }); } catch (Exception e) { throw new ReportException(e); } }
From source file:org.oscarehr.casemgmt.service.CaseManagementPrintPdf.java
License:Open Source License
public void printDocHeaderFooter() throws IOException, DocumentException { //Create the document we are going to write to document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, os); writer.setPageEvent(new EndPage()); document.setPageSize(PageSize.LETTER); document.open();/*w w w.j ava 2s. co m*/ //Create the font we are going to print to bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); font = new Font(bf, FONTSIZE, Font.NORMAL); String title = "", gender = "", dob = "", age = "", mrp = ""; if (this.demoDtl != null) { //set up document title and header ResourceBundle propResource = ResourceBundle.getBundle("oscarResources"); title = propResource.getString("oscarEncounter.pdfPrint.title") + " " + (String) demoDtl.get("demoName") + "\n"; gender = propResource.getString("oscarEncounter.pdfPrint.gender") + " " + (String) demoDtl.get("demoSex") + "\n"; dob = propResource.getString("oscarEncounter.pdfPrint.dob") + " " + (String) demoDtl.get("demoDOB") + "\n"; age = propResource.getString("oscarEncounter.pdfPrint.age") + " " + (String) demoDtl.get("demoAge") + "\n"; mrp = propResource.getString("oscarEncounter.pdfPrint.mrp") + " " + (String) demoDtl.get("mrp") + "\n"; } else { //set up document title and header ResourceBundle propResource = ResourceBundle.getBundle("oscarResources"); title = propResource.getString("oscarEncounter.pdfPrint.title") + " " + (String) request.getAttribute("demoName") + "\n"; gender = propResource.getString("oscarEncounter.pdfPrint.gender") + " " + (String) request.getAttribute("demoSex") + "\n"; dob = propResource.getString("oscarEncounter.pdfPrint.dob") + " " + (String) request.getAttribute("demoDOB") + "\n"; age = propResource.getString("oscarEncounter.pdfPrint.age") + " " + (String) request.getAttribute("demoAge") + "\n"; mrp = propResource.getString("oscarEncounter.pdfPrint.mrp") + " " + (String) request.getAttribute("mrp") + "\n"; } String[] info = new String[] { title, gender, dob, age, mrp }; ClinicData clinicData = new ClinicData(); clinicData.refreshClinicData(); String[] clinic = new String[] { clinicData.getClinicName(), clinicData.getClinicAddress(), clinicData.getClinicCity() + ", " + clinicData.getClinicProvince(), clinicData.getClinicPostal(), clinicData.getClinicPhone(), "Fax: " + clinicData.getClinicFax() }; //Header will be printed at top of every page beginning with p2 Phrase headerPhrase = new Phrase(LEADING, title, font); HeaderFooter header = new HeaderFooter(headerPhrase, false); header.setAlignment(HeaderFooter.ALIGN_CENTER); document.setHeader(header); //Write title with top and bottom borders on p1 cb = writer.getDirectContent(); cb.setColorStroke(new Color(0, 0, 0)); cb.setLineWidth(0.5f); cb.moveTo(document.left(), document.top()); cb.lineTo(document.right(), document.top()); cb.stroke(); //cb.setFontAndSize(bf, FONTSIZE); upperYcoord = document.top() - (font.getCalculatedLeading(LINESPACING) * 2f); ColumnText ct = new ColumnText(cb); Paragraph p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); Phrase phrase = new Phrase(); Phrase dummy = new Phrase(); for (int idx = 0; idx < clinic.length; ++idx) { phrase.add(clinic[idx] + "\n"); dummy.add("\n"); upperYcoord -= phrase.getLeading(); } dummy.add("\n"); ct.setSimpleColumn(document.left(), upperYcoord, document.right() / 2f, document.top()); ct.addElement(phrase); ct.go(); p.add(dummy); document.add(p); //add patient info phrase = new Phrase(); p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_RIGHT); for (int idx = 0; idx < info.length; ++idx) { phrase.add(info[idx]); } ct.setSimpleColumn(document.right() / 2f, upperYcoord, document.right(), document.top()); p.add(phrase); ct.addElement(p); ct.go(); cb.moveTo(document.left(), upperYcoord); cb.lineTo(document.right(), upperYcoord); cb.stroke(); upperYcoord -= phrase.getLeading(); if (Boolean.parseBoolean(OscarProperties.getInstance().getProperty("ICFHT_CONVERT_TO_PDF", "false"))) { printPersonalInfo(); } }
From source file:org.pz.platypus.plugin.pdf.PdfOutfile.java
License:Open Source License
/** * If paragraph has content, add it to the content of the current column * * @param para the iText paragraph to add * @param column the iText column to add the paragraph to *//*from ww w . j av a 2 s . co m*/ public void addParagraph(Paragraph para, final ColumnText column) { if (para == null) { // there's no paragraph to add return; } assert (column != null); assert (pdfData != null); ColumnText outputColumn = column; try { if (!isOpen()) { makeSureOutfileIsOpen(); outputColumn = iTColumn; } } catch (IOException ioe) { return; //TODO: Should emit error message } if (inABulletList()) { addParagraphToList(para); } else { doParagraphAlignment(para, pdfData); doParagraphIndent(para, pdfData); doParagraphIndentRight(para, pdfData); doFirstLineIndent(para, pdfData); doParagraphSpaceBefore(para, pdfData); outputColumn.addElement(para); } }
From source file:org.tellervo.desktop.print.CompleteBoxLabel.java
License:Open Source License
public void generateBoxLabel(OutputStream output) { try {//from w w w. j a v a 2 s . c o m PdfWriter writer = PdfWriter.getInstance(document, output); document.setPageSize(PageSize.LETTER); document.open(); cb = writer.getDirectContent(); // Set basic metadata document.addAuthor("Peter Brewer"); document.addSubject("Box Label"); for (WSIBox b : this.boxlist) { // Title Left ColumnText ct = new ColumnText(cb); ct.setSimpleColumn(document.left(), document.top(15) - 210, 368, document.top(15), 20, Element.ALIGN_LEFT); ct.addText(getTitlePDF(b)); ct.go(); // Barcode ColumnText ct2 = new ColumnText(cb); ct2.setSimpleColumn(370, document.top(15) - 100, document.right(0), document.top(0), 20, Element.ALIGN_RIGHT); ct2.addElement(getBarCode(b)); ct2.go(); // Timestamp ColumnText ct3 = new ColumnText(cb); ct3.setSimpleColumn(document.left(), document.top(15) - 223, 350, document.top(15) - 60, 20, Element.ALIGN_LEFT); ct3.setLeading(0, 1.2f); ct3.addText(getTimestampPDF(b)); ct3.go(); // Pad text document.add(new Paragraph(" ")); Paragraph p2 = new Paragraph(); p2.setSpacingBefore(70); p2.setSpacingAfter(10); p2.add(new Chunk(" ", bodyFontLarge)); document.add(new Paragraph(p2)); // Ring samples table addTable(b); document.add(getParagraphSpace()); document.add(getComments(b)); document.newPage(); } } catch (DocumentException de) { System.err.println(de.getMessage()); } // Close the document document.close(); }
From source file:org.tellervo.desktop.print.SeriesReport.java
License:Open Source License
private void generateSeriesReport(OutputStream output) { displayUnits = NormalTridasUnit/*from ww w .j a v a 2 s . co m*/ .valueOf(App.prefs.getPref(PrefKey.DISPLAY_UNITS, NormalTridasUnit.MICROMETRES.name().toString())); try { PdfWriter writer = PdfWriter.getInstance(document, output); document.setPageSize(PageSize.LETTER); document.open(); cb = writer.getDirectContent(); // Set basic metadata document.addAuthor("Peter Brewer"); document.addSubject("Tellervo Series Report for " + s.getDisplayTitle()); // Title Left ColumnText ct = new ColumnText(cb); ct.setSimpleColumn(document.left(), document.top() - 163, 283, document.top(), 20, Element.ALIGN_LEFT); ct.addText(getTitlePDF()); ct.go(); // Barcode ColumnText ct2 = new ColumnText(cb); ct2.setSimpleColumn(370, document.top(15) - 100, document.right(0), document.top(0), 20, Element.ALIGN_RIGHT); ct2.addElement(getBarCode()); ct2.go(); // Timestamp ColumnText ct3 = new ColumnText(cb); ct3.setSimpleColumn(document.left(), document.top() - 223, 283, document.top() - 60, 20, Element.ALIGN_LEFT); ct3.setLeading(0, 1.2f); ct3.addText(getTimestampPDF()); ct3.go(); // Authorship ColumnText ct4 = new ColumnText(cb); ct4.setSimpleColumn(284, document.top() - 223, document.right(10), document.top() - 60, 20, Element.ALIGN_RIGHT); ct4.setLeading(0, 1.2f); ct4.addText(getAuthorshipPDF()); ct4.go(); // Pad text document.add(new Paragraph(" ")); Paragraph p2 = new Paragraph(); p2.setSpacingBefore(50); p2.setSpacingAfter(10); p2.add(new Chunk(" ", bodyFont)); document.add(new Paragraph(p2)); // Ring width table getRingWidthTable(); document.add(getParagraphSpace()); if (s.getSeries() instanceof TridasMeasurementSeries) { // MEASUREMENT SERIES //document.add(getRingRemarks()); document.add(getWoodCompletenessPDF()); document.add(getParagraphSpace()); document.add(getSeriesComments()); document.add(getParagraphSpace()); document.add(getInterpretationPDF()); document.add(getParagraphSpace()); document.add(getElementAndSampleInfo()); } else { // DERIVED SERIES getWJTable(); document.add(getParagraphSpace()); document.add(getSeriesComments()); document.add(getParagraphSpace()); //document.add(getRingRemarks()); } } catch (DocumentException de) { System.err.println(de.getMessage()); } // Close the document document.close(); }
From source file:questions.importpages.NameCard.java
public static void createOneCard() throws DocumentException, IOException { Rectangle rect = new Rectangle(Utilities.millimetersToPoints(86.5f), Utilities.millimetersToPoints(55)); Document document = new Document(rect); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(CARD)); writer.setViewerPreferences(PdfWriter.PrintScalingNone); document.open();//from ww w . ja v a 2 s . c o m PdfReader reader = new PdfReader(LOGO); Image img = Image.getInstance(writer.getImportedPage(reader, 1)); img.scaleToFit(rect.getWidth() / 1.5f, rect.getHeight() / 1.5f); img.setAbsolutePosition((rect.getWidth() - img.getScaledWidth()) / 2, (rect.getHeight() - img.getScaledHeight()) / 2); document.add(img); document.newPage(); BaseFont bf = BaseFont.createFont(FONT, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); Font font = new Font(bf, 12); font.setColor(new CMYKColor(1, 0.5f, 0, 0.467f)); ColumnText column = new ColumnText(writer.getDirectContent()); Paragraph p; p = new Paragraph("Bruno Lowagie\n1T3XT\nbruno@1t3xt.com", font); p.setAlignment(Element.ALIGN_CENTER); column.addElement(p); column.setSimpleColumn(0, 0, rect.getWidth(), rect.getHeight() * 0.75f); column.go(); document.close(); }
From source file:questions.objects.DifferentLeadings.java
public static void main(String[] args) { Document document = new Document(PageSize.A7); try {/*from w w w. jav a 2s . c o m*/ PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); document.open(); Chunk space = new Chunk(' '); String text = "Quick brown fox jumps over the lazy dog."; Phrase phrase1 = new Phrase(text, new Font(Font.HELVETICA, 12)); Phrase phrase2 = new Phrase(new Chunk(text, new Font(Font.TIMES_ROMAN, 24))); Phrase phrase3 = new Phrase(text, new Font(Font.COURIER, 8)); Phrase phrase4 = new Phrase(text, new Font(Font.HELVETICA, 4)); Paragraph paragraph = new Paragraph(); paragraph.add(phrase1); paragraph.add(space); paragraph.add(phrase2); paragraph.add(space); paragraph.add(phrase3); paragraph.add(space); paragraph.add(phrase4); paragraph.setMultipliedLeading(1.5f); paragraph.setAlignment(Element.ALIGN_JUSTIFIED); ColumnText column = new ColumnText(writer.getDirectContent()); column.setSimpleColumn(document.left(), document.bottom(), document.right(), document.top()); column.addElement(paragraph); column.go(); document.newPage(); document.add(paragraph); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } document.close(); }
From source file:questions.objects.NewPageColumns.java
public static void main(String[] args) { // step 1// w ww. java2s.c o m Document document = new Document(PageSize.A6); try { // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); // step 3 document.open(); // step 4 for (int i = 0; i < 25; i++) document.add(new Paragraph("Hello paragraph 1." + i)); document.newPage(); ColumnText column = new ColumnText(writer.getDirectContent()); column.setSimpleColumn(PageSize.A6.getLeft(36), PageSize.A6.getBottom(36), PageSize.A6.getRight(36), PageSize.A6.getTop(36)); for (int i = 0; i < 20; i++) column.addElement(new Paragraph("Hello column 1." + i)); int status = column.go(); while (ColumnText.hasMoreText(status)) { document.newPage(); column.setYLine(PageSize.A6.getTop(36)); status = column.go(); } document.newPage(); for (int i = 0; i < 10; i++) column.addElement(new Paragraph("Hello column 2." + i)); status = column.go(); while (ColumnText.hasMoreText(status)) { document.newPage(); column.setYLine(PageSize.A6.getTop(36)); status = column.go(); } document.newPage(); for (int i = 0; i < 5; i++) document.add(new Paragraph("Hello paragraph 2." + i)); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5 document.close(); }