Làm việc với Bộ trang
Làm việc với các bộ trang
Hướng dẫn này chỉ ra cách mô tả một tập hợp con của các trang trong tài liệu — một lựa chọn tùy ý các chỉ số trang, thay vì một dải liên tiếp duy nhất — bằng cách PageSet in Aspose.Words FOSS cho .NET. PageSet là một lớp sealed trong Aspose.Words.Saving không gian tên mô tả một tập hợp ngẫu nhiên các trang.
Xây dựng một PageSet
PageSet có ba hàm khởi tạo: PageSet(page) tạo một bộ một trang từ một chỉ số trang đơn; PageSet(pages) tạo một bộ từ một tập hợp các chỉ số trang chính xác; và PageSet(ranges) tạo một bộ từ một tập hợp các khoảng trang. Hãy chọn hàm khởi tạo phù hợp với cách mà lựa chọn trang được diễn đạt trong trường hợp của bạn — một trang duy nhất, một danh sách rải rác các trang, hoặc các đoạn liên tục.
Các bộ tích hợp sẵn: All, Even và Odd
Ba thuộc tính tĩnh cung cấp các bộ sẵn có mà không cần tự tạo: PageSet.All trả về một bộ gồm mọi trang của tài liệu theo thứ tự gốc, PageSet.Even trả về một bộ chỉ chứa các trang số chẵn, và PageSet.Odd trả về một bộ chỉ chứa các trang số lẻ.
Liệt kê một bộ trang
PageSet triển khai IEnumerable<int>, vì vậy bất kỳ đối tượng PageSet nào – dù được tạo trực tiếp hay lấy từ All, Even, hoặc Odd – đều có thể được duyệt bằng GetEnumerator() (hoặc vòng lặp foreach) để đi qua các chỉ mục trang mà nó chứa.
Mẹo và Thực hành Tốt nhất
- Sử dụng
PageSet.All,Even, hoặcOddcho các trường hợp phổ biến thay vì tạo danh sách chỉ mục rõ ràng, trừ khi lựa chọn không khớp với một trong ba mẫu đó. - Chọn hàm khởi tạo
PageSet(pages)cho lựa chọn trang rải rác, không liên tiếp, vàPageSet(ranges)khi lựa chọn được biểu diễn tự nhiên dưới dạng một hoặc nhiều dải liên tiếp. - Vì
PageSettriển khaiIEnumerable<int>, nó có thể được sử dụng ở bất kỳ nơi nào cần mộtIEnumerable<int>các chỉ mục trang, mà không cần bước chuyển đổi nào thêm.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Khắc phục |
|---|---|---|
Một PageSet được xây dựng từ PageSet.Even hoặc Odd xuất hiện trống khi liệt kê trên một tài liệu ngắn. | Tài liệu có ít trang chẵn (hoặc lẻ) hơn dự kiến | Xác nhận số trang thực tế của tài liệu trước khi dựa vào Even/Odd |
| Không chắc nên dùng constructor nào cho sự kết hợp giữa các trang riêng lẻ và các dải trang | PageSet(pages) và PageSet(ranges) mỗi cái chỉ chấp nhận một dạng đầu vào | Tạo các thể hiện PageSet riêng biệt cho các chỉ số và các dải, hoặc chuẩn hoá lựa chọn thành một dạng duy nhất trước khi khởi tạo nó |
FAQ
Làm thế nào để tôi lấy một PageSet chứa mọi trang của tài liệu?
Sử dụng thuộc tính tĩnh PageSet.All.
Làm sao để chỉ chọn các trang chẵn hoặc lẻ?
Sử dụng PageSet.Even hoặc PageSet.Odd.
Làm sao để xây dựng một PageSet từ một danh sách tùy ý các số trang?
Sử dụng hàm khởi tạo PageSet(pages) với một tập hợp các chỉ số trang chính xác.
Có thể duyệt qua các trang mà PageSet chứa không?
Có – PageSet thực thi IEnumerable<int>, vì vậy GetEnumerator() hoặc một vòng lặp foreach sẽ duyệt qua các chỉ số trang mà nó mô tả.
API Reference Tóm tắt
| Lớp | Mô tả |
|---|---|
PageSet | Mô tả một tập hợp các trang; các constructor cho một trang duy nhất, các chỉ số chính xác, hoặc các dải; All, Even, Odd, GetEnumerator() |