使用页面集
使用页面集
使用页面集合
本指南展示了如何使用来描述文档页面的子集——任意选择的页码索引,而不是单一连续范围—— PageSet in Aspose.Words FOSS 用于 .NET. PageSet 是密封类,位于 Aspose.Words.Saving 命名空间,描述了一组随机页面。
构造一个 PageSet
PageSet 有三个构造函数:PageSet(page) 从单个页面索引构建一个单页集合;PageSet(pages) 从一组精确的页面索引构建集合;PageSet(ranges) 从一组页面范围构建集合。请选择与您场景中页面选择方式相匹配的构造函数——单页、零散的页面列表,或连续的区间。
内置集合:All、Even 和 Odd
三个静态属性提供了现成的集合,无需手动构造:PageSet.All 返回一个包含文档中所有页面且保持原始顺序的集合,PageSet.Even 返回仅包含偶数页的集合,PageSet.Odd 返回仅包含奇数页的集合。
枚举页面集合
PageSet 实现了 IEnumerable<int>,因此任何 PageSet 实例——无论是直接构造还是从 All、Even 或 Odd 获得——都可以使用 GetEnumerator()(或 foreach 循环)进行迭代,以遍历其包含的页面索引。
提示与最佳实践
- 对于常见情况,请使用
PageSet.All、Even或Odd,而不是显式构建索引列表,除非选择不符合这三种模式之一。 - 对于分散的、非连续的页面选择,请选择
PageSet(pages)构造函数;当选择可以自然地表示为一个或多个连续区间时,则使用PageSet(ranges)。 - 由于
PageSet实现了IEnumerable<int>,它可以在任何需要IEnumerable<int>页面索引的地方直接使用,无需额外的转换步骤。
常见问题
| 问题 | 原因 | 修复 |
|---|---|---|
在短文档上枚举时,由 PageSet.Even 或 Odd 构建的 PageSet 显示为空 | 文档的偶数(或奇数)页数少于预期 | 在依赖 Even/Odd 之前,请确认文档的实际页数 |
| 不确定在混合单页和范围时使用哪个构造函数 | PageSet(pages) 和 PageSet(ranges) 各自仅接受一种输入形式 | 为索引和范围分别构建独立的 PageSet 实例,或在构造之前将选择规范化为单一形式 |
FAQ
如何获取包含文档所有页面的 PageSet?
使用静态的 PageSet.All 属性。
如何只选择偶数页或奇数页?
使用 PageSet.Even 或 PageSet.Odd。
如何根据任意的页码列表构建一个 PageSet?
使用带有精确页索引集合的 PageSet(pages) 构造函数。
我可以遍历 PageSet 包含的页面吗?
是的——PageSet 实现了 IEnumerable<int>,因此 GetEnumerator() 或 foreach 循环可以遍历它描述的页索引。
API Reference 摘要
| 类 | 描述 |
|---|---|
PageSet | 描述一组页面;提供单页、精确索引或范围的构造函数;All、Even、Odd、GetEnumerator() |