// Create output PDF Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfContentByte cb = writer.getDirectContent(); // Load existing PDF PdfReader reader = new PdfReader(templateInputStream); PdfImportedPage page = writer.getImportedPage(reader, 1); // Copy first page of existing PDF into output PDF document.newPage(); cb.addTemplate(page, 0, 0); // Add your new data / text here // for example... document.add(new Paragraph("my timestamp")); document.close();
/** {@inheritDoc} */ @Override public void onEndPage(PdfWriter writer, Document document) { final int pageN = writer.getPageNumber(); final String text = pageN + " / "; final float len = bf.getWidthPoint(text, 8); cb.beginText(); cb.setFontAndSize(bf, 8); final float width = document.getPageSize().getWidth(); cb.setTextMatrix(width / 2, 30); cb.showText(text); cb.endText(); cb.addTemplate(template, width / 2 + len, 30); }
/** * Adds a template to this content. * * @param template the template * @param x the x location of this template * @param y the y location of this template */ public void addTemplate(PdfTemplate template, float x, float y) { addTemplate(template, 1, 0, 0, 1, x, y); }
/** * Adds a template to this content. * * @param template the template * @param x the x location of this template * @param y the y location of this template */ public void addTemplate(PdfTemplate template, float x, float y) { addTemplate(template, 1, 0, 0, 1, x, y); }
/** * Adds a template to this content. * * @param template the template * @param x the x location of this template * @param y the y location of this template */ public void addTemplate(PdfTemplate template, float x, float y) { addTemplate(template, 1, 0, 0, 1, x, y); }
PdfTemplate topOfPage = writer.getImportedPage( reader, 1 ); PdfTemplate bottomOfPage = writer.getImportedPage( reader, 2 ); PdfContentByte content = writer.getDirectContent(); // in PDF, "0, 0" is the lower left corner. content.addTemplate( bottomOfPage ); content.addTemplate( topOfPage, 0, bottomOfPage.getHeight() );
int w = 400; int h = 150; PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D g2 = tp.createGraphicsShapes(w, h); g2.drawString("your persian text", 20, 100); // put your persian text in place of "your persian text" ,above. g2.dispose(); cb.addTemplate(tp, 50, 400);
String text = "\u0936\u093e\u0902\u0924\u093f"; PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(100, 50); Graphics2D g2 = tp.createGraphicsShapes(100, 50); java.awt.Font font = new java.awt.Font( "Arial Unicode MS", java.awt.Font.PLAIN, 12); g2.setFont(font); g2.drawString("Graphics2D: " + text, 0, 40); g2.dispose(); cb.addTemplate(tp, 36, 750);
public onEndPage(PdfWriter writer, Document doc) { PdfReader reader = new PdfReader(headerPDFPath); PdfImportedPage headerPageImport = writer.getImportedPage(reader, 1); // 1 -> first page PdfContentByte cb = writer.getDirectContent(); cb.addTemplate(headerPageImport, hBox.bottom(), hBox.left()); }
Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("big-panel.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(PageSize.A4.getWidth(), 3 * PageSize.A4.getHeight()); // draw all your content on tp cb.addTemplate(tp, 0, -2 * PageSize.A4.getHeight()); document.newPage(); cb.addTemplate(tp, 0, -PageSize.A4.getHeight()); document.newPage(); cb.addTemplate(tp, 0, 0); document.newPage(); cb.addTemplate(tp, 0.3333f, 0, 0, 0.3333f, PageSize.A4.getWidth() / 3, 0); document.close();
/** * Methode qui ajoute une image dans le fichier pdf * @param BufferedImage image a insrer * @author Adrien Hadoux */ public static void addImageToPdf(BufferedImage _img,PdfWriter _writer,int w,int h){ PdfContentByte cb = _writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D graphics = tp.createGraphics(w, h); //-- dessin de l'image --// graphics.drawImage(_img,0,0,null); graphics.dispose(); cb.addTemplate(tp, 0, 0); }
/** * Methode qui ajoute une image dans le fichier pdf * @param BufferedImage image a insrer * @author Adrien Hadoux */ public static void addImageToPdf(BufferedImage _img,PdfWriter _writer,int w,int h){ PdfContentByte cb = _writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(w, h); Graphics2D graphics = tp.createGraphics(w, h); //-- dessin de l'image --// graphics.drawImage(_img,0,0,null); graphics.dispose(); cb.addTemplate(tp, 0, 0); }
PdfReader insert = new PdfReader(INSERT); PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(DEST)); stamper.insertPage(4, insert.getPageSize(1)); PdfContentByte cb = stamper.getOverContent(4); cb.addTemplate(stamper.getImportedPage(insert, 1), 0, 0); ... stamper.close();
Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, OutputStream ); PdfReader reader = new PdfReader(dato.getBinaryStream()); PdfImportedPage page1 = writer.getImportedPage(reader, 1); PdfContentByte cb = writer.getDirectContent(); cb.addTemplate(page1, 1, 0, 0, 1, 0, 0); document.setPageSize(new Rectangle(page1.getWidth(),page1.getHeight()) );
PdfReader reader = new PdfReader(pdf); //yout.toByteArray()); Rectangle psize = reader.getPageSize(1); doc = new Document(psize, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(doc, output); doc.open(); PdfContentByte cb = writer.getDirectContent(); for (int i = 0; i < reader.getNumberOfPages(); i++) { writer.setCropBoxSize(psize); PdfImportedPage page = writer.getImportedPage(reader, i + 1); cb.addTemplate(page, 0, 0); }
PdfReader reader = new PdfReader("Hello World.pdf"); Document document = new Document(PageSize.A4); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("RESULT.PDF")); document.open(); PdfContentByte canvas = writer.getDirectContent(); PdfImportedPage page; for (int i = 3; i <=6; i++) { page = writer.getImportedPage(reader, i); canvas.addTemplate(page, 1f, 0, 0, 1, 0, i*30-250); } document.close();
public void resize (float x, float y, float scale) throws Exception { PdfReader reader = new PdfReader(pdfIn); Document doc = new Document(PageSize.LEGAL, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(pdfOut)); doc.open(); PdfContentByte cb = writer.getDirectContent(); for(int i=1; i<=reader.getNumberOfPages(); i++){ doc.newPage(); PdfImportedPage page = writer.getImportedPage(reader, i); cb.addTemplate(page, scale, 0, 0, scale, x, y); } doc.close(); }
Document document = new Document(PageSize.LETTER); PdfWriter writer = null; try { writer = PdfWriter.getInstance(document, new FileOutputStream(your file name)); } catch (Exception e) { // do something with exception } document.open(); PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(width, height); Graphics2D g2 = tp.createGraphics(width, height, new DefaultFontMapper()); // Create your graphics here - draw on the g2 Graphics object g2.dispose(); cb.addTemplate(tp, 0, 100); // 0, 100 = x,y positioning of graphics in PDF page document.close();
PdfReader cover = new PdfReader("hero.pdf"); PdfReader reader = new PdfReader("pages.pdf"); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("cover_with_pages.pdf")); stamper.insertPage(1, cover.getPageSizeWithRotation(1)); PdfContentByte page1 = stamper.getOverContent(1); PdfImportedPage page = stamper.getImportedPage(cover, 1); page1.addTemplate(page, 0, 0); stamper.close(); cover.close(); reader.close();
/** {@inheritDoc} */ @Override public void onEndPage(PdfWriter writer, Document document) { final int pageN = writer.getPageNumber(); final String text = pageN + " / "; final float len = bf.getWidthPoint(text, 8); cb.beginText(); cb.setFontAndSize(bf, 8); final float width = document.getPageSize().getWidth(); cb.setTextMatrix(width / 2, 30); cb.showText(text); cb.endText(); cb.addTemplate(template, width / 2 + len, 30); }