שדות

Aspose.Words היא ספריית כיתה המיועדת לעיבוד לצד השרת של Microsoft Word מסמכים ותומכים בתחומים בדרכים הבאות:

  • כל השדות במסמך נשמרים במהלך פתוח / גילוח והמרות
  • ניתן לעדכן תוצאות של רוב התחומים

במאמר זה נלמד עוד על מבנה שדה, התחומים הנתמכות בו. Aspose.Words, פרטים על עבודה עם שדות כאלה.

מבנה שדה

שדה מורכב:

    • תחילת השדה ונקודות קצה משמשות כדי לכלול את התוכן שמרכיבים את קוד השדה (בדרך כלל כטקסט רגיל).
  • קצה השדה והשדה כולל את התוצאה של השדה. זה יכול להיות מורכב סוגים שונים של תוכן החל מריצה של טקסט עד פסקאות לטבלאות.
  • שדות מסוימים עשויים לא להיות מפריד, כלומר כל התוכן יוצר את קוד השדה.
    • קוד השדה מגדיר את ההתנהגות של השדה והוא מורכב מזהה שדה ולעתים קרובות פרמטרים אחרים כגון שם שדה ומתגים.
    • התוצאה של השדה מכילה את ההערכה האחרונה של התחום. ערך זה נשמר בתוצאה השדה והוא מה שמוצג למשתמש. ייתכן שלתחומים מסוימים אין תוצאה של שדה ולכן לא יציגו שום דבר במסמך. כמו כן, ייתכן שתחומים מסוימים עדיין לא מעודכנים ולכן גם לא יהיו תוצאות שדה.

fields-aspose-words

התוכן שהופך את קוד השדה נשמר כמו Run צומת בין FieldStart ו FieldSeparator. התוצאה של השדה נשמרת בין FieldSeparator ו FieldEnd צמתים וניתן להמציא סוגים שונים של תוכן. בדרך כלל התוצאה של השדה מכילה רק טקסט עשוי Run אבל זה אפשרי עבור FieldEnd צומת להיות ממוקם בפסקה שונה לחלוטין, ובכך להפוך את התוצאה שדה מורכב של רמות לוגיות של נקודות במסמך כגון Table ו Paragraph גם חסרונות.

הנה מבט על איך שדה מאוחסן Aspose.Words על ידי שימוש ב-“DocumentExplorer” *דוגמה שניתן למצוא Github.

document-explorer-aspose-words

שדות Aspose.Words Document Object Model ()DOM)

כאשר מסמך טעון Aspose.Words, שדות המסמך טעונים לתוך Aspose.Words Document Object Model (DOM) קבוצה של רכיבים נפרדים (nodes). שדה אחד טעון כאוסף של FieldStart, FieldSeparator ו FieldEnd יחד עם התוכן בין נקודות אלה. אם לשדה אין תוצאה של שדה אז לא יהיה FieldSeparator צומת. כל הצמתים האלה תמיד נמצאים בקו הפנימי (כילדים של Paragraph או SmartTag.

In In In Aspose.Words כל אחד FieldXXX צמתים נובעים FieldChar. מעמד זה מספק נכס כדי לבדוק את סוג השדה המיוצג על ידי הצומת שצוין דרך הצומת שצוין. FieldType רכוש. לדוגמא FieldType.FieldMergeField מייצג שדה מיזוג במסמך.

שדות

חישוב השדות הבאים נתמך בגרסה הנוכחית של Aspose.Words:

  • המונחים: (formula)
  • ADDRESSBLOCK
  • ASK
  • AUTHOR
  • AUTONUM
  • AUTONUMLGL
  • AUTONUMOUT
  • AUTOTEXT
  • BARCODE
  • COMMENTS
  • COMPARE
  • CREATEDATE
  • DATABASE
  • DATE
  • DISPLAYBARCODE
  • DOCPROPERTY
  • DOCVARIABLE
  • EDITTIME
  • EQ
  • FILENAME
  • FILESIZE
  • FILLIN
  • FORMCHECKBOX
  • FORMDROPDOWN
  • FORMTEXT
  • GLOSSARY
  • GOTOBUTTON
  • GREETINGLINE
  • HYPERLINK
  • IF
  • IMPORT
  • INCLUDE
  • INCLUDEPICTURE
  • INCLUDETEXT
  • INDEX
  • INFO
  • KEYWORDS
  • LASTSAVEDBY
  • LISTNUM
  • MACROBUTTON
  • MERGEBARCODE
  • MERGEFIELD
  • MERGEREC
  • MERGESEQ
  • NEXT
  • NEXTIF
  • NOTEREF
  • NUMCHARS
  • NUMPAGES
  • NUMWORDS
  • PAGE
  • PAGEREF
  • PRINTDATE
  • QUOTE
  • REF
  • REVNUM
  • SAVEDATE
  • SECTION
  • SECTIONPAGES
  • SEQ
  • SET
  • SHAPE
  • SKIPIF
  • STYLEREF
  • SUBJECT
  • SYMBOL
  • TEMPLATE
  • TIME
  • TITLE
  • TOA
  • TOC
  • USERADDRESS
  • USERINITIALS
  • USERNAME

שדה שדה מבוזר

Aspose.Words עקבו אחרי The Way Microsoft Word תהליכים שדות וכתוצאה מכך הוא מטפל נכון:

  • שדות נטושים: IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"
  • טיעון שדה יכול להיות תוצאה של שדה מקונן
  • שדות ניתן לקנן בתוך קוד שדה, כמו גם בתוצאות שדה
  • חללים / אין חללים, ציטוטים / לא ציטוטים, בריחה דמויות בתחומים וכו ‘: MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\e
  • שדות המשתרעים על פני סעיפים מרובים

פורמולה שדות

Aspose.Words מספק יישום רציני מאוד של מנוע הנוסחה ותומך הבאים:

  • מפעילי אנתרופולוגיה ומפעילים לוגיים: =(54+4*(6-77)-(5))+(-6-5)/4/5
  • פונקציות: =ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"
  • תגיות קשורות Bookmarks: =IF(C>4, 5,ABS(A)*.76) +3.85
  • מספר מתגים: =00000000 \\\# "$#,##0.00;($#,##0.00)"

הפונקציות הבאות בביטויים נתמכות: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.

IF ו COMPARE שדות שדות שדות

רק חלק IF ביטויים Aspose.Words יכול בקלות לחשב צריך לתת לך מושג כמה חזק תכונה זו היא:

  • IF 3 > 5.7^4+MAX(4,3) True False
  • IF "abcd" > "abc" True False
  • IF "?ab*" = "1abdsg" True False
  • IF 4 = "2*2" True False
  • COMPARE 3+5/34 < 4.6/3/2

DATE ו TIME שדות שדות שדות

Aspose.Words תומך בכל מתגי התאריך והשעה הזמינים Microsoft Word, כמה דוגמאות הן:

  • DATE @ "d-MMM-yy"
  • DATE @ "d/MM/yyyy h:mm am/pm

Mail Merge שדות שדות שדות

Aspose.Words אין הגבלה על המורכבות של mail merge שדות במסמכים שלך ותומכת קינון IF שדות פורמולה ויכולים אפילו לחשב את שם שדה המיזוג באמצעות נוסחה.

כמה דוגמאות mail merge שדות Aspose.Words תמיכה:

    • Mail merge מתגי שדה: MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "
  • שדות מתמזגים קפואים בנוסחה: IF { תגית: meRGFIELDValue1 } >= {תגית: meRGFIELD Value2 } True False
  • לחשב את שם שדה המיזוג בזמן ריצה: MERGEFIELD { IF{תגית: meRGFIELDValue1 } >= {תגית: meRGFIELD Value2 } FirstName"LastName" }
  • • העברה מותנית לתיעוד הבא במקור הנתונים: NEXTIF { תגית: meRGFIELDValue1 } <= { =IF(-2.45 >= 6*{תגית: meRGFIELD Value2 }, 2, -.45) }

פורמט Switches

שדה במסמך יכול להיות מתגי פורמט המציין כיצד יש לעצב את הערך המתקבל. Aspose.Words תומך מתגי פורמט הבאים:

  • המונחים: date and time Format
  • המונחים: number
  • תגית: Caps
  • שם הסרטון: FirstCap
  • המונחים:
  • תגית* עליון עליון
  • המונחים: CHARFORMAT - פורמט התוצאה לפי האופי הראשון של קוד השדה
  • • MERGEFORMAT - תוצאה של פורמט לפי האופן שבו התוצאה הישנה מעוצבת

Date מספר עיצוב שדות

מתי Aspose.Words חישוב תוצאה של שדה, זה לעתים קרובות צריך לחלק מחרוזת לתוך מספר או תאריך ערך וכן לעצב אותו בחזרה למחרוזת. כברירת מחדל Aspose.Words משתמשת בתרבות החוט הנוכחית כדי לבצע parsing ופורמטיקה בעת חישוב ערכי שדה במהלך עדכון שדה ועדכונים. mail merge. יש גם אפשרויות הניתנים בצורת FieldOptions מעמד המאפשר שליטה נוספת על איזו תרבות משמשת במהלך עדכון שדה.

  • כברירת מחדל FieldUpdateCultureSource הנכס נקבע CurrentThread אילו שדות משתמשים בתרבות החוט הנוכחית
  • הנכס הזה יכול להיות מוגדר FieldCode לכן השפה שנקבעה מקוד השדה של השדה משמשת לפורמט במקום

עיצוב באמצעות התרבות הנוכחית של

כדי לשלוט בתרבות המשמשת במהלך חישוב שדה, רק להגדיר את Thread.CurrentThread.CurrentCulture נכס לתרבות של הבחירה שלך לפני קבלת חישוב שדה.

הדוגמה הבאה של הקוד מראה כיצד לשנות את התרבות המשמשת בתבנית שדות במהלך העדכון:

שימוש בתרבות הנוכחית לפורמט שדות מאפשר למערכת לשלוט בקלות ובעקביות כיצד כל התחומים במסמך מעוצבים במהלך עדכון שדה.

עיצוב התרבות במסמך

מצד שני, Microsoft Word פורמטים כל שדה בודד מבוסס על שפת הטקסט שנמצאו בשטח (במיוחד, את הריצה מקוד השדה). לפעמים במהלך עדכון שדה זה עשוי להיות ההתנהגות הרצויה, למשל אם יש לך מסמכים גלובליים המכילים תוכן המורכב משפות רבות ושונות ירצה כל שדות לכבד את המקומיים המשמש הטקסט. Aspose.Words תומך גם בפונקציונליות זו.

The The The Document הכיתה מספקת FieldOptions רכוש המכיל חברים אשר ניתן להשתמש כדי לשלוט כיצד שדות מעודכנים בתוך המסמך.

הדוגמה הבאה של הקוד מראה כיצד לציין היכן התרבות המשמשת לפורמט תאריך במהלך עדכון שדה ועדכונים. mail merge נבחר מ: