PdfCopy writer = new PdfCopy(document, new FileOutputStream(outFile)); document.open(); PdfImportedPage page = writer.getImportedPage(reader, ++i); writer.addPage(page); document.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();
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(); } }
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();
public ArrayList<String> splitPDF(String path) { ArrayList<String> outputPaths = new ArrayList<>(); try { String folderPath = mSharedPreferences.getString(STORAGE_LOCATION, getDefaultStorageLocation()); PdfReader reader = new PdfReader(path); PdfCopy copy; Document document; int pages = reader.getNumberOfPages(); for (int i = 1; i <= pages; i++) { document = new Document(); String fileName = folderPath + FileUtils.getFileName(path); fileName = fileName.replace(mContext.getString(R.string.pdf_ext), i + mContext.getString(R.string.pdf_ext)); Log.v("splitting", fileName); copy = new PdfCopy(document, new FileOutputStream(fileName)); document.open(); copy.addPage(copy.getImportedPage(reader, i)); document.close(); outputPaths.add(fileName); new DatabaseHelper(mContext).insertRecord(fileName, mContext.getString(R.string.created)); } } catch (IOException | DocumentException e) { e.printStackTrace(); showSnackbar(mContext, R.string.file_access_error); } return outputPaths; }
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); } }
ByteArrayOutputStream os = new ByteArrayOutputStream(); Document bigDoc = new Document(PageSize.LETTER, 50, 50, 110, 60); PdfWriter writer = PdfWriter.getInstance(bigDoc, os); bigDoc.open(); Paragraph par = new Paragraph("one"); bigDoc.add(par); bigDoc.add(new Paragraph("three")); bigDoc.close(); ByteArrayOutputStream os2 = new ByteArrayOutputStream(); Document finalDoc = new Document(); PdfCopy copy = new PdfCopy(finalDoc, new FileOutputStream(RESULT2)); finalDoc.open(); PdfReader reader = new PdfReader(os.toByteArray()); for (int i = 0; i < reader.getNumberOfPages();) { copy.addPage(copy.getImportedPage(reader, ++i)); } PdfReader pdfReader = new PdfReader("c:/insertable.pdf"); copy.addPage(copy.getImportedPage(pdfReader, 1)); finalDoc.close(); reader.close(); pdfReader.close(); // result PDF byte[] result = os2.toByteArray();
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; }
public class Concatenate { /** The resulting PDF file. */ public static final String RESULT = "path/to/concatenated_pdf.pdf"; public static void main(String[] args) throws IOException, DocumentException { String[] files = { "1.pdf", "2.pdf" }; Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT)); document.open(); 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); } document.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; }
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; }
public class Merge { public static final String SOURCE_PDF = "a.pdf"; public static final String APPENDED_PDF = "b.pdf"; public static final String MERGED_RESULT = "c.pdf"; public static void main(String[] args) throws IOException, DocumentException, SQLException { PdfReader sourcePdf = new PdfReader(SOURCE_PDF); PdfReader appendedPdf = new PdfReader(APPENDED_PDF); Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileOutputStream(MERGED_RESULT)); document.open(); for (PdfReader reader : Arrays.asList(sourcePdf, appendedPdf)) { for (int page = 1; page <= reader.getNumberOfPages(); page++) { copy.addPage(copy.getImportedPage(reader, page)); } copy.freeReader(reader); reader.close(); } document.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();