Class PageSet
Namespace: Aspose.Words.Saving
Assembly: Aspose.Words.dll (25.12.0)
Describes a random set of pages.
To learn more, visit the Programming with Documents documentation article.
public sealed class PageSet : IEnumerable<int>, IEnumerableInheritance
Implements
IEnumerable<int> , IEnumerable
Inherited Members
object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Shows how to render one page from a document to a JPEG image.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Page 1.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 2.");
builder.InsertImage(ImageDir + "Logo.jpg");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 3.");
// Create an "ImageSaveOptions" object which we can pass to the document's "Save" method
// to modify the way in which that method renders the document into an image.
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Jpeg);
// Set the "PageSet" to "1" to select the second page via
// the zero-based index to start rendering the document from.
options.PageSet = new PageSet(1);
// When we save the document to the JPEG format, Aspose.Words only renders one page.
// This image will contain one page starting from page two,
// which will just be the second page of the original document.
doc.Save(ArtifactsDir + "ImageSaveOptions.OnePage.jpg", options);Constructors
PageSet(int)
Creates an one-page set based on exact page index.
public PageSet(int page)Parameters
page int
Zero-based index of the page.
Examples
Shows how to render one page from a document to a JPEG image.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Page 1.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 2.");
builder.InsertImage(ImageDir + "Logo.jpg");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 3.");
// Create an "ImageSaveOptions" object which we can pass to the document's "Save" method
// to modify the way in which that method renders the document into an image.
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Jpeg);
// Set the "PageSet" to "1" to select the second page via
// the zero-based index to start rendering the document from.
options.PageSet = new PageSet(1);
// When we save the document to the JPEG format, Aspose.Words only renders one page.
// This image will contain one page starting from page two,
// which will just be the second page of the original document.
doc.Save(ArtifactsDir + "ImageSaveOptions.OnePage.jpg", options);Remarks
If a page is encountered that is not in the document, an exception will be thrown during rendering. System.Int32.MaxValue means the last page in the document.
PageSet(params int[])
Creates a page set based on exact page indices.
public PageSet(params int[] pages)Parameters
pages int
[]
Zero-based indices of pages.
Examples
Shows how to extract pages based on exact page indices.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add five pages to the document.
for (int i = 1; i < 6; i++)
{
builder.Write("Page " + i);
builder.InsertBreak(BreakType.PageBreak);
}
// Create an "XpsSaveOptions" object, which we can pass to the document's "Save" method
// to modify how that method converts the document to .XPS.
XpsSaveOptions xpsOptions = new XpsSaveOptions();
// Use the "PageSet" property to select a set of the document's pages to save to output XPS.
// In this case, we will choose, via a zero-based index, only three pages: page 1, page 2, and page 4.
xpsOptions.PageSet = new PageSet(0, 1, 3);
doc.Save(ArtifactsDir + "XpsSaveOptions.ExportExactPages.xps", xpsOptions);Remarks
If a page is encountered that is not in the document, an exception will be thrown during rendering. System.Int32.MaxValue means the last page in the document.
PageSet(params PageRange[])
Creates a page set based on ranges.
public PageSet(params PageRange[] ranges)Parameters
ranges PageRange
[]
Array of page ranges.
Examples
Shows how to extract pages based on exact page ranges.
Document doc = new Document(MyDir + "Images.docx");
ImageSaveOptions imageOptions = new ImageSaveOptions(SaveFormat.Tiff);
PageSet pageSet = new PageSet(new PageRange(1, 1), new PageRange(2, 3), new PageRange(1, 3),
new PageRange(2, 4), new PageRange(1, 1));
imageOptions.PageSet = pageSet;
doc.Save(ArtifactsDir + "ImageSaveOptions.ExportVariousPageRanges.tiff", imageOptions);Remarks
If a range is encountered that starts after the last page in the document, an exception will be thrown during rendering. All ranges that end after the last page are truncated to fit in the document.
Properties
All
Gets a set with all the pages of the document in their original order.
public static PageSet All { get; }Property Value
Examples
Shows how to export Odd pages from the document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
for (int i = 0; i < 5; i++)
{
builder.Writeln($"Page {i + 1} ({(i % 2 == 0 ? "odd" : "even")})");
if (i < 4)
builder.InsertBreak(BreakType.PageBreak);
}
// Create a "PdfSaveOptions" object that we can pass to the document's "Save" method
// to modify how that method converts the document to .PDF.
PdfSaveOptions options = new PdfSaveOptions();
// Below are three PageSet properties that we can use to filter out a set of pages from
// our document to save in an output PDF document based on the parity of their page numbers.
// 1 - Save only the even-numbered pages:
options.PageSet = PageSet.Even;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.Even.pdf", options);
// 2 - Save only the odd-numbered pages:
options.PageSet = PageSet.Odd;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.Odd.pdf", options);
// 3 - Save every page:
options.PageSet = PageSet.All;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.All.pdf", options);Even
Gets a set with all the even pages of the document in their original order.
public static PageSet Even { get; }Property Value
Examples
Shows how to export Odd pages from the document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
for (int i = 0; i < 5; i++)
{
builder.Writeln($"Page {i + 1} ({(i % 2 == 0 ? "odd" : "even")})");
if (i < 4)
builder.InsertBreak(BreakType.PageBreak);
}
// Create a "PdfSaveOptions" object that we can pass to the document's "Save" method
// to modify how that method converts the document to .PDF.
PdfSaveOptions options = new PdfSaveOptions();
// Below are three PageSet properties that we can use to filter out a set of pages from
// our document to save in an output PDF document based on the parity of their page numbers.
// 1 - Save only the even-numbered pages:
options.PageSet = PageSet.Even;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.Even.pdf", options);
// 2 - Save only the odd-numbered pages:
options.PageSet = PageSet.Odd;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.Odd.pdf", options);
// 3 - Save every page:
options.PageSet = PageSet.All;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.All.pdf", options);Remarks
Even pages have odd indices since page indices are zero-based.
Odd
Gets a set with all the odd pages of the document in their original order.
public static PageSet Odd { get; }Property Value
Examples
Shows how to export Odd pages from the document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
for (int i = 0; i < 5; i++)
{
builder.Writeln($"Page {i + 1} ({(i % 2 == 0 ? "odd" : "even")})");
if (i < 4)
builder.InsertBreak(BreakType.PageBreak);
}
// Create a "PdfSaveOptions" object that we can pass to the document's "Save" method
// to modify how that method converts the document to .PDF.
PdfSaveOptions options = new PdfSaveOptions();
// Below are three PageSet properties that we can use to filter out a set of pages from
// our document to save in an output PDF document based on the parity of their page numbers.
// 1 - Save only the even-numbered pages:
options.PageSet = PageSet.Even;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.Even.pdf", options);
// 2 - Save only the odd-numbered pages:
options.PageSet = PageSet.Odd;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.Odd.pdf", options);
// 3 - Save every page:
options.PageSet = PageSet.All;
doc.Save(ArtifactsDir + "PdfSaveOptions.ExportPageSet.All.pdf", options);Remarks
Odd pages have even indices since page indices are zero-based.
Methods
GetEnumerator()
public IEnumerator<int> GetEnumerator()Returns
IEnumerator < int >