کار با مجموعههای صفحه
کار با مجموعههای صفحه
این راهنما نشان میدهد چگونه میتوان زیرمجموعهای از صفحات یک سند را توصیف کرد – یک انتخاب دلخواه از شاخصهای صفحه، به جای یک بازهٔ پیوستهٔ واحد – با استفاده از 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 پیادهسازی IEnumerable<int> است، بنابراین هر نمونهٔ PageSet – چه بهصورت مستقیم ساخته شده باشد و چه از All، Even یا Odd بهدست آمده باشد – میتواند با GetEnumerator() (یا یک حلقهٔ foreach) تکرار شود تا شاخصهای صفحهای که شامل آن است را بگردد.
نکات و بهترین روشها
- برای موارد معمول از
PageSet.All،EvenیاOddاستفاده کنید بهجای ساخت یک فهرست شاخص صریح، مگر اینکه انتخاب با هیچیک از این سه الگو مطابقت نداشته باشد. - برای انتخاب صفحات پراکنده و غیرمتصل، سازندهٔ
PageSet(pages)را انتخاب کنید، وPageSet(ranges)را وقتی که انتخاب بهصورت یک یا چند بازهٔ متصل بهطور طبیعی بیان میشود، به کار ببرید. - از آنجا که
PageSetپیادهسازیIEnumerable<int>است، میتوان آن را در هر جایی که یکIEnumerable<int>از شاخصهای صفحه انتظار میرود مصرف کرد، بدون هیچ گام تبدیل اضافی.
مسائل رایج
| مسئله | دلیل | رفع |
|---|---|---|
یک PageSet ساختهشده از PageSet.Even یا Odd هنگام فهرست شدن در یک سند کوتاه خالی به نظر میرسد | سند تعداد صفحات زوج (یا فرد) کمتری نسبت به انتظار دارد | قبل از تکیه بر Even/Odd، شمارش واقعی صفحات سند را تأیید کنید |
| نمیدانید برای ترکیبی از صفحات جداگانه و بازهها از کدام سازنده استفاده کنید | PageSet(pages) و PageSet(ranges) هر کدام فقط یک شکل ورودی را میپذیرند | نمونههای جداگانهٔ PageSet را برای شاخصها و بازهها بسازید، یا قبل از ساختن، انتخاب را به یک شکل واحد نرمالسازی کنید |
FAQ
چگونه میتوانم یک PageSet که شامل تمام صفحات یک سند است دریافت کنم؟
از ویژگی static PageSet.All استفاده کنید.
چگونه فقط صفحات زوج یا فرد را انتخاب کنم؟
از PageSet.Even یا PageSet.Odd استفاده کنید.
چگونه یک PageSet را از فهرست دلخواهی از شماره صفحات بسازم؟
از سازنده PageSet(pages) همراه با مجموعهای از ایندکسهای دقیق صفحه استفاده کنید.
آیا میتوانم بر روی صفحاتی که یک PageSet شامل میشود، تکرار کنم؟
بله – PageSet IEnumerable<int> را پیادهسازی میکند، بنابراین GetEnumerator() یا یک حلقه foreach ایندکسهای صفحهای که توصیف میکند را میگرداند.
API Reference خلاصه
| کلاس | توضیح |
|---|---|
PageSet | مجموعهای از صفحات را توصیف میکند؛ سازندهها برای یک صفحهٔ تک، شاخصهای دقیق، یا بازهها؛ All, Even, Odd, GetEnumerator() |