GroupDocs.Merger allows to split source document into several resultant documents. Document splitting can be performed in different ways by specifying page numbers array or start/end page numbers and setting different SplitOptions modes. Here are the possible use cases:
Page numbers array specified and splitting mode is set to SplitMode.Pages - specified page numbers indicate exact page numbers, which will be saved to the separate one-page documents. Ex: Array{ 3, 6, 8 } will produce 3 documents with 3rd, 6th and 8th pages.
Page numbers array specified and splitting mode is set to SplitMode.Interval - specified page numbers indicate the boundaries of the page intervals, which will be saved to the separate multi-page documents. Ex: Array{ 3, 6, 8 } will produce 4 page intervals 1-2, 3-5, 6-7, 8-10.
There is also an ability to set parameter RangeMode and obtain only even or odd pages from desired pages range.
The steps to split document to multiple on-page documents are the following:
Initialize SplitOptions class with output files path format;
Instantiate Merger object with source document path or InputStream;
Call split method and pass SplitOptions object to itfor saving resultant documents.
Split the document to several one-page documents (by exact page numbers)
The following code sample demonstrates how to split document to three one-page documents with 3rd, 6th and 8th pages:
Split the document to several one-page documents (by start/end page numbers and even/odd filter)
The following code sample demonstrates how to split document to several one-page documents for odd pages starting from 3rd and ending at 7th page number: