یادداشتهای پاورقی و یادداشتهای انتهایی
پانویسها و یادداشتهای انتهایی
Aspose.Words FOSS برای .NET نمایانگر پانویسها و یادداشتهای انتهایی با یک کلاس گرهٔ Footnote است که با ویژگی FootnoteType خود متمایز میشود، بههمراه کلاسهای گزینههای شمارهگذاری و جداکنندهٔ جداگانه در فضای نام Aspose.Words.Notes.
خواندن محتوای پانویس و یادداشت انتهایی
Footnote یک گرهٔ ترکیبی داستان است — مشابه Body یا یک سلول جدول، شامل Paragraphs و Tables — که متن یک پانویس یا یادداشت انتهایی را در خود نگه میدارد. ویژگی FootnoteType آن (یک مقدار enum FootnoteType، Footnote یا Endnote) تعیین میکند که چه نوعی است. ReferenceMark کاراکتر علامت مرجع پیکربندیشده را برمیگرداند، ActualReferenceMark علامتی که در واقع رندر شده است (با در نظر گرفتن شمارهگذاری خودکار) را برمیگرداند، و IsAuto گزارش میدهد که آیا علامت بهصورت خودکار شمارهگذاری شده است یا نه. ParentParagraph پاراگراف را در بدنهٔ اصلی سند که ارجاع پانویس یا یادداشت انتهایی در آن رخ میدهد، پیدا میکند. GetText() محتوای متنی سادهٔ پانویس را استخراج میکند، مشابه روشی که برای سایر گرههای سطح داستان در دسترس است.
پیکربندی شمارهگذاری و موقعیت
رفتار شمارهگذاری و جایگذاری بهصورت جداگانه برای پانویسها و یادداشتهای انتهایی از طریق FootnoteOptions و EndnoteOptions کنترل میشود، که هر دو رابط مشترک IFootnoteOptions را پیادهسازی میکنند. FootnoteOptions.Position (یک مقدار FootnotePosition — BottomOfPage یا BeneathText) و EndnoteOptions.Position (یک مقدار EndnotePosition — EndOfSection یا EndOfDocument) تعیین میکنند هر نوع کجا قرار گیرد. هر دو NumberStyle، StartNumber و RestartRule (یک مقدار FootnoteNumberingRule — Continuous، RestartSection، RestartPage یا Default) را برای کنترل توالی شمارهگذاری ارائه میدهند. FootnoteOptions علاوه بر این Columns را ارائه میدهد، برای چیدمان پانویسها در پایین صفحه بهصورت چند ستونی.
جداکنندههای پانویس و یادداشت انتهایی
FootnoteSeparator یک گره داستانی است که محتوایی را که Word بین بدنه اصلی سند و پاورقی/پایاننویسها قرار میدهد، نگه میدارد — بهطور پیشفرض خط افقی کوتاه است، اما میتواند هر محتوای پاراگرافی را دربرگیرد. ویژگی SeparatorType آن (یک مقدار FootnoteSeparatorType) نقشهای شش جداساز را که Word تعریف میکند، متمایز میکند: FootnoteSeparator، FootnoteContinuationSeparator، FootnoteContinuationNotice و معادلهای پایاننویس. FootnoteSeparatorCollection دسترسی نوعی به تمام گرههای جداساز در یک سند را از طریق GetByFootnoteSeparatorType(FootnoteSeparatorType) فراهم میکند.
نکات و بهترین روشها
- قبل از این که فرض کنید گره
Footnoteیک پاورقی است،Footnote.FootnoteTypeرا بررسی کنید — همان کلاس هم پاورقیها و هم پایاننویسها را نمایندگی میکند. - وقتی به علامتی نیاز دارید که واقعاً رندر میشود، به جای
ReferenceMarkازActualReferenceMarkاستفاده کنید، زیرا علامتهای خودکار شمارهگذاریشده با کاراکتر علامت تنظیمشده متفاوت هستند. - قبل از افزودن محتوای پاورقی/پایاننویس،
FootnoteOptionsوEndnoteOptionsرا پیکربندی کنید تا قواعد شمارهگذاری از اولین یادداشت بهطور ثابت اعمال شوند. - محتوای
FootnoteSeparatorبه ندرت سفارشی میشود — اکثر اسناد به جداساز پیشفرض Word تکیه دارند — اما در صورت نیاز سند به اطلاعیه ادامهدار سفارشی، بهصورت کامل قابل دسترسی است.
مشکلات رایج
| مشکل | دلیل | راهحل |
|---|---|---|
| پاورقی و یادداشت انتهایی در منطق پردازش دچار سردرگمی شدهاند | هر دو از کلاس Footnote یکسان استفاده میکنند | انشعاب بر Footnote.FootnoteType |
| متن علامت ارجاع با خروجی رندر شده مطابقت ندارد | از ReferenceMark به جای ActualReferenceMark استفاده شده است | برای علامت بهصورتنمایشدادهشده، ActualReferenceMark را بخوانید |
| شمارهگذاری بهطور غیرمنتظره در هر صفحه/بخش دوباره شروع میشود | RestartRule به RestartPage یا RestartSection تنظیم شده است | برای شمارهگذاری در سرتاسر سند، RestartRule را به Continuous تنظیم کنید |
| ستونهای پانوشت در پایین صفحه نادیده گرفته میشوند | FootnoteOptions.Columns تنظیم نشده است | Columns را بهصورت صریح بر FootnoteOptions تنظیم کنید |
FAQ
چگونه میتوانم یک پاورقی را از یک یادداشت انتهایی در کد تشخیص دهم؟
ویژگی FootnoteType را در شیء Footnote بررسی کنید — این ویژگی FootnoteType.Footnote یا FootnoteType.Endnote را برمیگرداند.
آیا میتوان برای پاورقیها و یادداشتهای انتهایی قواعد شمارهگذاری متفاوتی تعیین کرد؟
بله — FootnoteOptions و EndnoteOptions بهصورت مستقل پیکربندی میشوند و هر کدام دارای Position، NumberStyle، StartNumber و RestartRule خود هستند.
FootnoteSeparator برای چه منظوری استفاده میشود؟
این محتوا نمایانگر بخشی است که Word برای جدا کردن بصری بدنه اصلی سند از پاورقیها یا یادداشتهای انتهایی وارد میکند، و همچنین اطلاعیهای که وقتی یک پاورقی به صفحه بعدی ادامه مییابد نمایش داده میشود.
آیا Footnote از جدولها داخل یادداشت پشتیبانی میکند؟
بله — Footnote یک ویژگی Tables را در کنار Paragraphs ارائه میدهد، زیرا همانند بدنه اصلی سند، یک گره ترکیبی داستانی است.
API Reference خلاصه
| کلاس / متد | توضیح |
|---|---|
Footnote | گرهٔ حاوی برای محتوای یک پانویس یا یادداشت انتهایی |
FootnoteType | Enum: Footnote, Endnote |
FootnoteOptions | تنظیمات شمارهگذاری و موقعیت پاورقی برای یک سند/بخش |
EndnoteOptions | تنظیمات شمارهگذاری و موقعیت یادداشت انتهایی برای یک سند/بخش |
FootnotePosition / EndnotePosition | enumها برای مکانیابی (BottomOfPage/BeneathText, EndOfSection/EndOfDocument) |
FootnoteNumberingRule | enum کنترلکننده زمان بازنشانی شمارهگذاری |
FootnoteSeparator | گره داستان برای محتوای جداساز پاورقی/پانویس |
FootnoteSeparatorCollection | دسترسی تایپی به همه گرههای FootnoteSeparator |
FootnoteSeparatorType | Enum که شناسایی میکند کدام یک از شش نقش جداساز توسط یک گره نمایان میشود |