I have many PDF into my folder (C:\Users\Username\Desktop\PDF):
I want to create a simple program to merge all these documents into one with PdfBox. So I create this code:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
public class MergePDF {
public static void main (String args[]) throws IOException {
PDFMergerUtility PDFmerger = new PDFMergerUtility();
PDFmerger.setDestinationFileName("C:\\Users\\fgioli\\Desktop\\PDF\\MergePDF.pdf");
File pdfFolder = new File("C:\\Users\\fgioli\\Desktop\\PDF");
File currentFile;
for(File fileEntry : pdfFolder.listFiles()) {
System.out.println("File entry: "+fileEntry.getAbsolutePath());
currentFile = new File(fileEntry.getAbsolutePath());
PDFmerger.addSource(currentFile);
}
PDFmerger.mergeDocuments();
System.out.println("END");
}
}
If I try to execute the code I get the error:
Exception in thread "main" java.io.FileNotFoundException: C:\Users\Username\Desktop\PDF\Merge (Access is denied)
at java.io.RandomAccessFile.open0(Native Method)
at java.io.RandomAccessFile.open(Unknown Source)
at java.io.RandomAccessFile.<init>(Unknown Source)
at org.apache.pdfbox.io.RandomAccessBufferedFileInputStream.<init>(RandomAccessBufferedFileInputStream.java:99)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1079)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1006)
at org.apache.pdfbox.multipdf.PDFMergerUtility.legacyMergeDocuments(PDFMergerUtility.java:451)
at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:346)
at org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:330)
at MergePDF.main(MergePDF.java:44)
How can I solve this problem?