Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected void mergePDF(String srcFolder, String destFolder) throws FileNotFoundException, IOException, DocumentException {
- //merge PDF
- Document document = new Document();
- List<PdfReader> readers = new ArrayList<PdfReader>();
- int totalPages = 0;
- File folder = new File(srcFolder);
- for (File fileEntry : folder.listFiles()) {
- if (!fileEntry.isDirectory()) {
- InputStream pdf = new FileInputStream(fileEntry.getPath());
- PdfReader pdfReader = new PdfReader(pdf);
- readers.add(pdfReader);
- totalPages += pdfReader.getNumberOfPages();
- }
- }
- OutputStream outputStream = new FileOutputStream(destFolder + "out.pdf");
- PdfWriter writer = PdfWriter.getInstance(document, outputStream);
- document.open();
- BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
- PdfContentByte cb = writer.getDirectContent(); // Holds the PDF
- PdfImportedPage page;
- int currentPageNumber = 0;
- int pageOfCurrentReaderPDF = 0;
- Iterator<PdfReader> iteratorPDFReader = readers.iterator();
- while (iteratorPDFReader.hasNext()) {
- PdfReader pdfReader = iteratorPDFReader.next();
- // Create a new page in the target for each source page.
- while (pageOfCurrentReaderPDF < pdfReader.getNumberOfPages()) {
- document.newPage();
- pageOfCurrentReaderPDF++;
- currentPageNumber++;
- page = writer.getImportedPage(pdfReader, pageOfCurrentReaderPDF);
- cb.addTemplate(page, 0, 0);
- document.add(new Paragraph("My Text here"));
- }
- pageOfCurrentReaderPDF = 0;
- }
- outputStream.flush();
- document.close();
- outputStream.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement