document.open(); PdfImportedPage page = writer.getImportedPage(reader, ++i); writer.addPage(page); document.close(); writer.close();
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();
@Override public void addPage(PdfImportedPage iPage) throws IOException, BadPdfFormatException { if (currentPdfReaderInstance.getReader() != reader) serialized.clear(); super.addPage(iPage); }
@Override public void addPage(PdfImportedPage iPage) throws IOException, BadPdfFormatException { if (currentPdfReaderInstance.getReader() != reader) serialized.clear(); super.addPage(iPage); }
@Override public void addPage(PdfImportedPage iPage) throws IOException, BadPdfFormatException { checkPdfAInfo(iPage.readerInstance.getReader()); super.addPage(iPage); }
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); } }
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 reader = new PdfReader(inFilename); int n = reader.getNumberOfPages(); if (n > 1) { Document doc = new Document(); PdfCopy copy= new PdfCopy(doc, new FileOutputStream(outFilename)); doc.open(); PdfImportedPage page = copy.getImportedPage(reader, 1); copy.addPage(page); doc.close(); } reader.close();
PdfReader reader = new PdfReader(SOURCE); // We'll create as many new PDFs as there are pages Document document; PdfCopy copy; // loop over all the pages in the original PDF int n = reader.getNumberOfPages(); for (int i = 0; i < n; ) { document = new Document(); copy = new PdfCopy(document, new FileOutputStream(String.format(RESULT, ++i))); document.open(); copy.addPage(copy.getImportedPage(reader, i)); document.close(); } reader.close();
public void removeFirstPage(String input_filename, String output_filename) throws DocumentException, IOException { File outFile = new File(output_filename); PdfReader reader = new PdfReader(input_filename); int pages_number = reader.getNumberOfPages(); if(pages_number > 0) { Document document = new Document(reader.getPageSizeWithRotation(1)); PdfCopy copy = new PdfCopy(document, new FileOutputStream(outFile)); document.open(); for(int i=2; i <= pages_number;i++) { PdfImportedPage page = copy.getImportedPage(reader, i); copy.addPage(page); } document.close(); } }
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
Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT)); document.open(); PdfReader reader; int n; for (int i = 0; i < files.length; i++) { reader = new PdfReader(files[i]); n = reader.getNumberOfPages(); for (int page = 0; page < n; ) { copy.addPage(copy.getImportedPage(reader, ++page)); } copy.freeReader(reader); reader.close(); } document.close();
try{ String doc1 = FOLDER_PATH + "Doc1.pdf"; String doc2 = FOLDER_PATH + "Doc2.pdf"; String resultDocFile = FOLDER_PATH + "ResultDoc.pdf"; PdfReader reader1 = new PdfReader(doc1); Document resultDoc = new Document(); PdfCopy copy = new PdfCopy(resultDoc, new FileOutputStream(resultDocFile)); resultDoc.open(); //Copying First Document for(int i = 1; i <= reader1.getNumberOfPages(); i++) { copy.addPage(copy.getImportedPage(reader1, i)); } PdfReader reader2 = new PdfReader(doc2); //Copying Second Document for(int i = 1; i <= reader2.getNumberOfPages(); i++) { copy.addPage(copy.getImportedPage(reader2, i)); } resultDoc.close(); } catch (Exception e){ e.printStackTrace(); }
/** * merge multiple pdfs into a single pdf * @param fileName output pdf full path name * @parrm childPdfs full path names of pdfs to merge */ public static void mergePdfs(String fileName, String [] childPdfs) { try { Document doc = new Document(); PdfCopy copyDoc = new PdfCopy(doc, new FileOutputStream(fileName)); doc.open(); for (int i = 0; i < childPdfs.length; i++) { PdfReader reader = new PdfReader(childPdfs [i]); int pageCnt = reader.getNumberOfPages(); for (int j = 1; j <= pageCnt; j++) { copyDoc.addPage(copyDoc.getImportedPage(reader, j)); } reader.close(); } doc.close(); } catch (Exception e) { throw new RuntimeException(e); } }
Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream(dest)); document.open(); PdfReader reader; for (String path : paths) { reader = new PdfReader(path); copy.addPage(copy.getImportedPage(reader, 1)); reader.close(); } reader = new PdfReader("resources/main_document.pdf"); copy.addDocument(reader); reader.close(); document.close();
public static int[] getPageSizes(byte[] input) throws IOException { PdfReader reader; reader = new PdfReader(input); int pageCount = reader.getNumberOfPages(); int[] pageSizes = new int[pageCount]; for (int i = 0; i < pageCount; i++) { try { Document doc = new Document(); ByteArrayOutputStream bous = new ByteArrayOutputStream(); PdfCopy copy= new PdfCopy(doc, bous); doc.open(); PdfImportedPage page = copy.getImportedPage(reader, i+1); copy.addPage(page); doc.close(); pageSizes[i] = bous.size(); } catch (DocumentException e) { e.printStackTrace(); } } reader.close(); return pageSizes; }
private void doMerge(List<InputStream> list, OutputStream outputStream) throws DocumentException, IOException { Document document = new Document(); PdfCopy copy = new PdfCopy(document, outputStream); document.open(); int n; for (InputStream in : list) { PdfReader reader = new PdfReader(in); for (int i = 1; i <= reader.getNumberOfPages(); i++) { n = reader.getNumberOfPages(); // loop over the pages in that document for (int page = 0; page < n; ) { copy.addPage(copy.getImportedPage(reader, ++page)); } copy.freeReader(reader); reader.close(); } } outputStream.flush(); document.close(); outputStream.close(); }
/** * 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; }
/** * 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; }
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();