List of usage examples for com.itextpdf.text.pdf PdfWriter getDirectContent
public PdfContentByte getDirectContent()
From source file:org.fossa.rolp.util.LebPageHelper.java
License:Open Source License
@Override public void onEndPage(PdfWriter writer, Document document) { PdfPTable table = new PdfPTable(2); table.setTotalWidth(527);//from w ww. ja v a 2 s . c o m table.setWidthPercentage(100); table.setLockedWidth(true); table.getDefaultCell().setFixedHeight(105f); table.getDefaultCell().setBorderWidth(0); table.addCell(""); table.addCell(csmLogoImage); table.writeSelectedRows(0, -1, 100, 840, writer.getDirectContent()); ColumnText.showTextAligned(writer.getDirectContent(), Element.ALIGN_LEFT, new Phrase( lebData.getSchuelername() + " " + lebData.getSchuljahr() + " " + lebData.getSchulhalbjahr().getId() + " Seite " + document.getPageNumber(), fusszeilenFont), 100, 75, 0); }
From source file:org.ganttproject.impex.htmlpdf.itext.ThemeImpl.java
License:GNU General Public License
private void writeColontitle(String topLeft, String topRight, String bottomLeft, String bottomRight) { final Document document = myDoc; final PdfWriter writer = myWriter; Rectangle page = document.getPageSize(); PdfPTable colontitleTable = createColontitleTable(topLeft, topRight, bottomLeft, bottomRight); colontitleTable.writeSelectedRows(0, -1, document.leftMargin(), page.getHeight() - document.topMargin() + colontitleTable.getTotalHeight(), writer.getDirectContent()); }
From source file:org.gephi.io.exporter.preview.PDFExporter.java
License:Open Source License
public boolean execute() { Progress.start(progress);//from w w w.j av a 2s .c om PreviewController controller = Lookup.getDefault().lookup(PreviewController.class); controller.getModel(workspace).getProperties().putValue(PreviewProperty.VISIBILITY_RATIO, 1.0); controller.refreshPreview(workspace); PreviewProperties props = controller.getModel(workspace).getProperties(); Rectangle size = new Rectangle(pageSize); if (landscape) { size = new Rectangle(pageSize.rotate()); } Color col = props.getColorValue(PreviewProperty.BACKGROUND_COLOR); size.setBackgroundColor(new BaseColor(col.getRed(), col.getGreen(), col.getBlue())); Document document = new Document(size); PdfWriter pdfWriter = null; try { pdfWriter = PdfWriter.getInstance(document, stream); pdfWriter.setPdfVersion(PdfWriter.PDF_VERSION_1_5); pdfWriter.setFullCompression(); } catch (DocumentException ex) { Exceptions.printStackTrace(ex); } document.open(); PdfContentByte cb = pdfWriter.getDirectContent(); cb.saveState(); props.putValue(PDFTarget.LANDSCAPE, landscape); props.putValue(PDFTarget.PAGESIZE, size); props.putValue(PDFTarget.MARGIN_TOP, new Float((float) marginTop)); props.putValue(PDFTarget.MARGIN_LEFT, new Float((float) marginLeft)); props.putValue(PDFTarget.MARGIN_BOTTOM, new Float((float) marginBottom)); props.putValue(PDFTarget.MARGIN_RIGHT, new Float((float) marginRight)); props.putValue(PDFTarget.PDF_CONTENT_BYTE, cb); target = (PDFTarget) controller.getRenderTarget(RenderTarget.PDF_TARGET, workspace); if (target instanceof LongTask) { ((LongTask) target).setProgressTicket(progress); } try { controller.render(target, workspace); } catch (Exception e) { throw new RuntimeException(e); } cb.restoreState(); document.close(); Progress.finish(progress); props.putValue(PDFTarget.PDF_CONTENT_BYTE, null); props.putValue(PDFTarget.PAGESIZE, null); return !cancel; }
From source file:org.gmdev.pdftrick.engine.MergeFiles.java
License:Open Source License
/** * Materially multiple pdf files are written merged file on a disk * @param list//w w w . j a v a 2s .c o m * @param outputStream * @throws DocumentException * @throws IOException */ private void doMerge(List<StreamPwdContainer> list, OutputStream outputStream) throws DocumentException, IOException { HashMap<Integer, String> rotationFromPages = factory.getRotationFromPages(); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); int z = 0; for (StreamPwdContainer boom : list) { InputStream in = boom.getIn(); PdfReader reader = null; if (!boom.getPwd().equalsIgnoreCase("")) { reader = new PdfReader(in, boom.getPwd().getBytes()); } else { reader = new PdfReader(in); } for (int i = 1; i <= reader.getNumberOfPages(); i++) { z++; int rotation = reader.getPageRotation(i); //set size Rectangle pageSize_ = reader.getPageSize(i); Rectangle pageSize = null; if (rotation == 270 || rotation == 90) { pageSize = new Rectangle(pageSize_.getHeight(), pageSize_.getWidth()); } else { pageSize = pageSize_; } document.setPageSize(pageSize); writer.setCropBoxSize(pageSize); document.newPage(); // import the page from source pdf PdfImportedPage page = writer.getImportedPage(reader, i); // add the page to the destination pdf if (rotation == 270) { cb.addTemplate(page, 0, 1.0f, -1.0f, 0, reader.getPageSizeWithRotation(i).getWidth(), 0); rotationFromPages.put(z, "" + rotation); } else if (rotation == 180) { cb.addTemplate(page, -1f, 0, 0, -1f, 0, 0); rotationFromPages.put(z, "" + rotation); } else if (rotation == 90) { cb.addTemplate(page, 0, -1f, 1f, 0, 0, reader.getPageSizeWithRotation(i).getHeight()); rotationFromPages.put(z, "" + rotation); } else { cb.addTemplate(page, 1f, 0, 0, 1f, 0, 0); } } in.close(); } outputStream.flush(); document.close(); outputStream.close(); }
From source file:org.imos.abos.plot.JfreeChartDemo.java
License:Open Source License
protected void createPDF(String filename) { try {//from w ww . jav a 2 s. c o m Rectangle page = PageSize.A4.rotate(); // step 1 Document document = new Document(page); // step 2 PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); // step 3 document.open(); // step 4 PdfContentByte cb = writer.getDirectContent(); float width = page.getWidth(); float height = page.getHeight(); // add chart PdfTemplate pie = cb.createTemplate(width, height); Graphics2D g2d1 = new PdfGraphics2D(pie, width, height); Rectangle2D r2d1 = new Rectangle2D.Double(0, 0, width, height); chart.draw(g2d1, r2d1); g2d1.dispose(); cb.addTemplate(pie, 0, 0); // step 5 document.close(); } catch (DocumentException ex) { Logger.getLogger(JfreeChartDemo.class.getName()).log(Level.SEVERE, null, ex); } catch (FileNotFoundException ex) { Logger.getLogger(JfreeChartDemo.class.getName()).log(Level.SEVERE, null, ex); } System.out.println("PDF finsihed"); }
From source file:org.javad.pdf.util.PdfUtil.java
License:Apache License
public static float findMaximumWidth(IContentGenerator generator, PdfContentByte content) { float width = 0.0f; try {//from w w w. j a va 2 s. c o m Document d = new Document(content.getPdfDocument().getPageSize()); PdfWriter writer = PdfWriter.getInstance(d, new ByteArrayOutputStream()); d.open(); PdfContentByte c = writer.getDirectContent(); OutputBounds bounds = generator.generate(c); width = bounds.width; d.newPage(); d.close(); } catch (Throwable e) { e.printStackTrace(); } return width; }
From source file:org.javad.stamp.pdf.PdfGenerator.java
License:Apache License
public void createPage(PdfWriter writer, float center, PageTitle title, ISetContent... sets) { PdfContentByte handler = writer.getDirectContent(); title.setX(center);//from w ww . ja v a 2 s . c om title.setY((int) PdfUtil.convertFromMillimeters(config.getHeight() - config.getMarginTop() - 15.0f)); OutputBounds rect = title.generate(handler); boolean previousTextOnly = false; for (ISetContent set : sets) { if (set instanceof ColumnSet) { float width = PdfUtil.findMaximumWidth(set, handler); set.setX(center - width / 2.0f); } else { set.setX(center); } set.setY(rect.y - rect.height - ((!previousTextOnly) ? PdfUtil.convertFromMillimeters(5.0f) : 0.0f)); rect = set.generate(handler); previousTextOnly = set.isTextOnly(); } }
From source file:org.javad.stamp.pdf.PdfGenerator.java
License:Apache License
public void createTitlePage(PdfWriter writer, float center, TitlePageContent title) { PdfContentByte handler = writer.getDirectContent(); title.setX(center);/* w w w .j a v a 2 s. c om*/ title.setY((int) PdfUtil.convertFromMillimeters(config.getHeight() - config.getMarginTop() - 15.0f)); title.generate(handler); }
From source file:org.javad.stamp.pdf.PdfGenerator.java
License:Apache License
protected void generatePage(GenerateBean bean, PdfWriter writer, float center, Element elm, int currentPage) { EventBus.publish(new StatusEvent(StatusType.Progress, currentPage)); EventBus.publish(new StatusEvent(StatusType.Message, MessageFormat.format(Resources.getString("message.generatingPage"), (currentPage)))); Object p = factory.getParser(elm.getTagName()).parse(elm, config); if (p != null) { if (p instanceof Page) { Page page = (Page) p;/*from www. j a v a2 s .com*/ ISetContent[] content = new ISetContent[page.getContent().size()]; content = page.getContent().toArray(content); createPage(writer, center, page.getTitle(), content); } else if (p instanceof TitlePage) { TitlePage page = (TitlePage) p; createTitlePage(writer, center, page.getTitlePageContent()); } if (bean.isDrawBorder() || debug || (elm.hasAttribute("border") && Boolean.parseBoolean(elm.getAttribute("border")))) { PdfContentByte handler = writer.getDirectContent(); float width = PdfUtil.convertFromMillimeters( config.getWidth() - config.getMarginLeft() - config.getMarginRight()); float height = PdfUtil.convertFromMillimeters( config.getHeight() - config.getMarginTop() - config.getMarginBottom()); handler.rectangle(PdfUtil.convertFromMillimeters(config.getMarginLeft()), PdfUtil.convertFromMillimeters(config.getMarginBottom()), width, height); handler.stroke(); } } }
From source file:org.jfree.chart.swt.ChartPdf.java
License:Open Source License
public static void saveChartAsPDF(File file, JFreeChart chart, int width, int height) throws DocumentException, FileNotFoundException, IOException { if (chart != null) { boolean success = false; String old = null;//from www . j a v a2 s . co m File oldFile = null; boolean append = file.exists(); if (append) { old = file.getAbsolutePath() + ".old"; //$NON-NLS-1$ oldFile = new File(old); oldFile.delete(); file.renameTo(oldFile); } try (BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file))) { // convert chart to PDF with iText: Rectangle pagesize = new Rectangle(width, height); if (append) { PdfReader reader = new PdfReader(old); PdfStamper stamper = new PdfStamper(reader, out); try { int n = reader.getNumberOfPages() + 1; stamper.insertPage(n, pagesize); PdfContentByte overContent = stamper.getOverContent(n); writeChart(chart, width, height, overContent); ColumnText ct = new ColumnText(overContent); ct.setSimpleColumn(width - 50, 50, width - 12, height, 150, Element.ALIGN_RIGHT); Paragraph paragraph = new Paragraph(String.valueOf(n), new Font(FontFamily.HELVETICA, 9, Font.NORMAL, BaseColor.DARK_GRAY)); paragraph.setAlignment(Element.ALIGN_RIGHT); ct.addElement(paragraph); ct.go(); success = true; } finally { stamper.close(); reader.close(); oldFile.delete(); } } else { Document document = new Document(pagesize, 50, 50, 50, 50); document.addCreationDate(); document.addCreator(Constants.APPLICATION_NAME); document.addAuthor(System.getProperty("user.name")); //$NON-NLS-1$ try { PdfWriter writer = PdfWriter.getInstance(document, out); document.open(); writeChart(chart, width, height, writer.getDirectContent()); success = true; } finally { document.close(); } } } if (!success) { file.delete(); if (oldFile != null) oldFile.renameTo(file); } } }