Refine search
String[] files = { MovieLinks1.RESULT, MovieHistory.RESULT }; // step 1 Document document = new Document(); // step 2 PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT)); // step 3 document.open(); // step 4 PdfReader reader; int n; // loop over the documents you want to concatenate for (int i = 0; i < files.length; i++) { reader = new PdfReader(files[i]); // loop over the pages in that document n = reader.getNumberOfPages(); for (int page = 0; page < n; ) { copy.addPage(copy.getImportedPage(reader, ++page)); } copy.freeReader(reader); reader.close(); } // step 5 document.close();
Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream(filename)); copy.setMergeFields(); document.open(); for (PdfReader reader : readers) { copy.addDocument(reader); } document.close(); for (PdfReader reader : readers) { reader.close(); }
@Override public PdfIndirectObject addToBody(final PdfObject object, final PdfIndirectReference ref) throws IOException { return this.addToBody(object, ref, false); }
String inFile = args[0].toLowerCase(); System.out.println ("Reading " + inFile); PdfReader reader = new PdfReader(inFile); int n = reader.getNumberOfPages(); System.out.println ("Number of pages : " + n); int i = 0; + "-" + String.format("%03d", i + 1) + ".pdf"; System.out.println ("Writing " + outFile); Document document = new Document(reader.getPageSizeWithRotation(1)); PdfCopy writer = new PdfCopy(document, new FileOutputStream(outFile)); document.open(); PdfImportedPage page = writer.getImportedPage(reader, ++i); writer.addPage(page); document.close(); writer.close();
PdfReader reader = null; PdfCopy copier = new PdfCopy(outputStream); String paths[] = ...; for (String path : paths) { reader = new PdfReader(path); for (int pageNum = 1; pageNum <= reader.getNumberOfPages(); ++pageNum) { copier.addPage(copier.getImportedPage(reader, pageNum) ); } }
PdfReader cover = new PdfReader("hero.pdf"); PdfReader reader = new PdfReader("pages.pdf"); Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream("pages_with_cover.pdf")); document.open(); copy.addDocument(cover); copy.addDocument(reader); document.close(); cover.close(); reader.close();
PdfCopy copy = new PdfCopy(document, new FileOutputStream(mFinPath)); copy.setEncryption(mPassword.getBytes(), mMasterPwd.getBytes(), PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_COPY, for (int page = 1; page <= numOfPages; page++) { copy.addPage(copy.getImportedPage(pdfreader, page));
Document doc = new Document(); PdfCopy writer = new PdfCopy(doc,new FileOutputStream(OUTPUTFILE)); doc.open(); PdfReader reader = new PdfReader(INPUTFILE); int n = reader.getNumberOfPages(); System.out.println("No. of Pages :" +n); for (int i = 1; i <= n; i++) { if (i == 1) { // removed code for clarity PdfImportedPage page = writer.getImportedPage(reader, i); writer.addPage(page); } }
Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream(filename)); PageStamp stamp; document.open(); int n; int pageNo = 0; PdfImportedPage page; Chunk chunk; for (Map.Entry<String, PdfReader> entry : filesToMerge.entrySet()) { n = entry.getValue().getNumberOfPages(); for (int i = 0; i < n; ) { pageNo++; page = copy.getImportedPage(entry.getValue(), ++i); stamp = copy.createPageStamp(page); chunk = new Chunk(String.format("Page %d", pageNo)); if (i == 1) chunk.setLocalDestination("p" + pageNo); ColumnText.showTextAligned(stamp.getUnderContent(), Element.ALIGN_RIGHT, new Phrase(chunk), 559, 810, 0); stamp.alterContents(); copy.addPage(page); } } document.close(); for (PdfReader r : filesToMerge.values()) { r.close(); } reader.close();
/** Append pdf file `in` to pdf file `dest` * @throws IOException * @throws DocumentException * */ private void appendPdf(File in, File dest) throws IOException, DocumentException{ if( ! dest.exists()){ Files.move(Paths.get(in.getAbsolutePath()), Paths.get(dest.getAbsolutePath())); return; } File template= Utils.createTempFile(".template.", ".pdf"); Files.copy(Paths.get(dest.getAbsolutePath()), Paths.get(template.getAbsolutePath()), StandardCopyOption.REPLACE_EXISTING); Document document = new Document(); FileOutputStream outputStream = new FileOutputStream(template); PdfCopy copy = new PdfSmartCopy(document, outputStream); document.open(); PdfReader reader0 = new PdfReader(dest.getAbsolutePath()); copy.addDocument(reader0); reader0.close(); PdfReader reader = new PdfReader(in.getAbsolutePath()); copy.addDocument(reader); reader.close(); document.close(); Files.move(Paths.get(template.getAbsolutePath()), Paths.get(dest.getAbsolutePath()), StandardCopyOption.REPLACE_EXISTING); }
r = new PdfReader(source); document = new Document(r.getPageSizeWithRotation(1)); writer = new PdfCopy(document, new FileOutputStream(destination)); document.open(); PdfImportedPage page = null; for (int i=1; i<=r.getNumberOfPages(); i++) { (i + bs.size() + " > BLANK_THRESHOLD " + (bs.size() > BLANK_THRESHOLD)); if (bs.size() > BLANK_THRESHOLD) { page = writer.getImportedPage(r, i); writer.addPage(page); if (document != null) document.close(); if (writer != null) writer.close(); if (raf != null) raf.close(); if (r != null) r.close();
Document document = new Document(); PdfCopy copy = null; PdfReader reader = null; copy = new PdfCopy(document, new FileOutputStream(file)); } catch (FileNotFoundException | DocumentException e) { e.printStackTrace(); reader = new PdfReader(parseHtml(html)); } catch (IOException e) { e.printStackTrace(); copy.addDocument(reader); } catch (DocumentException | IOException e) { e.printStackTrace(); reader.close(); Document document = new Document(); PdfWriter writer = null;
String name = entry.getKey(); Object obj = entry.getValue(); PdfIndirectReference ind = getPdfIndirectReference(); PdfDictionary dic = new PdfDictionary(); if (parent != null) dic.put(PdfName.PARENT, parent); dic.put(PdfName.T, new PdfString(name, PdfObject.TEXT_UNICODE)); String fname2 = fname + "." + name; int coidx = calculationOrder.indexOf(fname2); calculationOrderRefs.set(coidx, ind); if (obj instanceof HashMap) { dic.put(PdfName.KIDS, branchForm((HashMap<String, Object>) obj, ind, fname2)); arr.add(ind); addToBody(dic, ind, true); adjustTabOrder(annots, ind, nn); } else { PdfDictionary field = (PdfDictionary)list.get(0); if (PdfCopy.isTextField(field)) { } else if (PdfCopy.isCheckButton(field)) { } else if (PdfCopy.isRadioButton(field)) { if (v != null && as != null && !as.equals(getOffStateName(widget))) { if (!mergedRadioButtons.contains(list)) {
PdfReader reader = new PdfReader("THE PDF SOURCE"); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); Document document = new Document(); PdfCopy copy = new PdfCopy(document, outputStream); document.open(); PdfStamper stamper = new PdfStamper(reader, outputStream); for (int i = 1; i < reader.getNumberOfPages(); i++) { // Select what pages you need here PdfImportedPage importedPage = stamper.getImportedPage(reader, i); copy.addPage(importedPage); } copy.freeReader(reader); outputStream.flush(); document.close(); // Now you can send the byte array to your user // set content type to application/pdf
for (int i = 1; i <= reader.getNumberOfPages(); i++) { PdfDictionary page = reader.getPageNRelease(i); if (page != null && page.contains(PdfName.ANNOTS)) { PdfArray annots = page.getAsArray(PdfName.ANNOTS); if (annots != null) { for (int j = 0; j < annots.size(); j++) { PdfDictionary annot = annots.getAsDict(j); if (annot != null) annot.put(annotId, new PdfNumber(++annotIdCnt)); needAppearances = true; fields.add(acro); updateCalculationOrder(reader); addPage(getImportedPage(reader, i, tagged));
private void addFieldResources(PdfDictionary catalog) throws IOException { if (fieldArray == null) return; PdfDictionary acroForm = new PdfDictionary(); catalog.put(PdfName.ACROFORM, acroForm); acroForm.put(PdfName.FIELDS, fieldArray); acroForm.put(PdfName.DA, new PdfString("/Helv 0 Tf 0 g ")); if (fieldTemplates.isEmpty()) dic.put(PdfName.NAME, PdfName.HELV); dic.put(PdfName.SUBTYPE, PdfName.TYPE1); fonts.put(PdfName.HELV, addToBody(dic).getIndirectReference()); if (!fonts.contains(PdfName.ZADB)) { dic.put(PdfName.NAME, PdfName.ZADB); dic.put(PdfName.SUBTYPE, PdfName.TYPE1); fonts.put(PdfName.ZADB, addToBody(dic).getIndirectReference());
private PdfObject propagate(PdfObject obj) throws IOException { if (obj == null) { return new PdfNull(); } else if (obj.isArray()) { PdfArray a = (PdfArray)obj; for (int i = 0; i < a.size(); i++) { a.set(i, propagate(a.getPdfObject(i))); } return a; } else if (obj.isDictionary() || obj.isStream()) { PdfDictionary d = (PdfDictionary)obj; for (PdfName key : d.getKeys()) { d.put(key, propagate(d.get(key))); } return d; } else if (obj.isIndirect()) { obj = PdfReader.getPdfObject(obj); return addToBody(propagate(obj)).getIndirectReference(); } else return obj; }
addToBody(importedPage.mergedFields, importedPage.annotsIndirectReference); PdfDictionary form = new PdfDictionary(); form.put(PdfName.DR, propagate(resources)); form.put(PdfName.NEEDAPPEARANCES, PdfBoolean.PDFTRUE); form.put(PdfName.DA, new PdfString("/Helv 0 Tf 0 g ")); tabOrder = new HashMap<PdfArray, ArrayList<Integer>>(); calculationOrderRefs = new ArrayList<Object>(calculationOrder); form.put(PdfName.FIELDS, branchForm(fieldTree, null, "")); if (hasSignature) form.put(PdfName.SIGFLAGS, new PdfNumber(3)); form.put(PdfName.CO, co); this.acroForm = addToBody(form).getIndirectReference(); for (ImportedPage importedPage : importedPages) { addToBody(importedPage.mergedFields, importedPage.annotsIndirectReference);
/** * Adds the pages from an existing PDF document. * @param reader the reader for the existing PDF document * @return the number of pages that were added * @throws DocumentException * @throws IOException */ public int addPages(PdfReader reader) throws DocumentException, IOException { open(); int n = reader. getNumberOfPages(); for (int i = 1; i <= n; i++) { copy.addPage(copy.getImportedPage(reader, i)); } copy.freeReader(reader); reader.close(); return n; }