In this article, I will introduce two methods to split a PDF file in Java application:
1. Split a PDF to single page PDF files
2. Split a PDF to multiple PDF files by page range
The below examples use Free Spire.PDF for Java library.
Imported NameSpace:
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfMargins;
import java.awt.geom.Point2D;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfMargins;
import java.awt.geom.Point2D;
Split a PDF to single
page PDF files
//load the PDF file PdfDocument doc = new PdfDocument(); doc.loadFromFile("sample.pdf"); //split every page of the PDF into a separate file doc.split("Split/splitDocument-{0}.pdf", 0); doc.close();
Split a PDF to multiple PDF by page range
//load the PDF file PdfDocument doc = new PdfDocument(); doc.loadFromFile("sample.pdf"); //create a new PDF file PdfDocument newDoc1 = new PdfDocument(); PdfPageBase page; //add 2 pages to the new PDF, and draw the content of page 1-2 of the original PDF to the new added pages for(int i = 0;i<2;i++) { page = newDoc1.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0)); doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0)); } //save the result file newDoc1.saveToFile("Split/Doc1.pdf"); //create a new PDF file PdfDocument newDoc2 = new PdfDocument(); //add 3 pages to the new PDF, and draw the content of page 3-5 of the original PDF to the new added pages for(int i = 2;i<5;i++) { page = newDoc2.getPages().add(doc.getPages().get(i).getSize(), new PdfMargins(0)); doc.getPages().get(i).createTemplate().draw(page, new Point2D.Float(0,0)); } //save the result file newDoc2.saveToFile("Split/Doc2.pdf");
Comments
Post a Comment