Large PDF files can sometimes be cumbersome to handle, especially when sharing or uploading them. Splitting a large PDF file into multiple smaller PDFs reduces the file size, making it more manageable and quicker to open and process. In this article, we will demonstrate how to split PDF documents in Python using Spire.PDF for Python.
Install Spire.PDF for Python
This scenario requires Spire.PDF for Python and plum-dispatch v1.7.4. They can be easily installed in your Windows through the following pip command.
pip install Spire.PDF
If you are unsure how to install, please refer to this tutorial: How to Install Spire.PDF for Python on Windows
Split a PDF File into Multiple Single-Page PDFs in Python
Spire.PDF for Python offers the PdfDocument.Split() method to divide a multi-page PDF document into multiple single-page PDF files. The following are the detailed steps.
- Create a PdfDocument object.
- Load a PDF document using PdfDocument.LoadFromFile() method.
- Split the document into multiple single-page PDFs using PdfDocument.Split() method.
- Python
from spire.pdf.common import * from spire.pdf import * # Create a PdfDocument object doc = PdfDocument() # Load a PDF file doc.LoadFromFile("Sample.pdf") # Split the PDF file into multiple single-page PDFs doc.Split("Output/SplitDocument-{0}.pdf", 1) # Close the PdfDocument object doc.Close()
Split a PDF File by Page Ranges in Python
To split a PDF file into two or more PDF files by page ranges, you need to create two or more new PDF files, and then import the specific page or range of pages from the source PDF into the newly created PDF files. The following are the detailed steps.
- Create a PdfDocument object.
- Load a PDF document using PdfDocument.LoadFromFile() method.
- Create three PdfDocument objects.
- Import the first page from the source file into the first document using PdfDocument.InsertPage() method.
- Import pages 2-4 from the source file into the second document using PdfDocument.InsertPageRange() method.
- Import the remaining pages from the source file into the third document using PdfDocument.InsertPageRange() method.
- Save the three documents using PdfDocument.SaveToFile() method.
- Python
from spire.pdf.common import * from spire.pdf import * # Create a PdfDocument object doc = PdfDocument() # Load a PDF file doc.LoadFromFile("Sample.pdf") # Create three PdfDocument objects newDoc_1 = PdfDocument() newDoc_2 = PdfDocument() newDoc_3 = PdfDocument() # Insert the first page of the source file into the first document newDoc_1.InsertPage(doc, 0) # Insert pages 2-4 of the source file into the second document newDoc_2.InsertPageRange(doc, 1, 3) # Insert the rest pages of the source file into the third document newDoc_3.InsertPageRange(doc, 4, doc.Pages.Count - 1) # Save the three documents newDoc_1.SaveToFile("Output1/Split-1.pdf") newDoc_2.SaveToFile("Output1/Split-2.pdf") newDoc_3.SaveToFile("Output1/Split-3.pdf") # Close the PdfDocument objects doc.Close() newDoc_1.Close() newDoc_2.Close() newDoc_3.Close()
Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.