בניית שדות עם FieldBuilder

בניית שדות עם FieldBuilder

בניית שדות עם FieldBuilder

מדריך זה מראה כיצד לבנות שדה Word מאפס ב-Aspose.Words FOSS עבור .NET באמצעות FieldBuilder and FieldArgumentBuilder, במקום לעבוד עם שדה שכבר קיים במסמך. לקריאה, עדכון או הסרה של שדות קיימים, ראו את עבודה עם שדות המדריך.


יצירת שדה עם FieldBuilder

FieldBuilder בונה שדה מאסימוני קוד השדה — ארגומנטים ומתגים. בנה אחד עם new FieldBuilder(fieldType), ומעביר את ה-FieldType של השדה שברצונך לבנות. הוסף ארגומנטים באמצעות השיטה העמוסת AddArgument(argument), שמקבלת string, int, double, FieldBuilder מקונן, או FieldArgumentBuilder. הוסף מתגים באמצעות השיטות העמוסות AddSwitch(switchName), AddSwitch(switchName, switchArgument) (string), או AddSwitch(switchName, switchArgument) (int/double).


הכנסת השדה שנבנה

לאחר ש-FieldBuilder יש לו את הארגומנטים והמתגים שלו, קרא ל-BuildAndInsert(refNode) כדי להכניסו למסמך — גרסה אחת מקבלת צומת Inline ומכניסה את השדה לפניו, וגרסה אחרת מקבלת Paragraph ומכניסה את השדה בסוף הפסקה ההיא.


יצירת ארגומנטים מורכבים עם FieldArgumentBuilder

FieldArgumentBuilder בונה ארגומנט שדה מורכב המורכב משדות, צמתים וטקסט רגיל, למקרים שבהם ארגומנט יחיד זקוק ליותר ממחרוזת רגילה. בנה אחד עם new FieldArgumentBuilder(), ואז קרא AddText(text) כדי להוסיף טקסט רגיל, AddNode(node) כדי להוסיף צומת Inline, או AddField(fieldBuilder) כדי לקנן שדה נוסף (שנבנה עם ה-FieldBuilder שלו) בתוך הארגומנט. העבר את ה-FieldArgumentBuilder המלא ל-FieldBuilder.AddArgument(argument) כדי להשתמש בו כאחד מהארגומנטים של השדה החיצוני.


טיפים ושיטות מומלצות

  • השתמש ב-FieldBuilder כאשר בונים סוג שדה שאינו מגובה על ידי אחת ממחלקות השדה הייעודיות (כגון FieldDate או FieldSymbol), או כאשר מייצרים קודי שדה באופן תוכניתי מנתונים במקום לכתוב אותם ידנית.
  • הקנא שדה ילד בתוך ארגומנט של שדה חיצוני באמצעות FieldBuilder.AddArgument(FieldBuilder) במקרה פשוט, או בנה ארגומנט מעורב של טקסט, צמתים ושדות מקוננים באמצעות FieldArgumentBuilder כאשר הארגומנט הוא יותר משדה יחיד.
  • בחר את העומס של BuildAndInsert(refNode) שתואם למיקום שבו אתה רוצה שהשדה יתמקם — לפני צומת Inline ספציפי, או בסוף Paragraph.
  • לאחר BuildAndInsert, התייחס לתוצאה כמו לכל שדה אחר בעץ — למשל, קרא Update() עליו אם סוג השדה דורש חישוב מחדש מפורש.

בעיות נפוצות

בעיהסיבהפתרון
BuildAndInsert מכוונת למיקום השגויהעמיסה הלא נכונה שומשה לנקודת ההוספה המיועדתהעבר צומת Inline כדי להכניס לפניו, או Paragraph כדי להכניס בסופו
ארגומנט שדה אינו מקבל טקסט רגיל וצומת יחדAddArgument קרא עם string/int/double יחיד במקום ארגומנט מורכבבנה את הארגומנט המעורב עם FieldArgumentBuilder (AddText, AddNode, AddField) והעבר אותו לAddArgument
ערך המתג אינו מזוהה בקוד השדה שנבנהAddSwitch(switchName) שומש כאשר המתג בפועל צריך ארגומנטהשתמש בעומס AddSwitch(switchName, switchArgument) עם ערך המתג כמחרוזת, int, או double

FAQ

מתי עליי להשתמש ב-FieldBuilder במקום להכניס קוד שדה שהוכן מראש?

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

איך מוסיפים יותר מארגומנט אחד לשדה?

קרא ל-AddArgument פעם אחת לכל ארגומנט — הוא עומס יתר עבור string, int, double, FieldBuilder מקונן, ו-FieldArgumentBuilder.

האם אפשר לבנות שדה שהארגומנט שלו מכיל תערובת של טקסט ושדה נוסף?

כן — השתמש ב-FieldArgumentBuilder, וקרא ל-AddText, AddNode ו-AddField לפי הצורך, ואז העבר זאת ל-FieldBuilder.AddArgument.

איך אני בעצם משים את השדה שנבנה במסמך?

קרא ל-BuildAndInsert(refNode), ומעביר או צומת Inline (מכניס לפניו) או Paragraph (מכניס בסופו).


API Reference סיכום

מחלקה/מתודהתיאור
FieldBuilderבונה שדה מאסימוני קוד שדה (ארגומנטים ומתגים)
FieldBuilder(fieldType)קונסטרוקטור הלוקח את FieldType לבנייה
FieldBuilder.AddArgument(argument)מוסיף ארגומנט (string, int, double, FieldBuilder או FieldArgumentBuilder)
FieldBuilder.AddSwitch(switchName) / AddSwitch(switchName, switchArgument)מוסיף מתג שדה, עם או בלי ערך
FieldBuilder.BuildAndInsert(refNode)מכניס את השדה שנבנה לפני צומת Inline או בסוף Paragraph
FieldArgumentBuilderבונה ארגומנט שדה מורכב מטקסט, צמתים ושדות מקוננים
FieldArgumentBuilder.AddText(text)מוסיף טקסט פשוט לארגומנט
FieldArgumentBuilder.AddNode(node)מוסיף צומת Inline לטיעון
FieldArgumentBuilder.AddField(fieldBuilder)מקנן שדה שנבנה על-ידי FieldBuilder בטיעון

ראה גם

 עברית