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