کار با Table of Contents

اغلب شما با اسناد حاوی یک جدول از محتویات (TOC) کار می کنید. استفاده از Aspose.Words شما می توانید جدول محتوای خود را وارد کنید یا به طور کامل میز موجود محتوا را در سند با استفاده از چند خط کد بازسازی کنید.

این مقاله توضیح می دهد که چگونه با جدول زمینه محتوا کار کنید و نشان می دهد:

  • چگونگی قرار دادن یک برند جدید TOC
  • به روز رسانی های جدید یا موجود در سند
  • گزینه های Specify برای کنترل قالب بندی و ساختار کلی TOC.
  • چگونه سبک ها و ظاهر جدول محتویات را تغییر دهیم.
  • چگونه یک کل را حذف کنیم TOC زمینه همراه با تمام ورودی ها از سند

جدول محتوای برنامه ریزی شده

شما می توانید یک TOC (در مورد محتوا) زمینه در سند در موقعیت فعلی با تماس با InsertTableOfContents روش

یک جدول از محتوا در یک سند Word می تواند به روش های مختلف ساخته شده و با استفاده از گزینه های مختلف فرمت شود. سوئیچ های میدانی که شما به روش کنترل نحوه ساخت و نمایش جدول در سند خود منتقل می کنید.

سوئیچ های پیش فرض که در یک TOC وارد شده در Microsoft Word هستند ““Do 1-3 \h \z \u”… شرح این سوئیچ ها و همچنین لیستی از سوئیچ های پشتیبانی شده را می توان بعدا در مقاله یافت. شما می توانید از این راهنما برای به دست آوردن سوئیچ های صحیح یا اگر شما در حال حاضر یک سند حاوی مشابه TOC شما می خواهید که می توانید کد های میدانی (ALT+F9*) را نشان دهید و سوئیچ ها را به طور مستقیم از این زمینه کپی کنید.

مثال کد زیر نشان می دهد که چگونه یک جدول محتوا را به یک سند وارد کنید:

مثال کد زیر نشان می دهد که چگونه یک جدول از محتویات (TOC) را به یک سند با استفاده از سبک های عنوان به عنوان ورودی وارد کنید:

کد نشان می دهد که جدول جدید محتویات به یک سند سفید وارد می شود. The The The The The The DocumentBuilder سپس کلاس برای قرار دادن برخی از قالب بندی محتوای نمونه با سبک های عنوان مناسب که برای علامت گذاری محتوا در TOC استفاده می شود استفاده می شود. سپس خطوط بعدی را خفه کنید TOC با به روز رسانی زمینه ها و طرح صفحه سند.

insert-table-of-contents-field-aspose-words-java

Update Table of Contents

Aspose.Words اجازه می دهد تا شما به طور کامل به روز رسانی کنید TOC تنها با چند خط کد. این کار را می توان انجام داد تا یک تازه وارد را به نمایش بگذارد. TOC یا به روز رسانی یک موجود TOC پس از تغییرات در سند صورت گرفته است.

دو روش زیر باید برای به روز رسانی استفاده شود TOC زمینه های موجود در سند:

  1. Document.updateFields()
  2. Document.updatePageLayout()

لطفا توجه داشته باشید که این دو روش به روز رسانی باید در آن سفارش نامیده شوند. اگر جدول محتویات را معکوس کنید، جمعیت خواهد بود، اما هیچ شماره صفحه نمایش داده نخواهد شد. هر تعداد TOC های مختلف را می توان به روز کرد. این روش ها به طور خودکار تمام TOC های موجود در سند را به روز می کنند.

مثال زیر نشان می دهد که چگونه به طور کامل بازسازی شود TOC زمینه های موجود در سند با به روز رسانی های میدانی Invoking:

اولین تماس برای Document.updateFields() ساخت آن <span notrans="<span notrans=” TOC"="">"> تمام نوشته های متنی پر جمعیت هستند و TOC تقریبا کامل به نظر می رسد. تنها چیزی که از دست رفته، تعداد صفحاتی است که اکنون با "" نمایش داده می شوند.

دومین تماس برای Document.updatePageLayout() طرح سند را در حافظه ایجاد خواهد کرد. این باید برای جمع آوری تعداد صفحات ورودی انجام شود. اعداد صفحه صحیح محاسبه شده از این تماس سپس به TOC وارد می شوند.

استفاده از سوئیچ برای کنترل جدول رفتار محتوا

مانند هر زمینه دیگر، TOC زمینه می تواند سوئیچ های تعریف شده در کد زمینه را بپذیرد که کنترل می کند چگونه جدول محتویات ساخته شده است. برخی از سوئیچ ها برای کنترل ورودی ها و در چه سطح مورد استفاده قرار می گیرند در حالی که دیگران برای کنترل ظاهر TOC استفاده می شوند. سوئیچ ها می توانند با هم ترکیب شوند تا اجازه دهند یک میز پیچیده از محتویات تولید شود.

ccontrol-table-of-contents-field-aspose-words-java

به طور پیش فرض، این سوئیچ های بالا در هنگام قرار دادن یک پیش فرض گنجانده می شوند. TOC در سند A A A A A TOC بدون سوئیچ شامل محتوا از سبک های عنوان داخلی (مانند اگر سوئیچ \O تنظیم شود) خواهد بود.

در دسترس TOC سوئیچ هایی که توسط Aspose.Words در زیر ذکر شده و استفاده های آنها با جزئیات شرح داده شده است. آنها می توانند به بخش های جداگانه بر اساس نوع خود تقسیم شوند. سوئیچ ها در بخش اول تعریف می کنند که چه محتوایی باید در آن گنجانده شود. TOC و سوئیچ ها در بخش دوم، ظاهر TOC را کنترل می کنند.

اگر یک سوئیچ در اینجا ذکر نشده باشد، در حال حاضر پشتیبانی نشده است. تمام سوئیچ ها در نسخه های آینده پشتیبانی خواهند شد. ما حمایت بیشتری به هر آزادی اضافه می کنیم.

گزینه های ورود

Switch Switch توضیحات
Heading Styles
(تغییرمسیر)

این سوئیچ تعریف می کند که TOC باید از سبک های عنوان داخلی ساخته شود. In In In Microsoft Word, این ها توسط Heading 1 تعریف می شوند – Heading 9. Aspose.Words این سبک ها توسط افزونه های StyleIdentifier نشان داده شده است. این تکرار نشان دهنده یک شناسه مستقل محلی از یک سبک است، به عنوان مثال، StyleIdentifier.Heading1 نشان دهنده یک سبک است. با استفاده از این، قالب بندی و ویژگی های سبک را می توان از مجموعه سبک سند بازیابی کرد. کلاس سبک مربوطه را می توان از طریق Document.Styles جمع آوری با استفاده از ویژگی های شاخص شده StyleIdentifier.

![style-table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-3.png)



هر محتوایی که با این سبک ها فرمت شده است در جدول محتویات گنجانده شده است. سطح عنوان سطح سلسله مراتب مربوطه ورود به TOC را تعریف می کند. به عنوان مثال، یک پاراگراف با سبک اول به عنوان اولین سطح در سطح اول درمان می شود. `TOC` در حالی که یک پاراگراف با سر 2 به عنوان سطح بعدی در سلسله مراتب و غیره درمان خواهد شد.

| | **Outline Levels**
(تغییرمسیر)
|

هر پاراگراف می تواند یک سطح طرح را در گزینه های پاراگراف تعریف کند.

![modify-table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-4.png)



این تنظیم دیکته می کند که این پاراگراف باید در سلسله مراتب سند درمان شود. این یک عمل رایج است که به راحتی برای ساختار طرح یک سند استفاده می شود. این سلسله مراتب را می توان با تغییر در نمای کلی مشاهده کرد. Microsoft Word... مانند سبک های عنوان، می توان 1 - 9 سطح طرح علاوه بر سطح "Body text" وجود دارد. سطح 1 - 9 در ظاهر خواهد شد `TOC` در سطح مربوطه سلسله مراتب
هر محتوا با یک سطح طرح یا در سبک پاراگراف یا به طور مستقیم در خود پاراگراف در TOC گنجانده شده است. In In In Aspose.Words سطح طرح نشان داده شده توسط `ParagraphFormat.OutlineLevel` مالکیت گره پاراگراف سطح طرح یک سبک پاراگراف به همان شیوه توسط `Style.ParagraphFormat` مالکیت

| | **Custom Styles**
(تغییرمسیر T)
|

این سوئیچ به سبک های سفارشی اجازه می دهد تا هنگام جمع آوری ورودی در TOC استفاده شود. این اغلب در ارتباط با سوئیچ \O استفاده می شود تا شامل سبک های سفارشی همراه با سبک های عنوان داخلی در TOC باشد.
پارامترهای سوئیچ باید در علامت های گفتاری محصور شوند. بسیاری از سبک های سفارشی را می توان شامل، برای هر سبک، نام باید توسط کاما پس از سطح که سبک باید در ظاهر شود مشخص شده است. `TOC` همینطور. سبک های بیشتر نیز توسط یک کاما جدا شده اند.
برای مثال

{ TOC \o "1-3" \t "CustomHeading1, 1,   CustomHeading2, 2"}

استفاده از محتوا با سفارشی Heading1 به عنوان محتوای سطح 1 در `TOC` سفارشی سازی 2 به عنوان سطح 2

| | استفاده از TC Fields
(تغییرمسیر از \F و \L Switches)
|

در نسخه های قدیمی تر Microsoft Word, تنها راه برای ساخت یک `TOC` استفاده از میدان های TC بود. این زمینه ها در سند پنهان می شوند حتی زمانی که کد های فیلد نشان داده می شوند. آنها شامل متنی هستند که باید در ورودی و `TOC` از آنها ساخته شده است. این قابلیت در حال حاضر بسیار مورد استفاده قرار نمی گیرد، اما هنوز هم ممکن است در برخی موارد مفید باشد تا شامل ورودی ها در موارد باشد. `TOC` که در سند قابل مشاهده نیست.
هنگامی که این زمینه ها را وارد کنید، پنهان به نظر می رسد حتی زمانی که کدهای فیلد نمایش داده می شوند. آنها نمی توانند بدون نشان دادن محتوای پنهان دیده شوند. برای دیدن این فیلد ها، قالب بندی پاراگراف نمایش باید انتخاب شود.

![setup-table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-5.png)

این زمینه ها را می توان در یک سند در هر موقعیت مانند هر زمینه دیگر وارد کرد و توسط آن ها نمایندگی می شود. `FieldType.FieldTOCEntry` تکرار
سوئیچ \F در یک `TOC` استفاده می شود تا مشخص شود که فیلدهای TC باید به عنوان ورودی استفاده شوند. سوئیچ به خودی خود بدون هیچ شناسه اضافی به این معنی است که هر رشته TC در سند گنجانده خواهد شد. هر پارامتر اضافی، اغلب یک نامه واحد، تعیین می کند که تنها فیلدهای TC که دارای یک سوئیچ \f تطبیق هستند، در TOC گنجانده خواهند شد. برای مثال *

{ TOC \f t }

تنها شامل حوزه های TC مانند

{ TC \f t }

The The The The The The `TOC` این زمینه همچنین دارای یک سوئیچ مرتبط است، سوئیچ های "\L" مشخص می کند که تنها میدان TC با سطوح در محدوده مشخص شامل می شود.

![table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-6.png)



The The The The The The `TC` خودشان هم می توانند {several, `multiple`, a few, `many`, numerous} سوئیچ های تنظیم شده اینها عبارتند از:

\F - توضیح داده شده در بالا. *

\L - تعریف می کند که کدام سطح در `TOC` این میدان TC در آن ظاهر خواهد شد. A A A A A `TOC` که از این سوئیچ استفاده می کند تنها شامل این حوزه TC است اگر در محدوده مشخص شده باشد.

*N - صفحه شماره گذاری برای این `TOC` ورود نمایش داده نمی شود. کد نمونه ای از چگونگی قرار دادن میدان های TC را می توان در بخش بعدی یافت.

|

سوئیچ های مرتبط

Switch Switch توضیحات
Omit Page Numbers
(تغییرمسیر)

این سوئیچ برای پنهان کردن اعداد صفحه برای سطوح خاصی از TOC استفاده می شود. برای مثال، می توانید تعریف کنید

{TOC \o "1-4" \n "3-4" }

و شماره صفحه در ورودی های سطوح 3 و 4 همراه با نقاط رهبر (در صورت وجود) پنهان خواهد شد. برای مشخص کردن تنها یک سطح دامنه باید مورد استفاده قرار گیرد، به عنوان مثال، "1" شماره صفحه را فقط برای سطح اول حذف می کند.
ارائه هیچ محدوده سطح شماره صفحه را برای تمام سطوح در TOC حذف می کند. این مفید است برای تنظیم زمانی که صدور یک سند به HTML یا یک فرمت مشابه. این به این دلیل است که فرمت های مبتنی بر HTML هیچ مفهوم صفحه ای ندارند و بنابراین نیازی به شماره بندی صفحات ندارند.

![table-of-contents-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-7.png)

| | Insert as Hyperlinks
(DH Switch) |

این سوئیچ مشخص می کند که `TOC` ورودی ها به عنوان لینک ها وارد می شوند. هنگام مشاهده یک سند در Microsoft Word این ورودی ها هنوز به عنوان متن طبیعی در داخل ظاهر می شوند. `TOC` اما لینک شده اند و بنابراین می توان برای حرکت به موقعیت ورودی اصلی در سند با استفاده از *Ctrl + Left Click * در داخل سند استفاده کرد. Microsoft Word... هنگامی که این سوئیچ شامل می شود، این لینک ها نیز در فرمت های دیگر حفظ می شوند. به عنوان مثال، در فرمت های مبتنی بر HTML از جمله EPUB و فرمت های رندر شده مانند PDF و PDF XPS, این ها به عنوان لینک های کاری صادر می شوند.
بدون این تغییر، `TOC` در تمام این خروجی ها به عنوان متن ساده صادر می شود و این رفتار را نشان نمی دهد. اگر یک سند در MS Word باز شود، متن ورودی نیز به این ترتیب قابل کلیک نیست، اما هنوز هم می توان از اعداد صفحه برای حرکت به ورودی اصلی استفاده کرد.

![tree-table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-8.png)

| | **Set Separator Character**
(تغییرمسیر)
|

این سوئیچ اجازه می دهد تا محتوا عنوان ورودی و شماره صفحه را به راحتی در TOC تغییر دهد. جداکننده برای استفاده باید بعد از این سوئیچ مشخص شود و در نشانه های سخنرانی محصور شود.
بر خلاف آنچه که در اسناد آفیس ثبت شده است، تنها یک شخصیت را می توان به جای پنج تا از آن استفاده کرد. این امر برای هر دو MS Word و Aspose.Words...
استفاده از این سوئیچ توصیه نمی شود زیرا اجازه نمی دهد کنترل زیادی بر آنچه که برای جدا کردن ورودی ها و شماره های صفحه در TOC استفاده می شود. در عوض، توصیه می شود که مناسب را ویرایش کنید. `TOC` سبک هایی مانند `StyleIdentifier.TOC1` و از آنجا سبک رهبر را با دسترسی به اعضای فونت خاص و غیره ویرایش کنید. جزئیات بیشتر در مورد چگونگی انجام این کار می تواند بعدا در مقاله پیدا شود.

![list-table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-9.png)

| | **Preserve Tab Entries**
(تغییرمسیر) |

استفاده از این سوئیچ مشخص می کند که هر گونه ورودی که دارای یک کاراکتر تب است، به عنوان یک عنوان که دارای یک تب در انتهای خط است، به عنوان یک شخصیت مناسب در هنگام ارسال TOC حفظ خواهد شد. این بدان معنی است که عملکرد شخصیت تب در آن حضور خواهد داشت. `TOC` و می تواند برای فرمت ورودی استفاده شود. به عنوان مثال، برخی از ورودی ها ممکن است از توقف های زبانه و شخصیت های زبانه به طور مساوی فضای متن استفاده کنند. تا زمانی که مربوطه `TOC` سطح نشان می دهد که تب معادل متوقف می شود سپس تولید شده `TOC` ورودی ها با فاصله مشابه ظاهر می شوند.

در همان وضعیت اگر این سوئیچ تعریف نشود، شخصیت های تب به فضای سفید معادل تب های غیر عملکردی تبدیل می شوند. سپس خروجی به همان اندازه که انتظار می رود ظاهر نمی شود.

![tab-table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-10.png)

| | **Preserve New Line Entries**
(DX Switch)
|

همانند سوئیچ بالا، این سوئیچ مشخص می کند که سر و کله زدن بیش از چندین خط (با استفاده از شخصیت های خط جدید، نه پاراگراف های جداگانه) به عنوان آنها در TOC تولید شده حفظ خواهد شد. به عنوان مثال، یک عنوان که در چندین خط گسترش می یابد می تواند از شخصیت خط جدید (Ctrl + Enter یا Enter یا Enter) استفاده کند. `ControlChar.LineBreak`• جدا کردن محتوا در خطوط مختلف با این سوئیچ مشخص شده، ورود در `TOC` این شخصیت های خط جدید را همانطور که در زیر نشان داده شده است، حفظ می کند.

در این وضعیت، اگر سوئیچ تعریف نشود، شخصیت های خط جدید به یک فضای سفید تبدیل می شوند.

![tab-space-table-of-contents-field-aspose-words-java](/words/java/working-with-table-of-contents/how-to-insert-and-work-with-the-table-of-contents-field-11.png)

|

Insert TC Fields

شما می توانید یک میدان جدید TC را در موقعیت فعلی قرار دهید DocumentBuilder با دعوت DocumentBuilder.InsertField روش و مشخص کردن نام فیلد به عنوان “TC” همراه با هر سوئیچ که مورد نیاز است.

مثال کد زیر نشان می دهد که چگونه یک TC زمینه در سند با استفاده از DocumentBuilder

اغلب یک خط خاص از متن برای TOC و با یک TC زمینه راه آسان برای انجام این کار در MS Word این است که متن و مطبوعات *ALT+SHIFT+O را برجسته کنید. این به طور خودکار ایجاد یک TC فیلد با استفاده از متن انتخاب شده همان تکنیک را می توان از طریق کد انجام داد. کد زیر متن را مطابق با ورودی پیدا می کند و یک را وارد می کند. TC زمینه در همان موقعیت به عنوان متن. این کد بر اساس همان تکنیک مورد استفاده در مقاله است. مثال کد زیر نشان می دهد که چگونه یک را پیدا و وارد کنید TC زمینه در متن در یک سند

تغییر یک جدول از محتوا

تغییر فرمت سبک ها

قالب بندی ورودی ها در TOC از سبک های اصلی ورودی های مشخص شده استفاده نمی کند، در عوض، هر سطح با استفاده از یک معادل فرمت می شود. TOC سبک به عنوان مثال، اولین سطح در TOC قالب بندی شده با TOC1 سبک، سطح دوم با فرمت TOC2 سبک و غیره این بدان معنی است که تغییر نگاه TOC این سبک ها باید اصلاح شوند. In In In Aspose.Words این سبک ها توسط محلی مستقل نمایندگی می شوند StyleIdentifier.TOC1 از طریق StyleIdentifier.TOC9 و می تواند از طریق Document.Styles جمع آوری با استفاده از این شناسه ها

هنگامی که سبک مناسب سند بهبود یافته است قالب بندی برای این سبک می تواند اصلاح شود. هر گونه تغییر در این سبک ها به طور خودکار در TOCs در سند منعکس خواهد شد.

مثال کد زیر یک ویژگی قالب بندی را تغییر می دهد که در سطح اول استفاده می شود. TOC سبک

همچنین مفید است که توجه داشته باشید که هر قالب بندی مستقیم یک پاراگراف (که در خود پاراگراف تعریف شده و نه در سبک) مشخص شده است که در آن گنجانده شده است. TOC در ورودی TOC کپی خواهد شد. به عنوان مثال، اگر از سبک Heading 1 برای نشان دادن محتوا برای علامت گذاری استفاده شود. TOC و این سبک دارای قالب بندی Bold است در حالی که پاراگراف نیز دارای قالب بندی آن به طور مستقیم به آن اعمال می شود. نتیجه TOC ورود جسورانه نخواهد بود زیرا این بخشی از قالب بندی سبک است، اما آن را به عنوان آن را به طور مستقیم در پاراگراف فرمت شده است.

شما همچنین می توانید قالب بندی جداکننده های مورد استفاده بین هر ورودی و شماره صفحه را کنترل کنید. به طور پیش فرض، این یک خط مشخص است که در سراسر صفحه با استفاده از یک کاراکتر تب گسترش می یابد و یک برگه راست نزدیک به حاشیه راست است.

استفاده از Style کلاس بازیابی شده برای خاص TOC سطح شما می خواهید تغییر دهید، همچنین می توانید چگونگی ظاهر این موارد را در سند تغییر دهید.

تغییر این که چگونه به نظر می رسد در ابتدا Style.ParagraphFormat باید فراخوانده شود تا قالب پاراگراف را برای سبک بازیابی کند. از این، زبانه می تواند با تماس گرفتن بازیابی شود ParagraphFormat.TabStops و برگه مناسب اصلاح شده است. با استفاده از این تکنیک، خود تب را می توان به طور کامل منتقل یا حذف کرد.

مثال کد زیر نشان می دهد که چگونه موقعیت توقف سمت راست را تغییر دهید TOC پاراگراف های مرتبط

حذف جدول محتوا از سند

یک جدول از محتویات را می توان با حذف تمام گره های یافت شده بین سند حذف کرد. FieldStart دانلود بازی The Field End گره TOC زمینه

کد زیر این را نشان می دهد. حذف حذف TOC زمینه ساده تر از یک زمینه طبیعی است، زیرا ما پیگیری زمینه های لانه دار را ادامه نمی دهیم. در عوض، ما چک می کنیم FieldEnd گره از نوع FieldType.FieldTOC این بدان معنی است که ما با پایان TOC فعلی مواجه شده ایم. این تکنیک را می توان در این مورد بدون هیچ گونه نگرانی در مورد هر زمینه ای استفاده کرد، زیرا ما می توانیم فرض کنیم که هر سند به درستی شکل داده نشده است. TOC داخل یک دیگر TOC زمینه

اول FieldStart گره های هر TOC جمع آوری و ذخیره می شوند. مشخص شده TOC پس از آن همه گره ها در این زمینه بازدید و ذخیره می شوند. سپس گره ها از سند حذف می شوند. مثال کد زیر نشان می دهد که چگونه یک مثال مشخص را حذف کنیم TOC از یک سند

جدول استخراج محتوا

اگر می خواهید یک جدول از مطالب را از هر سند Word استخراج کنید، نمونه کد زیر می تواند مورد استفاده قرار گیرد.