使用页面集

使用页面集

使用页面集合

本指南展示了如何使用来描述文档页面的子集——任意选择的页码索引,而不是单一连续范围—— 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()

另请参阅

 中文