In this post, I am going to explain how to convert every page of pdf file to a new pdf file. Suppose, if your pdf files has 5 pages, I want to split this file into 5 small pdf file, where each page in the original pdf file will become a new file.
Step 1: Load the pdf file.
PDDocument pdfDocument = PDDocument.load(inputPdfFile)
Step 2: Get Splitter instance.
Splitter splitter = new Splitter();
splitter.setSplitAtPage(1);
‘setSplitAtPage’ method specifies where to split the pages. The default is 1, so every page will become a new document. If it was two then each document would contain 2 pages. If the source document had 5 pages it would split into 3 new documents, 2 documents containing 2 pages and 1 document containing one page.
Step 3: Split the pdf file.
List<PDDocument> documents = splitter.split(pdfDocument);
Step 4: Write the split documents to separate file.
splitDocument.save(new File(destinationFolder, splitFileName));
splitDocument.close();
Find the below working application.
SplitPdfDocument.java
package com.sample.app;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.multipdf.Splitter;
import org.apache.pdfbox.pdmodel.PDDocument;
public class SplitPdfDocument {
public static void splitPdf(File inputPdfFile, File destinationFolder, String outputFileName) throws IOException {
try (PDDocument pdfDocument = PDDocument.load(inputPdfFile)) {
Splitter splitter = new Splitter();
splitter.setSplitAtPage(1);
List<PDDocument> documents = splitter.split(pdfDocument);
int count = 1;
for (PDDocument splitDocument : documents) {
String splitFileName = String.format("%s%04d.pdf", outputFileName, count);
splitDocument.save(new File(destinationFolder, splitFileName));
splitDocument.close();
count++;
}
}
}
public static void main(String[] args) throws IOException {
splitPdf(new File("/Users/Shared/personal/test.pdf"), new File("/Users/Shared/personal"), "demo");
}
}
Previous Next Home
No comments:
Post a Comment