USING IRONPDF FOR JAVA How to Split PDF Files in Java Darrius Serrant Updated:June 22, 2025 Download IronPDF Maven Download JAR Download Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article will use IronPDF in Java to split PDF files from a source PDF file. IronPDF Java PDF Library IronPDF for Java is a Java library that prioritizes accuracy, ease of use, and speed. It is especially designed for Java and is easy to use when working with PDF documents. It inherits all its functionality from the well-established IronPDF Library for .NET Framework. This makes IronPDF for Java a versatile tool for working with PDF documents in various contexts. IronPDF offers developers methods to render PDF documents into images and extract text and content from PDFs. Additionally, IronPDF is also capable of rendering charts within PDFs, applying watermarks to PDF files, working with PDF forms, and managing digital signatures programmatically. Steps to Split PDF Files Prerequisites for Project Setup To make IronPDF work with PDFs in a Java Maven project, you will need to make sure that you have the following prerequisites: JDK (Java Development Kit): You must have a current version of Java running on your computer along with an IDE. If you don't have it, then download the latest JDK from the Oracle website. Use any IDE like NetBeans, Eclipse, or IntelliJ. Maven: To manage your project and dependencies, Maven is an important tool built specifically for Java projects. Download Maven from the Apache Maven website if you don't have it installed. IronPDF Java Library: Now you require the IronPDF Java library. This can be done by adding the following dependency to your project's pom.xml file. Maven will automatically download and install it in the project. <dependency> <groupId>com.ironpdf</groupId> <artifactId>ironpdf</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>com.ironpdf</groupId> <artifactId>ironpdf</artifactId> <version>1.0.0</version> </dependency> XML Another dependency required is SLF4J. Add the SLF4J dependency in the pom.xml file. <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.3</version> </dependency> XML Once everything is downloaded and installed in your split PDF file Java program, you are ready to use the IronPDF library. Import Classes Firstly, import the IronPDF required classes in Java code. Add the following code on top of the "Main.java" file: import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.License; import java.io.IOException; import java.nio.file.Paths; import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.License; import java.io.IOException; import java.nio.file.Paths; JAVA Now, set your license key using the IronPDF setLicenseKey() method in the Main method: License.setLicenseKey("Your license key"); License.setLicenseKey("Your license key"); JAVA Create or Open an Existing PDF File To split a PDF file into multiple single-page files, it is necessary to either create a PDF file with multiple pages or open a PDF file with multiple pages. The next code sample will create a four-page PDF that can be used for this demonstration. // HTML content used to create a four-page PDF String html = "<p> [PDF With Multiple Pages] </p>" + "<p> 1st Page </p>" + "<div style='page-break-after: always;'></div>" + "<p> 2nd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 3rd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 4th Page</p>"; // Render HTML to a PDF document PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); // Save the PDF document pdf.saveAs(Paths.get("assets/multiplePages.pdf")); // HTML content used to create a four-page PDF String html = "<p> [PDF With Multiple Pages] </p>" + "<p> 1st Page </p>" + "<div style='page-break-after: always;'></div>" + "<p> 2nd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 3rd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 4th Page</p>"; // Render HTML to a PDF document PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); // Save the PDF document pdf.saveAs(Paths.get("assets/multiplePages.pdf")); JAVA The PDF Document looks like this: Creating New PDFs with IronPDF Open PDF File for Splitting As an alternative to the previous section, the next code sample uses the PdfDocument.fromFile method to open an existing PDF file using IronPDF. // Open the existing PDF document PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf")); // Open the existing PDF document PdfDocument pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf")); JAVA You can also open a password-protected file by providing a document password as a second argument to the fromFile method. Split a PDF File into Multiple PDF Files To split a PDF file, the code is straightforward. Simply copy several pages from the original document using the copyPage method, as shown below: // Take the first page PdfDocument page1Doc = pdf.copyPage(0); page1Doc.saveAs(Paths.get("assets/split1.pdf")); // Take the second page PdfDocument page2Doc = pdf.copyPage(1); page2Doc.saveAs(Paths.get("assets/split2.pdf")); // Take the third page PdfDocument page3Doc = pdf.copyPage(2); page3Doc.saveAs(Paths.get("assets/split3.pdf")); // Take the fourth page PdfDocument page4Doc = pdf.copyPage(3); page4Doc.saveAs(Paths.get("assets/split4.pdf")); // Take the first page PdfDocument page1Doc = pdf.copyPage(0); page1Doc.saveAs(Paths.get("assets/split1.pdf")); // Take the second page PdfDocument page2Doc = pdf.copyPage(1); page2Doc.saveAs(Paths.get("assets/split2.pdf")); // Take the third page PdfDocument page3Doc = pdf.copyPage(2); page3Doc.saveAs(Paths.get("assets/split3.pdf")); // Take the fourth page PdfDocument page4Doc = pdf.copyPage(3); page4Doc.saveAs(Paths.get("assets/split4.pdf")); JAVA The PDF file is split by passing the index number as an argument to the copyPage method. Then, save each page in a separate file. Page 1 Page 2 Page 3 Page 4 The copyPages method can also split a PDF by a range of pages. Below, we split the sample PDF evenly in half. // Copy the first two pages into a new PDF document PdfDocument halfPages = pdf.copyPages(0, 1); halfPages.saveAs(Paths.get("assets/halfPages.pdf")); // Copy the last two pages into another PDF document PdfDocument endPages = pdf.copyPages(2, 3); endPages.saveAs(Paths.get("assets/endPages.pdf")); // Copy the first two pages into a new PDF document PdfDocument halfPages = pdf.copyPages(0, 1); halfPages.saveAs(Paths.get("assets/halfPages.pdf")); // Copy the last two pages into another PDF document PdfDocument endPages = pdf.copyPages(2, 3); endPages.saveAs(Paths.get("assets/endPages.pdf")); JAVA Splitting a PDF into Two Halves The complete code example is shown below: import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.License; import java.io.IOException; import java.nio.file.Paths; public class Main { public static void main(String[] args) throws IOException { // Set the IronPDF license key License.setLicenseKey("Your license key"); // HTML content to create a four-page PDF document String html = "<p> [PDF With Multiple Pages] </p>" + "<p> 1st Page </p>" + "<div style='page-break-after: always;'></div>" + "<p> 2nd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 3rd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 4th Page</p>"; // Render HTML to a PDF document PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); pdf.saveAs(Paths.get("assets/multiplePages.pdf")); // Open the existing PDF document pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf")); // Split each PDF page into separate documents PdfDocument page1Doc = pdf.copyPage(0); page1Doc.saveAs(Paths.get("assets/split1.pdf")); PdfDocument page2Doc = pdf.copyPage(1); page2Doc.saveAs(Paths.get("assets/split2.pdf")); PdfDocument page3Doc = pdf.copyPage(2); page3Doc.saveAs(Paths.get("assets/split3.pdf")); PdfDocument page4Doc = pdf.copyPage(3); page4Doc.saveAs(Paths.get("assets/split4.pdf")); // Split the PDF into two halves PdfDocument halfPages = pdf.copyPages(0, 1); halfPages.saveAs(Paths.get("assets/halfPages.pdf")); PdfDocument endPages = pdf.copyPages(2, 3); endPages.saveAs(Paths.get("assets/endPages.pdf")); } } import com.ironsoftware.ironpdf.PdfDocument; import com.ironsoftware.ironpdf.License; import java.io.IOException; import java.nio.file.Paths; public class Main { public static void main(String[] args) throws IOException { // Set the IronPDF license key License.setLicenseKey("Your license key"); // HTML content to create a four-page PDF document String html = "<p> [PDF With Multiple Pages] </p>" + "<p> 1st Page </p>" + "<div style='page-break-after: always;'></div>" + "<p> 2nd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 3rd Page</p>" + "<div style='page-break-after: always;'></div>" + "<p> 4th Page</p>"; // Render HTML to a PDF document PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); pdf.saveAs(Paths.get("assets/multiplePages.pdf")); // Open the existing PDF document pdf = PdfDocument.fromFile(Paths.get("assets/multiplePages.pdf")); // Split each PDF page into separate documents PdfDocument page1Doc = pdf.copyPage(0); page1Doc.saveAs(Paths.get("assets/split1.pdf")); PdfDocument page2Doc = pdf.copyPage(1); page2Doc.saveAs(Paths.get("assets/split2.pdf")); PdfDocument page3Doc = pdf.copyPage(2); page3Doc.saveAs(Paths.get("assets/split3.pdf")); PdfDocument page4Doc = pdf.copyPage(3); page4Doc.saveAs(Paths.get("assets/split4.pdf")); // Split the PDF into two halves PdfDocument halfPages = pdf.copyPages(0, 1); halfPages.saveAs(Paths.get("assets/halfPages.pdf")); PdfDocument endPages = pdf.copyPages(2, 3); endPages.saveAs(Paths.get("assets/endPages.pdf")); } } JAVA IronPDF can also merge PDF documents effortlessly. Summary This article explored how a Java program opens an existing PDF document and splits a PDF file into multiple PDFs using the IronPDF Library. IronPDF makes the life of a developer a lot easier while working with PDF files in Java. Whether you want to create a new document or work with existing PDF documents, IronPDF helps to achieve all PDF-related tasks with almost a single line of code. You can use IronPDF in production for free, and it can be licensed for commercial use with flexible options. The IronPDF Lite package starts at $799. Frequently Asked Questions How can I split a PDF file in Java without losing formatting? Using IronPDF in Java, you can split a PDF file without losing formatting by utilizing the copyPage method to create individual pages as separate PDF documents. What are the steps to set up a Java project for splitting PDFs? To set up a Java project for splitting PDFs using IronPDF, ensure you have JDK and Maven installed, then include IronPDF as a dependency in your Maven project. Import necessary classes like com.ironsoftware.ironpdf.PdfDocument. Is it possible to split a PDF by a range of pages in Java? Yes, using IronPDF's copyPages method, you can easily split a PDF by specifying a range of pages to create separate PDF documents in Java. How do I handle password-protected PDFs when splitting in Java? IronPDF allows you to handle password-protected PDFs by providing the password as a parameter to the fromFile method, enabling you to access and split the document. Can IronPDF be used for tasks other than splitting PDFs? Yes, IronPDF for Java offers a variety of PDF manipulation features such as rendering PDFs to images, extracting text, managing digital signatures, and merging PDF documents. How do I incorporate IronPDF into a Java Maven project? You can incorporate IronPDF into a Java Maven project by adding IronPDF's Maven dependency to your pom.xml file and then importing the necessary classes in your Java code. What is the benefit of using IronPDF for splitting PDFs in Java? IronPDF simplifies the process of splitting PDFs in Java by providing easy-to-use methods like copyPage and copyPages, ensuring efficient PDF management without losing document formatting. Does IronPDF offer flexible licensing options for commercial use? Yes, IronPDF provides flexible licensing options for commercial use, along with a free version available for production, which is ideal for development and testing purposes. Darrius Serrant Chat with engineering team now Full Stack Software Engineer (WebOps) Darrius Serrant holds a Bachelor’s degree in Computer Science from the University of Miami and works as a Full Stack WebOps Marketing Engineer at Iron Software. Drawn to coding from a young age, he saw computing as both mysterious and accessible, making it the perfect medium for creativity ...Read More Related Articles Updated June 22, 2025 How To Convert TIFF To PDF in Java This comprehensive guide will walk you through the steps on how to convert TIFF image to PDF seamlessly in Java using IronPDF. Read More Updated July 28, 2025 How to Convert PDF to PDFA in Java In this article, we will explore how to convert PDF files to PDF/A format in Java using IronPDF. Read More Updated July 28, 2025 How to Create A PDF Document in Java This article will provide a comprehensive guide to working with PDFs in Java, covering key concepts, the best library, and examples. Read More How to Convert Byte Array to PDF in JavaHow to Read PDF File in Java
Updated June 22, 2025 How To Convert TIFF To PDF in Java This comprehensive guide will walk you through the steps on how to convert TIFF image to PDF seamlessly in Java using IronPDF. Read More
Updated July 28, 2025 How to Convert PDF to PDFA in Java In this article, we will explore how to convert PDF files to PDF/A format in Java using IronPDF. Read More
Updated July 28, 2025 How to Create A PDF Document in Java This article will provide a comprehensive guide to working with PDFs in Java, covering key concepts, the best library, and examples. Read More
All your questions are answered to make sure you have all the information you need. (No commitment whatsoever.)