ExtractPages
ExtractPages(int, int, PageExtractOptions)
Returns the Document
object representing the specified range of pages and the given page extract options.
public Document ExtractPages(int index, int count, PageExtractOptions options)
Parameter | Type | Description |
---|---|---|
index | Int32 | The zero-based index of the first page to extract. |
count | Int32 | Number of pages to be extracted. |
options | PageExtractOptions | Provides options for managing the page extracting process. |
Remarks
The resulting document should look like the one in MS Word, as if we had performed ‘Print specific pages’ – the numbering, headers/footers and cross tables layout will be preserved. But due to a large number of nuances, appearing while reducing the number of pages, full match of the layout is a quiet complicated task requiring a lot of effort. Depending on the document complexity there might be slight differences in the resulting document contents layout comparing to the source document. Any feedback would be greatly appreciated.
See Also
- class PageExtractOptions
- class Document
- namespace Aspose.Words
- assembly Aspose.Words
ExtractPages(int, int)
Returns the Document
object representing specified range of pages.
public Document ExtractPages(int index, int count)
Parameter | Type | Description |
---|---|---|
index | Int32 | The zero-based index of the first page to extract. |
count | Int32 | Number of pages to be extracted. |
Remarks
The resulting document should look like the one in MS Word, as if we had performed ‘Print specific pages’ – the numbering, headers/footers and cross tables layout will be preserved. But due to a large number of nuances, appearing while reducing the number of pages, full match of the layout is a quiet complicated task requiring a lot of effort. Depending on the document complexity there might be slight differences in the resulting document contents layout comparing to the source document. Any feedback would be greatly appreciated.
Examples
Shows how to get specified range of pages from the document.
Document doc = new Document(MyDir + "Layout entities.docx");
doc = doc.ExtractPages(0, 2);
doc.Save(ArtifactsDir + "Document.ExtractPages.docx");
Show how to reset the initial page numbering and save the NUMPAGE field.
Document doc = new Document(MyDir + "Page fields.docx");
// Default behavior:
// The extracted page numbering is the same as in the original document, as if we had selected "Print 2 pages" in MS Word.
// The start page will be set to 2 and the field indicating the number of pages will be removed
// and replaced with a constant value equal to the number of pages.
Document extractedDoc1 = doc.ExtractPages(1, 1);
extractedDoc1.Save(ArtifactsDir + "Document.ExtractPagesWithOptions.Default.docx");
// Altered behavior:
// The extracted page numbering is reset and a new one begins,
// as if we had copied the contents of the second page and pasted it into a new document.
// The start page will be set to 1 and the field indicating the number of pages will be left unchanged
// and will show the current number of pages.
PageExtractOptions extractOptions = new PageExtractOptions();
extractOptions.UpdatePageStartingNumber = false;
extractOptions.UnlinkPagesNumberFields = false;
Document extractedDoc2 = doc.ExtractPages(1, 1, extractOptions);
extractedDoc2.Save(ArtifactsDir + "Document.ExtractPagesWithOptions.Options.docx");
See Also
- class Document
- namespace Aspose.Words
- assembly Aspose.Words