Wednesday, October 10, 2012

PDFBOX Merging Multiple PDF

PDFBox is providing excellent support for merging multiple PDF files into one. You just need to add following jars in your project and use below code to merge multiple pdfs 1.


import java.io.IOException;
import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.util.PDFMergerUtility;
public class PDFMerge {
 public static void main(String[] args) throws COSVisitorException, IOException {
  PDFMergerUtility mergePdf = new PDFMergerUtility();
  String folder="D:\\";
  String numberOfFiles[]={"a.pdf","b.pdf"};
  for(int i = 0; i < numberOfFiles.length; i++){
   mergePdf.addSource(folder + numberOfFiles[i]);
  }
  mergePdf.setDestinationFileName(folder+"merge.pdf");
  mergePdf.mergeDocuments();
}
}




1. PDFBox.jar
2. apache-common-logging


  Ref:http://java.dzone.com/news/merging-pdf%E2%80%99s-with-pdfbox
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.util.PDFMergerUtility;
public class PDFMergeTest {
public static void main(String args[]) throws COSVisitorException, IOException{
PDFMergerUtility mergePdf = new PDFMergerUtility();
String folder="D:\\sample";
String numberOfFiles[]=getFiles(folder);
for(int i = 0; i &lt; numberOfFiles.length; i++){
mergePdf.addSource(folder + File.separator + numberOfFiles[i]);
System.out.println(numberOfFiles[i]);
}
mergePdf.setDestinationFileName(folder + File.separator + "final.pdf");
mergePdf.mergeDocuments();
}
private static String[] getFiles(String folder) throws IOException
{
File _folder = new File(folder);
String[] filesInFolder;
if(_folder.isDirectory())
{
filesInFolder = _folder.list();
return filesInFolder;
}
else
{
throw new IOException("Path is not a directory");
}
}
}
view raw PDFMergeTest hosted with ❤ by GitHub
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.util.PDFMergerUtility;
public class PDFMergeTest {
public static void main(String args[]) throws COSVisitorException, IOException{
PDFMergerUtility mergePdf = new PDFMergerUtility();
String folder="D:\\sample";
String numberOfFiles[]=getFiles(folder);
for(int i = 0; i &lt; numberOfFiles.length; i++){
mergePdf.addSource(folder + File.separator + numberOfFiles[i]);
System.out.println(numberOfFiles[i]);
}
mergePdf.setDestinationFileName(folder + File.separator + "final.pdf");
mergePdf.mergeDocuments();
}
private static String[] getFiles(String folder) throws IOException
{
File _folder = new File(folder);
String[] filesInFolder;
if(_folder.isDirectory())
{
filesInFolder = _folder.list();
return filesInFolder;
}
else
{
throw new IOException("Path is not a directory");
}
}
}
view raw PDFMergeTest hosted with ❤ by GitHub

No comments: