การทำงานกับชุดหน้า
ทำงานกับชุดหน้า
คู่มือนี้แสดงวิธีการอธิบายส่วนย่อยของหน้าต่าง ๆ ในเอกสาร – การเลือกดัชนีหน้าตามอำเภอใจ, แทนช่วงต่อเนื่องเดียว – โดยใช้ PageSet in Aspose.Words FOSS สำหรับ .NET. PageSet เป็นคลาสแบบ sealed ใน Aspose.Words.Saving เนมสเปซที่อธิบายชุดหน้าที่สุ่ม.
การสร้าง PageSet
PageSet มีคอนสตรัคเตอร์สามตัว: PageSet(page) สร้างชุดหนึ่งหน้าจากดัชนีหน้าเดียว; PageSet(pages) สร้างชุดจากคอลเลกชันของดัชนีหน้าที่แน่นอน; และ PageSet(ranges) สร้างชุดจากคอลเลกชันของช่วงหน้า. เลือกคอนสตรัคเตอร์ที่ตรงกับวิธีการแสดงการเลือกหน้าในสถานการณ์ของคุณ – หน้าเดียว, รายการหน้าที่กระจัดกระจาย, หรือช่วงต่อเนื่อง.
ชุดในตัว: ทั้งหมด, คู่, และ คี่
สามคุณสมบัติสแตติกให้ชุดที่พร้อมใช้โดยไม่ต้องสร้างด้วยตนเอง: PageSet.All คืนค่าชุดที่มีทุกหน้าของเอกสารตามลำดับเดิม, PageSet.Even คืนค่าชุดที่มีเฉพาะหน้าที่เป็นเลขคู่, และ PageSet.Odd คืนค่าชุดที่มีเฉพาะหน้าที่เป็นเลขคี่.
การวนรอบชุดหน้า
PageSet implements IEnumerable<int>, ดังนั้นอินสแตนซ์ PageSet ใด ๆ – ไม่ว่าจะถูกสร้างโดยตรงหรือได้มาจาก All, Even หรือ Odd – สามารถวนซ้ำด้วย GetEnumerator() (หรือวงรอบ foreach) เพื่อเดินตามดัชนีหน้าที่มันมี.
เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด
- ใช้
PageSet.All,EvenหรือOddสำหรับกรณีทั่วไปแทนการสร้างรายการดัชนีอย่างชัดเจน, หากการเลือกไม่ตรงกับรูปแบบใดในสามรูปแบบนั้น. - เลือกคอนสตรัคเตอร์
PageSet(pages)สำหรับการเลือกหน้าที่กระจัดกระจายและไม่ต่อเนื่อง, และPageSet(ranges)เมื่อการเลือกนั้นสามารถแสดงเป็นช่วงต่อเนื่องหนึ่งหรือหลายช่วงได้โดยธรรมชาติ. - เนื่องจาก
PageSetimplementsIEnumerable<int>, จึงสามารถใช้ได้ทุกที่ที่คาดหวังIEnumerable<int>ของดัชนีหน้า, โดยไม่ต้องมีขั้นตอนการแปลงเพิ่มเติมใด ๆ.
ปัญหาทั่วไป
| ปัญหา | สาเหตุ | แก้ไข |
|---|---|---|
PageSet ที่สร้างจาก PageSet.Even หรือ Odd ปรากฏว่าเป็นค่าว่างเมื่อทำการ enumerate บนเเกสารสั้น | เอกสารมีจำนวนหน้าคู่ (หรือคี่) น้อยกว่าที่คาดไว้ | ยืนยันจำนวนหน้าจริงของเอกสารก่อนพึ่งพา Even/Odd |
| ไม่แน่ใจว่าจะใช้คอนสตรัคเตอร์ตัวไหนสำหรับการผสมผสานระหว่างหน้าต่าง ๆ และช่วง | PageSet(pages) และ PageSet(ranges) แต่ละตัวยอมรับรูปแบบอินพุตเพียงหนึ่งแบบเท่านั้น | สร้างอินสแตนซ์ PageSet แยกต่างหากสำหรับดัชนีและช่วง, หรือทำให้การเลือกเป็นรูปแบบเดียวก่อนทำการสร้าง |
FAQ
ฉันจะรับ PageSet ที่มีทุกหน้าในเอกสารได้อย่างไร?
ใช้คุณสมบัติ static PageSet.All.
ฉันจะเลือกเฉพาะหน้าที่เป็นเลขคู่หรือเลขคี่ได้อย่างไร?
ใช้ PageSet.Even หรือ PageSet.Odd.
ฉันจะสร้าง PageSet จากรายการหมายเลขหน้าที่กำหนดเองได้อย่างไร?
ใช้คอนสตรัคเตอร์ PageSet(pages) พร้อมกับคอลเลกชันของดัชนีหน้าที่แน่นอน.
ฉันสามารถวนซ้ำหน้าที่ PageSet มีอยู่ได้หรือไม่?
ใช่ – PageSet implements IEnumerable<int>, ดังนั้น GetEnumerator() หรือการวนลูป foreach จะเดินตามดัชนีหน้าที่มันอธิบาย.
API Reference สรุป
| คลาส | คำอธิบาย |
|---|---|
PageSet | อธิบายชุดของหน้า; คอนสตรัคเตอร์สำหรับหน้าเดียว, ดัชนีที่แน่นอน, หรือช่วง; All, Even, Odd, GetEnumerator() |