فیلدهای شماره‌گذاری (AUTONUM، PAGE، SEQ، و موارد دیگر)

فیلدهای شماره‌گذاری (AUTONUM، PAGE، SEQ، و موارد دیگر)

فیلدهای شماره‌گذاری (AUTONUM, PAGE, SEQ، و بیشتر)

این راهنما نشان می‌دهد چگونه با فیلدهای شماره‌گذاری خودکار ورد کار کنیم در Aspose.Words FOSS برای .NET، و اینکه چگونه با شماره‌گذاری مبتنی بر فهرست متفاوت هستند. کار با فهرست‌ها covers List, ListFormat، و ListLevel – مدل شیء پشت پاراگراف‌های فهرست شماره‌دار و بولت‌دار ورد. ورد همچنین یک خانواده جداگانه از شماره‌گذاری دارد fields که عددی را در مکان فیلد در متن محاسبه می‌کنند، نه از طریق قالب‌بندی فهرست پاراگراف: شماره‌گذاری خودکار قانونی و طرح‌واره‌ای، شمارنده‌های صفحه و بخش، شماره‌گذاری مرتبط با فهرست، و توالی‌های نام‌گذاری‌شده. این مدل هر کدام را به عنوان یک Field زیرکلاس در the Aspose.Words.Fields namespace، به‌علاوه NumberStyle enum مشترک بین سطوح فهرست، پاورقی‌ها و یادداشت‌های انتهایی، و شماره‌های صفحه برای انتخاب نحوهٔ نمایش یک عدد.


فیلدهای شماره‌گذاری خودکار: AUTONUM, AUTONUMLGL, AUTONUMOUT

FieldAutoNum پیاده‌سازی می‌کند AUTONUM field (شماره‌گذاری متوالی ساده) و در دسترس می‌گذارد SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (legal/outline-style numbering)، افزودن RemoveTrailingPeriod در کنار خود SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (outline numbering) و هیچ ویژگی خاصی جز پایه‌اش ندارد Field اعضایی که در آن توصیف شده‌اند کار با فیلدها.


شماره‌گذاری پیوندی فهرست با FieldListNum

FieldListNum پیاده‌سازی می‌کند فیلد LISTNUM: ListName نام تعریف انتزاعی شماره‌گذاری را که باید استفاده شود تعیین می‌کند، و HasListName گزارش می‌دهد آیا کد فیلد واقعاً یک نام فراهم می‌کند یا نه. ListLevel سطح فهرست پیش‌فرضی را که فیلد در آن شماره‌گذاری می‌کند، بازنویسی می‌کند، و StartingNumber مقدار شروع شماره‌گذاری فیلد را تنظیم می‌کند.


شمارنده‌های صفحه و بخش: FieldPage, FieldSection, FieldSectionPages

FieldPage پیاده‌سازی می‌کند PAGE فیلد و FieldSectionPages implements SECTIONPAGES. هر دو به طرح صفحه محاسبه‌شده برای تولید نتیجه وابسته‌اند؛ همانند NUMPAGES فیلد توصیف‌شده در کار با فیلدها، مقادیر فیلدهای وابسته به طرح‌بندی در این نسخه محاسبه نمی‌شوند زیرا شامل موتور صفحه-طرح/رندر نیست، بنابراین این فیلدها به یک جای‌نگهدار تبدیل می‌شوند 0. FieldSection implements SECTION، شماره بخش فعلی سند را برمی‌گرداند – این مقدار به صفحه‌بندی وابسته نیست و تحت تأثیر آن محدودیت قرار نمی‌گیرد.


دنباله‌های نام‌گذاری شده با FieldSeq

FieldSeq فیلد SEQ را برای دنباله‌های نام‌گذاری‌شده و به‌صورت مستقل شماره‌گذاری‌شده (مانند شکل‌ها یا جدول‌ها) پیاده‌سازی می‌کند: SequenceIdentifier نام دنباله را تعیین می‌کند، و BookmarkName به‌صورت اختیاری فیلد را به یک مورد دیگر در سند اشاره می‌دهد به‌جای مکان خود فیلد. InsertNextNumber عدد بعدی دنباله را وارد می‌کند بدون اینکه مقدار موقعیت جاری را نمایش دهد، و ResetNumber / ResetHeadingLevel شمارنده دنباله را به عدد خاصی تنظیم یا آن را در سطح سرعنوان خاصی دوباره شروع می‌کنند.


FieldRevNum

FieldRevNum فیلد REVNUM را پیاده‌سازی می‌کند و علاوه بر اعضای پایه Field، هیچ خصوصیت خاصی ندارد.


قالب‌بندی اعداد با NumberStyle

NumberStyle شمارش‌گری (enum) استفاده‌شده در سطوح فهرست، شماره‌گذاری پاورقی/پایان‌نویس و شماره‌های صفحه است تا نحوه رندر عدد را انتخاب کند. سبک‌های رایج شامل Arabic، UppercaseRoman / LowercaseRoman، UppercaseLetter / LowercaseLetter، Ordinal و OrdinalText هستند، همراه با مجموعه‌ای بزرگ از سبک‌های مخصوص به تنظیمات محلی (Kanji، Hangul، Hanja، ThaiLetter، HindiLetter1 و بسیاری دیگر) به‌علاوه Bullet، LeadingZero، None و Custom برای قالبی که فراخواننده فراهم می‌کند.


نکات و بهترین روش‌ها

  • از FieldListNum استفاده کنید وقتی یک عدد باید به تعریف موجود فهرست بر اساس نام ارجاع دهد؛ برای شماره‌گذاری که به List خاصی مرتبط نیست، از FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut استفاده کنید.
  • به یاد داشته باشید که FieldPage و FieldSectionPages به طرح وابسته هستند، همان‌طور که NUMPAGES نیز است – به Result آن‌ها برای بازتاب تعداد واقعی صفحات محاسبه‌شده در این نسخه اعتماد نکنید.
  • از FieldSeq.BookmarkName استفاده کنید وقتی یک فیلد SEQ نیاز دارد به عددی که در جای دیگری از سند تعریف شده است ارجاع دهد به جای این‌که شمارندهٔ خود را در محل فیلد افزایش دهد.
  • هنگامی که یک دنبالهٔ شماره‌دار (مانند شماره‌های شکل) باید در هر فصل یا عنوان بخش جدید از نو شروع شود، FieldSeq.ResetHeadingLevel را تنظیم کنید.

مشکلات رایج

مشکلدلیلرفع
FieldPage یا FieldSectionPages همیشه 0 را نشان می‌دهداین فیلدها به طرح‌بندی صفحه محاسبه‌شده وابسته‌اند، که بخشی از این نسخه نیسترفتار مورد انتظار – از نسخه تجاری استفاده کنید Aspose.Words برای .NET اگر شمارش صفحه محاسبه‌شده مورد نیاز باشد
FieldListNum از قالب‌بندی لیست مورد انتظار استفاده نمی‌کندListName با تعریف شماره‌گذاری انتزاعی موجود در سند مطابقت نداردنام دقیق لیست را تأیید کنید، یا HasListName را بررسی کنید تا ببینید آیا کد فیلد به‌طور کلی یکی فراهم می‌کند یا نه
اعداد FieldSeq در مکان مورد انتظار دوباره شروع نمی‌شوندResetNumber یا ResetHeadingLevel در فیلدی که باید توالی را دوباره شروع کند تنظیم نشده استویژگی بازنشانی مناسب را روی آن نمونه FieldSeq تنظیم کنید

FAQ

تفاوت بین شماره‌گذاری فهرست و این فیلدهای شماره‌گذاری چیست؟

شماره‌گذاری فهرست (List, ListFormat, ListLevel، پوشش داده شده در کار با فهرست‌ها) کل پاراگراف‌ها را به‌عنوان موارد فهرست قالب‌بندی می‌کند. فیلدهای این صفحه عددی را در نقطه‌ای خاص از متن محاسبه می‌کنند — برای توالی‌ها، شمارنده‌های صفحه/بخش، یا شماره‌گذاری خودکار به سبک قانونی — مستقل از قالب‌بندی فهرست پاراگراف.

چرا فیلد PAGE همیشه به 0 ارزیابی می‌شود؟

FieldPage به طرح صفحه محاسبه‌شده وابسته است، و این نسخه شامل موتور صفحه-طرح/رندرینگ نمی‌شود – به همین دلیل است که NUMPAGES به مقدار جای‌دار ارزیابی می‌شود.

چگونه یک دنباله نام‌دار و به‌صورت مستقل شماره‌گذاری‌شده مانند «Figure 1»، «Figure 2» ایجاد کنم؟

از FieldSeq همراه با یک SequenceIdentifier ثابت (مانند "Figure") در تمام نمونه‌های فیلد استفاده کنید؛ هر کدام عدد بعدی را در آن دنباله نمایش می‌دهند.

چگونه می‌توانم کنترل کنم که عدد با کدام سبک عددی یا حروفی رندر شود؟

از enum NumberStyle استفاده کنید – مقادیری مانند Arabic، UppercaseRoman، LowercaseLetter و OrdinalText سبک رندر را انتخاب می‌کنند، به‌همراه Bullet، None و Custom برای قالب‌های غیر عددی یا قالب‌های ارائه‌شده توسط فراخواننده.


API Reference خلاصه

کلاس / شمارشتوضیح
FieldAutoNumAUTONUM فیلد؛ SeparatorCharacter
FieldAutoNumLglAUTONUMLGL فیلد؛ RemoveTrailingPeriod، SeparatorCharacter
FieldAutoNumOutAUTONUMOUT فیلد
FieldListNumLISTNUM فیلد; ListName, HasListName, ListLevel, StartingNumber
FieldPagePAGE فیلد (وابسته به طرح‌بندی؛ در این نسخه به 0 ارزیابی می‌شود)
FieldSectionSECTION فیلد
FieldSectionPagesفیلد SECTIONPAGES (وابسته به قالب؛ در این نسخه به 0 ارزیابی می‌شود)
FieldSeqفیلد SEQ; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel
FieldRevNumREVNUM فیلد
NumberStyleEnum از سبک‌های نمایش عدد که توسط سطوح فهرست، پاورقی/پانویس و شماره‌های صفحه استفاده می‌شود

همچنین ببینید:

 فارسی