שדות מספור (AUTONUM, PAGE, SEQ, ועוד)
שדות מיספור (AUTONUM, PAGE, SEQ, ועוד)
מדריך זה מציג כיצד לעבוד עם שדות המספור האוטומטי של Word ב Aspose.Words קוד פתוח חופשי עבור .NET, וכיצד הם שונים ממספור מבוסס רשימות. עבודה עם רשימות covers List, ListFormat, ו ListLevel – מודל האובייקטים מאחורי פסקאות רשימות ממוספרות ומסומנות ב-Word. ל-Word יש גם משפחה נפרדת של מספור fields שמחוש מספר במיקום השדה בטקסט, במקום דרך עיצוב רשימת פסקאות: מספור אוטומטי חוקי ומתווה, מונים של דף וקטע, מספור מקושר לרשימה, ורצפים עם שמות. הוא מודל כל אחד כ Field מחלקה משנה ב Aspose.Words.Fields מרחב שמות, בנוסף NumberStyle enum משותף לרמות רשימות, הערות שוליים והערות סיום, ולמספרי עמודים לבחירת איך מספר מוצג.
שדות מיספור אוטומטי: AUTONUM, AUTONUMLGL, AUTONUMOUT
FieldAutoNum מיישם את AUTONUM שדה (מספור רציף פשוט) ומחשוף 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 הוא האינום המשמש ברמות רשימות, מספור הערות שוליים/סופיות, ובמספרי עמודים לבחירת אופן הצגת המספר. סגנונות נפוצים כוללים את Arabic, UppercaseRoman / LowercaseRoman, UppercaseLetter / LowercaseLetter, Ordinal, ו-OrdinalText, לצד סט רחב של סגנונות ייחודיים לשפה (Kanji, Hangul, Hanja, ThaiLetter, HindiLetter1, והרבה אחרים) ועוד Bullet, LeadingZero, None, ו-Custom עבור פורמט שסופק על ידי הקורא.
טיפים ושיטות עבודה מומלצות
- השתמש ב-
FieldListNumכאשר מספר צריך להתייחס להגדרה קיימת של רשימה בשם; השתמש ב-FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOutעבור מספור שאינו קשור ל-Listספציפי. - זכור ש-
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") בכל מופע של השדה; כל אחד מציג את המספר הבא באותו רצף.
איך לשלוט באיזה סגנון מספר או אות מוצג המספר?
השתמש במונה NumberStyle – ערכים כגון Arabic, UppercaseRoman, LowercaseLetter, ו-OrdinalText בוחרים את סגנון ההצגה, יחד עם Bullet, None, ו-Custom עבור פורמטים שאינם מספריים או שסופקו על ידי הקורא.
API Reference סיכום
| מחלקה / Enum | תיאור |
|---|---|
FieldAutoNum | AUTONUM שדה; SeparatorCharacter |
FieldAutoNumLgl | AUTONUMLGL שדה; RemoveTrailingPeriod, SeparatorCharacter |
FieldAutoNumOut | AUTONUMOUT שדה |
FieldListNum | LISTNUM שדה; ListName, HasListName, ListLevel, StartingNumber |
FieldPage | PAGE שדה (תלוי בפריסה; מתקבל כ 0 בגרסה זו) |
FieldSection | SECTION שדה |
FieldSectionPages | SECTIONPAGES שדה (תלוי בפריסה; מתקבל כ 0 בגרסה זו) |
FieldSeq | SEQ שדה; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel |
FieldRevNum | REVNUM שדה |
NumberStyle | Enum של סגנונות הצגת מספרים המשמשים ברמות רשימות, הערות שוליים/הערות סיום, ובמספרי עמודים |