עבודה עם שולחן של תוכן
לעתים קרובות תעבוד עם מסמכים המכילים שולחן תוכן (TOC). שימוש Aspose.Words באפשרותך להוסיף שולחן תוכן משלך או לבנות מחדש לחלוטין את שולחן התוכן הקיים במסמך באמצעות רק כמה שורות קוד.
מאמר זה מתאר כיצד לעבוד עם שולחן התוכן שדה ומדגים:
- כיצד להוסיף מותג חדש
- עדכונים חדשים או קיימים במסמך.
- מתגי ציין לשלוט בפורמט ובמבנה הכולל של TOC.
- כיצד לשנות את הסגנונות ואת המראה של שולחן התוכן.
- כיצד להסיר כל
TOC
שטח יחד עם כל הערכים מהמסמכים.
הכנס את שולחן התוכן באופן matically
אתה יכול להוסיף TOC
(שולחן התוכן) לתוך המסמך במיקום הנוכחי על ידי קריאה InsertTableOfContents שיטה.
ניתן לבנות טבלה של תוכן במסמך Word במספר דרכים ותבנית באמצעות מגוון אפשרויות. מתגי השדה שאתה עובר אל השיטה שולטים בדרך שבה השולחן בנוי ומוצג במסמך שלך.
מתגי ברירת המחדל המשמשים TOC
נכנס Microsoft Word הם ““13\h/z\u”. תיאורים של מתגים אלה, כמו גם רשימה של מתגים נתמך ניתן למצוא מאוחר יותר במאמר. אתה יכול להשתמש מדריך זה כדי להשיג את מתגים הנכונים או אם יש לך כבר מסמך המכיל דומה TOC
אתה רוצה שאתה יכול להציג קודים שדה (ALT+F9) ולהעתיק את המתגים ישירות מהשדה.
הדוגמה הבאה של הקוד מראה כיצד להכניס טבלת תכנים לתוך מסמך:
הדוגמה הבאה של הקוד ממחישה כיצד להכניס שולחן של תוכן (TOC) למסמך באמצעות סגנונות כותרת כערכים:
הקוד מדגים את שולחן התוכן החדש מוכנס לתוך מסמך ריק. The The The DocumentBuilder לאחר מכן, הכיתה משמשת כדי להוסיף כמה תוכן מדגם פורמט עם סגנונות כותרת מתאימים המשמשים כדי לסמן את התוכן כדי להיות כלול ב- TOC. הקווים הבאים מבלבלים את TOC
על ידי עדכון השדות ואת פריסת העמוד של המסמך.
TOC
שדה, אך ללא תוכן גלוי. זה בגלל TOC
השדה הוחדר אך עדיין לא מיושב עד שהוא מעודכן במסמך. מידע נוסף על כך נדון בסעיף הבא.
עדכון שולחן התוכן
Aspose.Words מאפשר לך לעדכן לחלוטין TOC
עם רק כמה שורות קוד. זה יכול להיעשות כדי למפות חדש TOC
או לעדכן קיים TOC
לאחר שינויים במסמך נעשו.
יש להשתמש בשתי השיטות הבאות כדי לעדכן את TOC
שדות במסמך:
אנא שימו לב כי שתי שיטות עדכון אלה נדרשות כדי להיקרא בסדר זה. אם הפוך את שולחן התוכן יהיה מאוכלס, אבל לא יופיעו מספרי דף. ניתן לעדכן כל מספר של TOCs שונים. שיטות אלה יעודכנו אוטומטית את כל ה- TOCs שנמצאו במסמך.
דוגמה לקוד הבא מראה כיצד לבנות מחדש לחלוטין TOC
שדות במסמך על ידי הפצת עדכוני שדה:
הקריאה הראשונה Document.updateFields() נבנה את <span notrans="<span notrans=” TOC
"="">" כל הודעות הטקסט מאוכלסות וה TOC
נראה כמעט שלם. הדבר היחיד שחסר לו הוא מספרי העמוד שכרגע מוצגים ב"?
הקריאה השניה Document.updatePageLayout() נבנה את הפריסה של המסמך בזיכרון. זה צריך להיעשות כדי לאסוף את מספרי העמוד של הערכים. מספרי העמוד הנכון המחושבים מהקריאה זו מוכנסים ל- TOC.
השתמש ב-Switches to Control Table of Contents Behavior
כמו בכל תחום אחר, TOC
שדה יכול לקבל מתגים המוגדרים בתוך קוד השדה השולט כיצד נבנה שולחן התוכן. מתגים מסוימים משמשים כדי לשלוט אילו ערכים כלולים ובאיזו רמה בעוד אחרים משמשים כדי לשלוט במראה של TOC. ניתן לשלב את ה-Switchs יחד כדי לאפשר יצירת שולחן מורכב של תוכן.
כברירת מחדל, מתגים אלה לעיל כלולים בעת הוספת ברירת מחדל TOC
במסמך. A A A TOC
ללא מתגים יכלול תוכן מסגנונות הכותרת המובנות (כמו אם מתג ה-O מוגדר).
זמין TOC
מתגים הנתמכות על ידי Aspose.Words להלן והשימושים שלהם מתוארים בפירוט. ניתן לחלק אותם לחלקים נפרדים המבוססים על סוגם. המתגים בסעיף הראשון מגדירים מה התוכן לכלול בסעיף הראשון TOC
והמתגים בחלק השני שולטים במראה של TOC.
אם מתג לא מופיע כאן אז זה לא נתמך. כל המתגים יתמכו בגרסאות עתידיות. אנו מוסיפים תמיכה נוספת לכל שחרור.
תגית: Switches
Switch Switch Switch Switch | תיאור תיאור |
---|---|
Heading Styles (O Switch) |
מתג זה מגדיר כי |
![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. לדוגמה, פסקה עם ראש סגנון 1 תתייחס לרמה הראשונה של `TOC` בעוד שפסקה עם ראש 2 תטופל כרמה הבאה בהיררכיה וכך הלאה.
(\U מתג)
|
כל סעיף יכול להגדיר רמת קווי מתאר תחת אפשרויות סעיף.
![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)
הגדרה זו תכתיב באיזו רמה יש להתייחס לסעיף זה בהיררכיה של המסמך. זהו תרגול נפוץ המשמש כדי לבנות בקלות את הפריסה של מסמך. היררכיה זו ניתן לראות על ידי שינוי בתצוגת Outline Microsoft Word. בדומה לסגנונות כותרת, ניתן להיות 1-9 רמות מתאר בנוסף לרמה "Body Text". רמות 1 - 9 יופיעו `TOC` ברמה המקבילה של ההיררכיה
כל תוכן עם רמת מתאר מוגדר בסגנון פסקה או ישירות על הסעיף עצמו נכלל ב- TOC. In In In Aspose.Words רמת המתאר מיוצגת על ידי `ParagraphFormat.OutlineLevel` רכושו של ה- Paragraph node רמת המתאר של סגנון פסקה מיוצגת באותו אופן על ידי `Style.ParagraphFormat` רכוש.
שים לב כי סגנונות כותרת בנויים כגון Heading 1 יש סט חובה ברמת מתווה בהגדרות סגנון.
(\T מתג)
|
מתג זה יאפשר סגנונות מותאמים אישית לשמש בעת איסוף ערכים לשימוש ב- TOC. זה משמש לעתים קרובות בשילוב עם מתג "O" כדי לכלול סגנונות מותאם אישית יחד עם סגנונות כותרת מובנה ב TOC.
הפרמטרים של מתג צריך להיות סגור בתוך סימני דיבור. סגנונות מותאמים רבים ניתן לכלול, עבור כל סגנון, את השם צריך להיות שצוין ואחריו תואר ואחריו הרמה כי הסגנון צריך להופיע. `TOC` כמו. סגנונות נוספים מופרדים גם על ידי קודמה.
למשל
{ TOC \o "1-3" \t "CustomHeading1, 1, CustomHeading2, 2"}
יהיה להשתמש בתוכן מעוצב עם CustomHeading1 כתוכן 1 ברמה `TOC` ו- CustomHeading2 כרמה 2.
| | שדות TC(\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 `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 `TC` גם לשדות עצמם יש {several, `multiple`, a few, `many`, numerous} מתגים להגדיר. אלה הם:
F - הסבר למעלה. *
תגית: Defines that Level in the `TOC` שדה TC זה יופיע. A A A `TOC` שימוש באותו מתג יכלול רק שדה TC זה אם הוא בטווח שצוין.
תגית: העמוד מספר על כך `TOC` הכניסה אינה מוצגת. קוד דוגמאות של איך להכניס שדות TC ניתן למצוא בסעיף הבא.
|תגית: Switches
Switch Switch Switch Switch | תיאור תיאור |
---|---|
Omit Page Numbers (N Switch) |
מתג זה משמש כדי להסתיר מספרי דף עבור רמות מסוימות של TOC. לדוגמה, אתה יכול להגדיר |
{TOC \o "1-4" \n "3-4" }
ומספר העמודים על ערכים של רמות 3 וארבעה יסתרו יחד עם המנהיגים (אם יש כאלה). כדי לציין רק רמה אחת יש להשתמש בטווח, לדוגמה, "1-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)
| | המונחים: Hyperlinks(H Switch) |
מתג זה מפרט כי `TOC` ערכים מוכנסים כמו Hyperlinks. בעת צפייה במסמך Microsoft Word ערכים אלה עדיין מופיעים כטקסט רגיל בתוך `TOC` אבל הם היפר-קישורים ובכך ניתן להשתמש כדי לנווט את המיקום של הכניסה המקורית במסמך על ידי שימוש *Ctrl + שמאל 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**(\P Switch)
|
מתג זה מאפשר את התוכן המפריד את הכותרת של כניסה ועמוד מספרינג להיות שונה בקלות ב- TOC. המבדיל לשימוש צריך להיות מוגדר לאחר מתג זה וסגור סימני דיבור.
בניגוד למה שמתועד בתיעוד Office, ניתן להשתמש רק דמות אחת במקום עד 5. זה חל גם על 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**(W Switch) |
באמצעות מתג זה יהיה לציין כי כל ערכים שיש להם אופי הכרטיסייה, למשל, כותרת שיש לו כרטיסה בסוף הקו, יישמרו כדמות כרטיסיה נאותה כאשר מאוכלסים את 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**(x Switch)
|
בדומה למתג לעיל, specifies מתג זה כותרות המשתרעות על פני קווים מרובים (באמצעות דמויות חדשות, לא פסקאות נפרדות) יישמרו כפי שהם מיוצרים 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)
|שדות TC
ניתן להוסיף שדה TC חדש במיקום הנוכחי של DocumentBuilder
על ידי call the 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. לדוגמה, אם סגנון ראש 1 משמש לסמן תוכן עבור TOC
ולסגנון זה יש פורמט Bold בעוד לפסקה יש גם פורמט healic החל ישירות על זה. התוצאה TOC
הכניסה לא תהיה נועזת משום שהיא חלק מעיצוב סגנון, אך היא תהיה איתקלית כפי שהיא מעוצבת ישירות בפסקה.
אתה יכול גם לשלוט בפורמט של מפרידים המשמשים בין כל כניסה ומספר העמוד. כברירת מחדל, זהו קו ספארי שמתפשט אל הדף המספר באמצעות דמות לשונית וכרטיסיה נכונה להפסיק קו ישר קרוב בשולי הנכון.
באמצעות Style
שיעור נלקח עבור הספציפי TOC
ברמה שאתה רוצה לשנות, אתה יכול גם לשנות איך אלה מופיעים במסמך.
לשנות איך זה מופיע לראשונה Style.ParagraphFormat
יש לקרוא כדי לאחזר את הסעיף לסגנון. מכאן ניתן להחזיר את הכרטיסייה באמצעות קריאה ParagraphFormat.TabStops
הכרטיסיה המתאימה מפסיקת להשתנות. באמצעות אותה טכניקה ניתן להעביר את הכרטיסיה עצמה או להסיר לחלוטין.
הדוגמה הבאה של הקוד מראה כיצד לשנות את המיקום של הכרטיסייה הנכונה לעצור TOC
סעיפים קשורים
להסיר שולחן של תכנים מהמסמכים
טבלה של תוכן ניתן להסיר מן המסמך על ידי הסרת כל הנקודות שנמצאו בין FieldStart
סוף השדה TOC
שדה.
הקוד למטה מדגים את זה. הסרת TOC
שדה הוא פשוט יותר מאשר שדה רגיל כפי שאנחנו לא עוקבים אחר שדות מזוינים. במקום זאת, אנחנו בודקים את FieldEnd
Node הוא סוג FieldType.FieldTOC
כלומר, נתקלנו בסוף ה- TOC הנוכחי. טכניקה זו ניתן להשתמש במקרה זה ללא דאגה לגבי כל שדות מקוננות כפי שאנו יכולים להניח כי כל מסמך שנוצר כראוי לא יהיה קן מלא. TOC
שדה בתוך שדה אחר TOC
שדה.
ראשית, FieldStart
צומת של כל TOC
נאספים ומאוחסנים. המונחים: TOC
לאחר מכן הוא נחשב כך שכל הצמתים בתוך השדה מבקרים ומאוחסנים. הצמתים הוסרו מן המסמך. הדוגמה הבאה של הקוד מוכיחה כיצד להסיר את ההודעה TOC
מתוך מסמך.
טבלה של תוכן
אם אתה רוצה להוציא טבלה של תוכן מכל מסמך Word, ניתן להשתמש במדגם הקוד הבא.