org.pdfbox.util
Class Splitter
public class Splitter
extends java.lang.Object
Split a document into several other documents.
protected void | createNewDocument() - Create a new document to write the splitted contents to.
|
protected void | createNewDocumentIfNecessary() - Interface method, you can control where a document gets split by implementing
this method.
|
int | getSplitAtPage() - This will return how many pages each split document will contain.
|
protected boolean | isNewDocNecessary() - Check if it is necessary to create a new document.
|
protected void | processNextPage(PDPage page) - Interface to start processing a new page.
|
protected void | processPages(List pages) - Interface method to handle the start of the page processing.
|
void | setSplitAtPage(int split) - This will tell the splitting algorithm where to split the pages.
|
List | split(PDDocument document) - This will take a document and split into several other documents.
|
currentDocument
protected PDDocument currentDocument
The current PDF document that contains the splitted page.
pageNumber
protected int pageNumber
The current page number that we are processing, zero based.
pdfDocument
protected PDDocument pdfDocument
The source PDF document.
createNewDocument
protected void createNewDocument()
throws IOException
Create a new document to write the splitted contents to.
createNewDocumentIfNecessary
protected void createNewDocumentIfNecessary()
throws IOException
Interface method, you can control where a document gets split by implementing
this method. By default a split occurs at every page. If you wanted to split
based on some complex logic then you could override this method. For example.
protected void createNewDocumentIfNecessary()
{
if( isPrime( pageNumber ) )
{
super.createNewDocumentIfNecessary();
}
}
getSplitAtPage
public int getSplitAtPage()
This will return how many pages each split document will contain.
isNewDocNecessary
protected boolean isNewDocNecessary()
Check if it is necessary to create a new document.
- true If a new document should be created.
processNextPage
protected void processNextPage(PDPage page)
throws IOException
Interface to start processing a new page.
page
- The page that is about to get processed.
processPages
protected void processPages(List pages)
throws IOException
Interface method to handle the start of the page processing.
pages
- The list of pages from the source document.
setSplitAtPage
public void setSplitAtPage(int split)
This will tell the splitting algorithm where to split the pages. The default
is 1, so every page will become a new document. If it was to then each document would
contain 2 pages. So it the source document had 5 pages it would split into
3 new documents, 2 documents containing 2 pages and 1 document containing one
page.
split
- The number of pages each split document should contain.
split
public List split(PDDocument document)
throws IOException
This will take a document and split into several other documents.
document
- The document to split.
- A list of all the split documents.