PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); stamper.insertPage(reader.getNumberOfPages() + 1, reader.getPageSizeWithRotation(1)); stamper.close(); reader.close();
@Override protected final void renderMergedOutputModel( Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception { // IE workaround: write into byte array first. ByteArrayOutputStream baos = createTemporaryOutputStream(); PdfReader reader = readPdfResource(); PdfStamper stamper = new PdfStamper(reader, baos); mergePdfDocument(model, stamper, request, response); stamper.close(); // Flush to HTTP response. writeToResponse(response, baos); }
public void createPdf(String src, String dest) throws IOException, DocumentException { PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); stamper.setEncryption(USER_PASS.getBytes(), OWNER_PASS.getBytes(), PdfWriter.AllowPrinting, PdfWriter.STRENGTH128BITS); stamper.close(); }
String filename_src = "c:\\index.pdf"; ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfReader reader = new PdfReader(filename_src); PdfStamper stamper = new PdfStamper(reader, baos); // Do the encrypting stuff stamper.close(); byte[] result = baos.toByteArray();
public class PdfTest { @Test public void testFlatten() throws Exception { PdfReader reader = new PdfReader("http://www.irs.gov/pub/irs-pdf/fw4.pdf"); PdfStamper stamp2 = new PdfStamper(reader, new FileOutputStream("C:\\Users\\david\\Flattened.pdf")); AcroFields form2 = stamp2.getAcroFields(); stamp2.setFormFlattening(true); stamp2.close(); } }
String in = "Original.pdf"; String out = "Original.pdf"; PdfReader reader = new PdfReader(in); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, baos ); int totalPages = reader.getNumberOfPages(); stamper.insertPage(totalPages + 1, PageSize.A4); stamper.addAnnotation(PdfAnnotation.createText(stamper.getWriter(), new Rectangle(30f, 750f, 80f, 800f), "inserted page", "This page is the title page.", true, null), reader.getNumberOfPages()); stamper.close(); FileOutputStream fileOutputStream = new FileOutputStream(out); IOUtils.write(baos.toByteArray(), fileOutputStream);
Document document = new Document(); PdfCopy copy = new PdfSmartCopy(document, new FileOutputStream(dest)); document.open(); ByteArrayOutputStream baos; PdfReader reader; PdfStamper stamper; AcroFields fields; for (int i = 0; i < data.length; i++) { // create a PDF in memory baos = new ByteArrayOutputStream(); reader = new PdfReader(SRC); stamper = new PdfStamper(reader, baos); fields = stamper.getAcroFields(); tokenizer = new StringTokenizer(line, ";"); fields.setField("name", data[i].getName()); ... stamper.setFormFlattening(true); stamper.close(); reader.close(); // add the PDF to PdfCopy reader = new PdfReader(baos.toByteArray()); copy.addDocument(reader); reader.close(); } br.close(); document.close();
PdfCopy copy = new PdfSmartCopy(document, new FileOutputStream(dest)); copy.setMergeFields(); document.open(); List<PdfReader> readers = new ArrayList<PdfReader>(); for (int i = 0; i < 3; ) { PdfReader reader = new PdfReader(renameFields(src, ++i)); readers.add(reader); copy.addDocument(reader); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, baos); AcroFields form = stamper.getAcroFields(); Set<String> keys = new HashSet<String>(form.getFields().keySet()); for (String key : keys) { form.renameField(key, String.format("%s_%d", key, i)); stamper.close(); reader.close(); return baos.toByteArray();
final PdfStamper stp = new PdfStamper(reader, out2); int i = 0; BaseFont.createFont(BaseFont.HELVETICA, final PdfContentByte over = stp.getOverContent(i); final ByteArrayOutputStream bbout = new ByteArrayOutputStream(); if (chf.getType().equals(CHeaderFooter.HEADER)) { trans.transform(new ByteArrayInputStream(text.getBytes("utf-8")), base_url, new PageSize(dsize[0]-(dmargin[0]+dmargin[1]),dmargin[3]), new ArrayList(), properties, bbout); bbout.toByteArray() ); if (chf.getType().equals(CHeaderFooter.HEADER)) { over.addTemplate(stp.getImportedPage(readerHF, 1),dmargin[0],dsize[1] - dmargin[3]); } else if (chf.getType().equals(CHeaderFooter.FOOTER)) { over.addTemplate(stp.getImportedPage(readerHF, 1),dmargin[0],0); stp.close(); keypassword.toCharArray()); final Certificate chain[] = ks.getCertificateChain(alias); final PdfStamper stp = PdfStamper.createSignature(reader, oldOut, '\0'); stp.setEncryption(PdfWriter.STANDARD_ENCRYPTION_128, password, null, CDocumentReconstructor .getSecurityFlags(properties)); final PdfSignatureAppearance sap = stp.getSignatureAppearance();
private ByteArrayOutputStream insertImage(ByteArrayOutputStream out, Image image) { try { ByteArrayOutputStream os = new ByteArrayOutputStream(out.size()); PdfReader reader = new PdfReader(out.toByteArray()); PdfStamper stamper = new PdfStamper(reader, os); for (int i = 1; i <= reader.getNumberOfPages(); i++) { PdfContentByte canvas = stamper.getUnderContent(i); canvas.addImage(image); } reader.close(); stamper.close(); return os; } catch (Exception e) { throw new RuntimeException(e); } } }
public void manipulatePdf(String src, String dest) throws IOException, DocumentException { PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); PdfFileSpecification fs = PdfFileSpecification.fileEmbedded( stamper.getWriter(), null, "test.txt", "Some test".getBytes()); Rectangle rect = new Rectangle(36, 770, 72, 806); PdfAnnotation attachment = dfAnnotation.createFileAttachment( stamper.getWriter(), rect, "My attachment", fs); stamper.addAnnotation(attachment, 1); stamper.close(); }
ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfStamper stamper = new PdfStamper(reader, baos); // do stuff with stamper stamper.close(); byte[] pdf_bytes = baos.toByteArray();
public byte[] sign(byte[] originalBytes) { KeyStoreConfig store = KeyStoreConfig.instance(); InputStream is = null; try { is = FacesResources.getResourceAsStream(store.getKeyStore(), getFacesContext().getExternalContext()); KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); ks.load(is, store.getKeyStorePassword().toCharArray()); PrivateKey key = (PrivateKey) ks.getKey(store.getKeyAlias(), store.getKeyPassword().toCharArray()); Certificate[] chain = ks.getCertificateChain(store.getKeyAlias()); PdfReader reader = new PdfReader(originalBytes); ByteArrayOutputStream os = new ByteArrayOutputStream(); PdfStamper stamper = PdfStamper.createSignature(reader, os, '\0'); PdfSignatureAppearance appearance = stamper.getSignatureAppearance(); appearance.setCrypto(key, chain, null, PdfSignatureAppearance.SELF_SIGNED); appearance.setReason(reason); appearance.setLocation(location); appearance.setVisibleSignature(field); stamper.close(); return os.toByteArray(); } catch (Exception e) { throw new RuntimeException(e); } finally { Resources.closeStream(is); } }
public void manipulatePdf(String src, String dest) throws IOException, DocumentException { PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); PdfFileSpecification fs = PdfFileSpecification.fileEmbedded( stamper.getWriter(), null, "test.txt", "Some test".getBytes()); stamper.addFileAttachment("some test file", fs); stamper.close(); }
//PDF READER // Create a reader try{ ByteArrayOutputStream out = new ByteArrayOutputStream(); PdfReader reader = new PdfReader(output.toByteArray()); PdfStamper stamper = new PdfStamper(reader, out); int n = reader.getNumberOfPages(); PdfContentByte cbq; Font headerFont = new Font(FontFamily.COURIER, 13, Font.UNDERLINE); for (int i = 1; i <= n; i++) { cbq = stamper.getOverContent(i); ColumnText ct = new ColumnText( cbq ); ct.setSimpleColumn( 300 , 300, 50, 50 , 150, Element.ALIGN_CENTER ); ct.addElement( new Paragraph( "Mathias" , headerFont ) ); ct.go(); } // Close the stamper stamper.close(); reader.close(); response.setContentLength(out.size()); OutputStream os = response.getOutputStream(); out.writeTo(os); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); }
public void replaceBackground(String newBackground, String CurrentForm, String newFile) throws Exception { PdfReader reader = new PdfReader(newBackground); PdfReader reader2 = new PdfReader(CurrentForm); PdfStamper stamp = new PdfStamper(reader2, new FileOutputStream(newFile)); stamp.replacePage(reader, 1, 1); stamp.close(); }
PdfReader reader = new PdfReader(new FileInputStream("input.pdf")); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("output.pdf")); int total = reader.getNumberOfPages() + 1; for ( int i=1; i<total; i++) { reader.setPageContent(i + 1, reader.getPageContent(i + 1)); } stamper.setFullCompression(); stamper.close();
PdfReader reader = new PdfReader(src); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest)); // create a field for which you define the coordinates using a Rectangle stamper.addAnnotation(field, 1); stamper.close();
public void run() throws IOException, DocumentException { final PdfReader reader = new PdfReader(inputFile); final PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(outputFile)); replaceLinksWithPageBookmarks(reader, stamper); stamper.close(); }
PdfReader pdfTemplate = new PdfReader(templateName); ByteArrayOutputStream out = new ByteArrayOutputStream(); BaseFont unicode = BaseFont.createFont(unicodeFontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); PdfStamper stamper = new PdfStamper(pdfTemplate, out); //assigning the font to the field stamper.getAcroFields().setFieldProperty("myField", "textfont", unicode, null); stamper.getAcroFields().setField("myField", someValue); stamper.close(); pdfTemplate.close();