List of usage examples for com.lowagie.text.pdf PdfWriter getBoxSize
public Rectangle getBoxSize(String boxName)
From source file:ch.gpb.elexis.kgexporter.pdf.HeaderFooterPageEvent.java
License:Open Source License
public void onStartPage(PdfWriter writer, Document document) { Rectangle rect = writer.getBoxSize("art"); ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT, new Phrase(sbHeader), rect.getLeft(), rect.getTop(), 0); ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_RIGHT, new Phrase(sDate), rect.getRight(), rect.getTop(), 0); PdfContentByte cb = writer.getDirectContentUnder(); //cb.rectangle(document.left(), document.top(), // document.right() - document.left(), document.top() - 25); /*/*from w ww.jav a2 s . c o m*/ System.out.println("l: " + document.left()); System.out.println("r: " + document.right()); System.out.println("t: " + document.top()); System.out.println("b: " + document.bottom()); l: 36.0 r: 559.0 t: 806.0 b: 36.0 */ //Rectangle rect2 = new Rectangle(document.top() - 36, document.top() - 36, 559, 1); /* float l = 36f; float r = 36f; float t = 559f; float b = 2f; Rectangle rect2 = new Rectangle(l, r, t, b); //Rectangle rect2 = new Rectangle(36, 36, 559, 1); rect2.setBorder(Rectangle.BOTTOM); rect2.setBorderWidth(0.5f); cb.rectangle(rect2); //cb.setColorStroke(Color.BLACK); */ /* for (int i = 30; i > 0; i--) { System.err.println((float) i / 10); cb.setLineWidth((float) i / 10); cb.moveTo(36, 806 - (5 * i)); cb.lineTo(400, 806 - (5 * i)); cb.stroke(); } cb.moveTo(10, 50); cb.lineTo(559, 50); */ cb.setLineWidth(0.5f); cb.moveTo(30, 791); cb.lineTo(559, 791); cb.stroke(); }
From source file:ch.gpb.elexis.kgexporter.pdf.HeaderFooterPageEvent.java
License:Open Source License
public void onEndPage(PdfWriter writer, Document document) { Rectangle rect = writer.getBoxSize("art"); ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT, new Phrase(this.sbFooter), rect.getLeft(), rect.getBottom(), 0); /*//from w w w . j a va 2 s . com ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_CENTER, new Phrase("Bottom Right"), rect.getRight(), rect.getBottom(), 0); */ PdfContentByte cb = writer.getDirectContentUnder(); cb.setLineWidth(0.5f); cb.moveTo(30, 50); cb.lineTo(559, 50); cb.stroke(); }
From source file:classroom.filmfestival_c.Movies19.java
@SuppressWarnings("unchecked") protected static void createSheet(Session session, Date date, PdfWriter writer) { Query q;// w w w.j a v a 2 s . c om q = session.createQuery( "select distinct screening.id.place from FestivalScreening as screening where id.day=? order by screening.id.place"); q.setDate(0, date); List<String> places = q.list(); Rectangle art = writer.getBoxSize("art"); // initialize the dimensions for this day float top = art.getTop(); float row_height = art.getHeight() / places.size(); if (row_height > 70) { row_height = 70; } float column_width = art.getWidth() / COLUMNS; float left = art.getLeft() + column_width; float minute = (2f * column_width) / 60f; // content drawGrid(writer, places, date.toString(), left, column_width, top, row_height); q = session.createQuery("from FestivalScreening where id.day=? order by id.time, id.place"); q.setDate(0, date); List<FestivalScreening> screenings = q.list(); for (FestivalScreening screening : screenings) { try { drawMovie(writer, screening, places, minute, left, top, row_height); } catch (DocumentException e) { LOGGER.error("DocumentException: ", e); } } }
From source file:classroom.filmfestival_c.Movies19.java
protected static void drawGrid(PdfWriter writer, List<String> places, String day, float left, float column_width, float top, float row_height) { // CANVAS/*from ww w. j av a 2s. c o m*/ PdfContentByte directcontent = writer.getDirectContent(); Rectangle art = writer.getBoxSize("art"); // LINES directcontent.setLineWidth(1); float bottom = art.getTop(); // rows int rows = places.size(); for (int i = 0; i <= rows; i++) { directcontent.moveTo(art.getLeft(), art.getTop() - (i * row_height)); directcontent.lineTo(art.getRight(), art.getTop() - (i * row_height)); bottom = art.getTop() - (i * row_height); } // Rectangle directcontent.moveTo(art.getLeft(), art.getTop()); directcontent.lineTo(art.getLeft(), bottom); directcontent.moveTo(left, art.getTop()); directcontent.lineTo(left, bottom); directcontent.moveTo(art.getLeft() + (COLUMNS * column_width), art.getTop()); directcontent.lineTo(art.getLeft() + (COLUMNS * column_width), bottom); directcontent.stroke(); // columns directcontent.saveState(); directcontent.setLineWidth(0.3f); directcontent.setColorStroke(SILVER); directcontent.setLineDash(3, 1); for (int i = 2; i < COLUMNS; i++) { directcontent.moveTo(art.getLeft() + (i * column_width), art.getTop()); directcontent.lineTo(art.getLeft() + (i * column_width), bottom); } directcontent.stroke(); directcontent.restoreState(); // TEXT // date directcontent.beginText(); directcontent.setFontAndSize(FONT, 12); directcontent.showTextAligned(Element.ALIGN_RIGHT, day, art.getLeft() - 5, art.getTop(), 90); directcontent.endText(); // time for (int i = 1; i < COLUMNS; i++) { directcontent.beginText(); directcontent.setFontAndSize(FONT, 8); directcontent.showTextAligned(Element.ALIGN_LEFT, TIME[i - 1], art.getLeft() + (i * column_width) + 5, top + 5, 90); directcontent.endText(); } // places for (int i = 0; i < rows; i++) { directcontent.beginText(); directcontent.setFontAndSize(FONT, 12); directcontent.showTextAligned(Element.ALIGN_CENTER, places.get(i), art.getLeft() + 16, art.getTop() - ((i + 0.5f) * row_height), 90); directcontent.endText(); } }