Split PDF via Java

Split PDF, HTML, TXT files. Use Aspose.PDF for Java to modify PDF documents programmatically

Split Files Using Aspose.PDF for Java

Need just part of your large files? To separate one or more parts from your document, you must split the pages of the original file. In order to split files, we’ll use Aspose.PDF for Java API which is a feature-rich, powerful, and easy-to-use conversion API for Java platform. You can download its latest version directly from Maven and install it within your Maven-based project by adding the following configurations to the pom.xml. Our software tool also provides developers to split Word, PDF, HTML, TXT, and DOCX documents into parts. For more details please learn Documentation Pages.

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

Split documents via Java


You need Aspose.PDF for Java to try the code in your environment.

  1. Load the PDF with an instance of Document.
  2. Create a new Document class object to split PDF pages.
  3. Add current page to the document.
  4. Save current page as a separate PDF

How to split PDF using Java

With the Aspose.PDF for Java library, you can split large PDF documents. Splitting a PDF document is a common use case when working with PDF documents. It helps reduce the size of a PDF file by breaking large documents into smaller files to send via email.

Split PDF - Java

This sample code shows how to split PDF file - Java

    //Read the source PDF file
    doc = new com.aspose.pdf.Document("1.pdf");
    //Instantiate PdfFileEditor object
    pdfEditor = new com.aspose.pdf.facades.PdfFileEditor();

    //Split the PDF file into two halves
    pdfEditor.extract(pathSource, 1, doc.getPages().size() / 2, "pdf_half.pdf");

How to split HTML files using Java

HTML documents can be large as they can contain text, images, charts, and more. You may need to separate HTML files according to different requirements or use cases. The Aspose.PDF for Java library will help you with this task.

Split HTML - Java

This sample code shows how to split HTML file - Java

    //Read the source HTML file
    doc = new com.aspose.pdf.Document(pathSource, new com.aspose.pdf.HtmlLoadOptions());

    //save input html to pdf to file
    doc.save("test.pdf", com.aspose.pdf.SaveFormat.Pdf);

    //Instantiate PdfFileEditor object
    pdfEditor = new com.aspose.pdf.facades.PdfFileEditor();

    //slit first page
    pdfEditor.splitFromFirst("test.pdf", 1, "test.pdf");

    //Convert first pdf page to html
    outputDoc = new com.aspose.pdf.Document("test.pdf");
    outputDoc.save("first_page.html", com.aspose.pdf.SaveFormat.Html);

How to split TXT files using Java

The Aspose.PDF for Java library allows Java developers to split TXT files into separate parts. The function of splitting a TXT document into separate files will help you work with different sections of a large document at the same time and for several users. Splitting a TXT document will speed up and streamline your work. Use the following code snippet to extract the pages of your TXT file.

Split TXT - Java

This sample code shows how to split TXT file - Java

    //Read the source TXT file to Aspose Document
    doc = new com.aspose.pdf.Document(pathSource, new com.aspose.pdf.TxtLoadOptions());

    //Instantiate PdfFileEditor object
    pdfEditor = new com.aspose.pdf.facades.PdfFileEditor();


    //save input text to pdf to file
    doc.save("test.pdf", com.aspose.pdf.SaveFormat.Pdf);

    //split pdf to pages
    ByteArrayInputStream[] pages = pdfEditor.splitToPages("test.pdf");
    int index = 1;

    //5. save each page to text file
    //extract text from page
    for(var ms : pages) {
        page = new com.aspose.pdf.Document(ms);
        textAbsorber = new com.aspose.pdf.TextAbsorber();
        page.getPages().accept(textAbsorber);
        String extractedText = textAbsorber.getText();
        Files.writeString(Path.of("text_"+ Integer.toString(index)+".txt"), extractedText);
        index++;
    }