public void exportText(RenderingContext c, Writer writer) throws IOException { if (c.isPrint() && isRoot()) { c.setPage(0, (PageBox)c.getRootLayer().getPages().get(0)); c.getPage().exportLeadingText(c, writer); } for (Iterator i = getChildIterator(); i.hasNext(); ) { Box b = (Box)i.next(); b.exportText(c, writer); } if (c.isPrint() && isRoot()) { exportPageBoxText(c, writer); } }
c.setPage(pageNo, page);
public void paintPage(Graphics2D g, int pageNo) { Layer root = getRootLayer(); if (root == null) { throw new RuntimeException("Document needs layout"); } if (pageNo < 0 || pageNo >= root.getPages().size()) { throw new IllegalArgumentException("Page " + pageNo + " is not between 0 " + "and " + root.getPages().size()); } RenderingContext c = newRenderingContext(g); PageBox page = (PageBox)root.getPages().get(pageNo); c.setPageCount(root.getPages().size()); c.setPage(pageNo, page); page.paintBackground(c, 0, Layer.PAGED_MODE_PRINT); page.paintMarginAreas(c, 0, Layer.PAGED_MODE_PRINT); page.paintBorder(c, 0, Layer.PAGED_MODE_PRINT); Shape working = g.getClip(); Rectangle content = page.getPrintClippingBounds(c); g.clip(content); int top = -page.getPaintingTop() + page.getMarginBorderPadding(c, CalculatedStyle.TOP); int left = page.getMarginBorderPadding(c, CalculatedStyle.LEFT); g.translate(left, top); root.paint(c); g.translate(-left, -top); g.setClip(working); }
protected void exportPageBoxText(RenderingContext c, Writer writer, int yPos) throws IOException { c.getPage().exportTrailingText(c, writer); List pages = c.getRootLayer().getPages(); PageBox next = (PageBox)pages.get(c.getPageNo()+1); c.setPage(next.getPageNo(), next); while (next.getBottom() < yPos) { next.exportLeadingText(c, writer); next.exportTrailingText(c, writer); next = (PageBox)pages.get(c.getPageNo()+1); c.setPage(next.getPageNo(), next); } next.exportLeadingText(c, writer); }
for (int i = 0; i < pages.size(); i++) { PageBox page = (PageBox)pages.get(i); c.setPage(i, page);
protected void exportPageBoxText(RenderingContext c, Writer writer, int yPos) throws IOException { c.getPage().exportTrailingText(c, writer); List pages = c.getRootLayer().getPages(); PageBox next = (PageBox)pages.get(c.getPageNo()+1); c.setPage(next.getPageNo(), next); while (next.getBottom() < yPos) { next.exportLeadingText(c, writer); next.exportTrailingText(c, writer); next = (PageBox)pages.get(c.getPageNo()+1); c.setPage(next.getPageNo(), next); } next.exportLeadingText(c, writer); }
for (int i = 0; i < pages.size(); i++) { PageBox page = (PageBox)pages.get(i); c.setPage(i, page);
public void exportText(RenderingContext c, Writer writer) throws IOException { if (c.isPrint() && isRoot()) { c.setPage(0, (PageBox)c.getRootLayer().getPages().get(0)); c.getPage().exportLeadingText(c, writer); } for (Iterator i = getChildIterator(); i.hasNext(); ) { Box b = (Box)i.next(); b.exportText(c, writer); } if (c.isPrint() && isRoot()) { exportPageBoxText(c, writer); } }
private void writePDF(List pages, RenderingContext c, com.lowagie.text.Rectangle firstPageSize, com.lowagie.text.Document doc, PdfWriter writer) throws DocumentException { _outputDevice.setRoot(_root); _outputDevice.start(_doc); _outputDevice.setWriter(writer); _outputDevice.initializePage(writer.getDirectContent(), firstPageSize.getHeight()); _root.getLayer().assignPagePaintingPositions(c, Layer.PAGED_MODE_PRINT); int pageCount = _root.getLayer().getPages().size(); c.setPageCount(pageCount); firePreWrite(pageCount); // opportunity to adjust meta data setDidValues(doc); // set PDF header fields from meta data for (int i = 0; i < pageCount; i++) { if (isTimeouted() || Thread.currentThread().isInterrupted()) throw new RuntimeException("Timeout occured"); PageBox currentPage = (PageBox) pages.get(i); c.setPage(i, currentPage); paintPage(c, writer, currentPage); _outputDevice.finishPage(); if (i != pageCount - 1) { PageBox nextPage = (PageBox) pages.get(i + 1); com.lowagie.text.Rectangle nextPageSize = new com.lowagie.text.Rectangle(0, 0, nextPage.getWidth(c) / _dotsPerPoint, nextPage.getHeight(c) / _dotsPerPoint); doc.setPageSize(nextPageSize); doc.newPage(); _outputDevice.initializePage(writer.getDirectContent(), nextPageSize.getHeight()); } } _outputDevice.finish(c, _root); }
private void exportPageBoxText(RenderingContext c, Writer writer) throws IOException { c.getPage().exportTrailingText(c, writer); if (c.getPage() != c.getRootLayer().getLastPage()) { List pages = c.getRootLayer().getPages(); do { PageBox next = (PageBox)pages.get(c.getPageNo()+1); c.setPage(next.getPageNo(), next); next.exportLeadingText(c, writer); next.exportTrailingText(c, writer); } while (c.getPage() != c.getRootLayer().getLastPage()); } }
private void writePDF(List pages, RenderingContext c, com.lowagie.text.Rectangle firstPageSize, com.lowagie.text.Document doc, PdfWriter writer) throws DocumentException { _outputDevice.setRoot(_root); _outputDevice.start(_doc); _outputDevice.setWriter(writer); _outputDevice.initializePage(writer.getDirectContent(), firstPageSize.getHeight()); _root.getLayer().assignPagePaintingPositions(c, Layer.PAGED_MODE_PRINT); int pageCount = _root.getLayer().getPages().size(); c.setPageCount(pageCount); for (int i = 0; i < pageCount; i++) { PageBox currentPage = (PageBox)pages.get(i); c.setPage(i, currentPage); paintPage(c, writer, currentPage); _outputDevice.finishPage(); if (i != pageCount - 1) { PageBox nextPage = (PageBox)pages.get(i+1); com.lowagie.text.Rectangle nextPageSize = new com.lowagie.text.Rectangle( 0, 0, nextPage.getWidth(c) / _dotsPerPoint, nextPage.getHeight(c) / _dotsPerPoint); doc.setPageSize(nextPageSize); doc.newPage(); _outputDevice.initializePage( writer.getDirectContent(), nextPageSize.getHeight()); } } _outputDevice.finish(c, _root); }
private void exportPageBoxText(RenderingContext c, Writer writer) throws IOException { c.getPage().exportTrailingText(c, writer); if (c.getPage() != c.getRootLayer().getLastPage()) { List pages = c.getRootLayer().getPages(); do { PageBox next = (PageBox)pages.get(c.getPageNo()+1); c.setPage(next.getPageNo(), next); next.exportLeadingText(c, writer); next.exportTrailingText(c, writer); } while (c.getPage() != c.getRootLayer().getLastPage()); } }
private void writePDF(List pages, RenderingContext c, com.lowagie.text.Rectangle firstPageSize, com.lowagie.text.Document doc, PdfWriter writer) throws DocumentException { _outputDevice.setRoot(_root); _outputDevice.start(_doc); _outputDevice.setWriter(writer); _outputDevice.initializePage(writer.getDirectContent(), firstPageSize.getHeight()); _root.getLayer().assignPagePaintingPositions(c, Layer.PAGED_MODE_PRINT); int pageCount = _root.getLayer().getPages().size(); c.setPageCount(pageCount); firePreWrite(pageCount); // opportunity to adjust meta data setDidValues(doc); // set PDF header fields from meta data for (int i = 0; i < pageCount; i++) { if (isTimeouted() || Thread.currentThread().isInterrupted()) throw new RuntimeException("Timeout occured"); PageBox currentPage = (PageBox) pages.get(i); c.setPage(i, currentPage); paintPage(c, writer, currentPage); _outputDevice.finishPage(); if (i != pageCount - 1) { PageBox nextPage = (PageBox) pages.get(i + 1); com.lowagie.text.Rectangle nextPageSize = new com.lowagie.text.Rectangle(0, 0, nextPage.getWidth(c) / _dotsPerPoint, nextPage.getHeight(c) / _dotsPerPoint); doc.setPageSize(nextPageSize); doc.newPage(); _outputDevice.initializePage(writer.getDirectContent(), nextPageSize.getHeight()); } } _outputDevice.finish(c, _root); }
for (int i = 0; i < pageCount; i++) { PageBox currentPage = (PageBox)pages.get(i); c.setPage(i, currentPage); paintPage(c, writer, currentPage); _outputDevice.finishPage();
for (int i = 0; i < pages.size(); i++) { PageBox page = (PageBox) pages.get(i); c.setPage(i, page);
c.setPage(i, currentPage); paintPage(c, writer, currentPage); _outputDevice.finishPage();