Advertisement
janenz00

iText mergePDF

Nov 20th, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.96 KB | None | 0 0
  1. protected void mergePDF(String srcFolder, String destFolder) throws FileNotFoundException, IOException, DocumentException {
  2.         //merge PDF
  3.         Document document = new Document();
  4.         List<PdfReader> readers = new ArrayList<PdfReader>();
  5.         int totalPages = 0;
  6.         File folder = new File(srcFolder);
  7.         for (File fileEntry : folder.listFiles()) {
  8.  
  9.             if (!fileEntry.isDirectory()) {
  10.                 InputStream pdf = new FileInputStream(fileEntry.getPath());
  11.  
  12.                 PdfReader pdfReader = new PdfReader(pdf);
  13.                 readers.add(pdfReader);
  14.                 totalPages += pdfReader.getNumberOfPages();
  15.             }
  16.         }
  17.         OutputStream outputStream = new FileOutputStream(destFolder + "out.pdf");
  18.         PdfWriter writer = PdfWriter.getInstance(document, outputStream);
  19.         document.open();
  20.         BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
  21.         PdfContentByte cb = writer.getDirectContent(); // Holds the PDF
  22.  
  23.         PdfImportedPage page;
  24.         int currentPageNumber = 0;
  25.         int pageOfCurrentReaderPDF = 0;
  26.         Iterator<PdfReader> iteratorPDFReader = readers.iterator();
  27.  
  28.         while (iteratorPDFReader.hasNext()) {
  29.              PdfReader pdfReader = iteratorPDFReader.next();
  30.  
  31.             // Create a new page in the target for each source page.
  32.             while (pageOfCurrentReaderPDF < pdfReader.getNumberOfPages()) {
  33.                 document.newPage();
  34.                 pageOfCurrentReaderPDF++;
  35.                 currentPageNumber++;
  36.                 page = writer.getImportedPage(pdfReader, pageOfCurrentReaderPDF);
  37.                 cb.addTemplate(page, 0, 0);
  38.                 document.add(new Paragraph("My Text here"));  
  39.                
  40.                
  41.             }
  42.             pageOfCurrentReaderPDF = 0;
  43.         }
  44.         outputStream.flush();
  45.         document.close();
  46.         outputStream.close();
  47.  
  48.  
  49.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement