עבודה עם טקסט

עבודה עם טקסט

הטקסט במסמך Word מאורגן לצמתים Run (תווים רצופים החולקים את אותה עיצוב גופן) הקבוצים בתוך צמתים Paragraph. Aspose.Words FOSS עבור .NET חושף את שניהם ישירות, יחד עם Font לעיצוב תווים, ParagraphFormat לעיצוב ברמת פסקה, ו-Range לקריאה או החלפת טקסט על כל חלק מהעץ. מדריך זה מכסה רצים וגופנים, עיצוב פסקאות, קריאה והחלפת טקסט, הערות, ועיצוב רשימות ברמת פסקה.


רצים ועיצוב תווים

Run מייצג קטע טקסט שחולק סט עיצוב יחיד; המאפיין Text שלו מכיל את תוכן הטקסט הפשוט והמִאפיין Font שלו (אובייקט Font) מכיל עיצוב ברמת תו — Name, Size, Bold, Italic, Underline, Color, HighlightColor, Subscript/Superscript, StrikeThrough, ועוד רבים. Font.ClearFormatting() מאפסת את גופן הרץ לברירות המחדל. הרצים של פסקה זמינים דרך המאפיין Runs שלה, RunCollection.


פסקאות ועיצוב פסקאות

Paragraph הוא צומת מורכב המכיל את הרצים (וכן תוכן פנימי נוסף) של פסקה אחת; הפסקאות של מסמך או גוף נחשפות כ־ParagraphCollection (Body.Paragraphs). Paragraph.ParagraphFormat (אובייקט ParagraphFormat) שולט בתצורת רמת הפסקה — Alignment, הזחות (LeftIndent, RightIndent, FirstLineIndent), ריווח (SpaceBefore, SpaceAfter, LineSpacing, LineSpacingRule), והתנהגות עימוד (KeepTogether, KeepWithNext, PageBreakBefore, WidowControl). ParagraphFormat.ClearFormatting() מאפסת את אלה לברירות המחדל, ו-Paragraph.JoinRunsWithSameFormatting() ממזגת רצפים סמוכים שנושאים עיצוב זהה.


קריאה והחלפת טקסט עם טווח

כל צומת שמכיל תוכן — Document, Section, Paragraph או Run — חושף Range. Range.Text מחזיר את הטקסט הפשוט של כל מה שנמצא בטווח הזה, ו-Range.Replace(pattern, replacement) מבצע חיפוש והחלפה המוגבל רק לטווח הזה, כך שאתה יכול, למשל, להחליף טקסט בתוך פסקה אחת מבלי לשנות את שאר המסמך. Range.Delete() מסיר לחלוטין את תוכן הטווח.


Comments

צומת Comment מעוגן הערה למיקום בטקסט; בנה אחת עם new Comment(doc, author, initial, dateTime) וקבע את טקסט הגוף שלה עם SetText(text), ואז הכנס אותה למסמך כמו כל צומת אחר. Comment.AddReply(author, initial, dateTime, text) מצרף תגובה משורשרת, ו-RemoveReply(reply) / RemoveAllReplies() מסירים אותם. ההערות של מסמך נאספות ב-CommentCollection.


עיצוב רשימות ברמת הפסקה

Paragraph.ListFormat (אובייקט ListFormat) מדווח ושולט האם פסקה היא חלק מרשימה: IsListItem ו-ListLevelNumber מדווחים על המצב הנוכחי שלה, ApplyBulletDefault() ו-ApplyNumberDefault() הופכים פסקה לפריט רשימה מודגש או ממוספר ברירת מחדל, ListIndent() / ListOutdent() משנים את רמת הקידוד של הרשימה, ו-RemoveNumbers() מחזיר אותה לפסקה רגילה.


טיפים ושיטות העבודה הטובות ביותר

  • הגדר את מאפייני הגופן ב-DocumentBuilder.Font לפני כתיבת הטקסט עם הבונה, במקום לכתוב את הטקסט תחילה ולבצע עיצוב מחדש של עצמים Run בודדים אחר כך.
  • הגבל את Range.Replace לטווח הקטן ביותר שמכסה את מה שאתה באמת רוצה לשנות — קרא לו בטווח של Paragraph או של Section במקום על כל המסמך כאשר השינוי אינו אמור לחול על כל המסמך.
  • הפעל את Paragraph.JoinRunsWithSameFormatting() לאחר סדרת עריכות תוכנתיות כדי למנוע מבנה רץ מפוצל בצורה מיותרת.
  • השתמש ב-ListFormat.ApplyBulletDefault() / ApplyNumberDefault() לקבלת רשימה ברירת מחדל מהירה במקום לבנות הגדרות רשימה ידנית כאשר ברירות המחדל המובנות מספיקות.
  • קרא את תוצאות Comment.AddReply כצמתים Comment עצמם — תגובות הן אובייקטי תגובה מלאים, ולא מחרוזות רגילות.

בעיות נפוצות

בעיהסיבהתיקון
עיצוב של Run’s Font אינו משנה חזותית את הטקסט הסמוךהטקסט הסמוך נמצא ב-Run שונה עם מופע Font משלואתר ועצב כל Run מושפע, או הגדר עיצוב דרך DocumentBuilder.Font לפני הכתיבה
Range.Replace משנה טקסט מחוץ לאזור המיועדהפעולה Replace נקראה על Document.Range במקום על טווח של צומת צומצםקרא לReplace על ה-Paragraph הספציפי, Section, או על Range של צומת אחרת
פסקה נראית כפריט ברשימה אך IsListItem אינה נכונההתבליט/המספר הוא טקסט ידני, לא עיצוב רשימה אמיתיהחל עיצוב רשימה אמיתי באמצעות ListFormat.ApplyBulletDefault() או ApplyNumberDefault() במקום תווים מוקלדים
למסמך יש הרבה יותר צמתים של Run מהצפויעריכות קטנות חוזרות מפצלות רצפים מבלי לאחד אותם מחדשקרא לParagraph.JoinRunsWithSameFormatting() לאחר קבוצות של עריכות

FAQ

מה ההבדל בין Run ל-Paragraph?

Run הוא מקטע טקסט שחולק קבוצת עיצוב תווים אחת (Font); Paragraph הוא הצומת המשולב המכיל רץ אחד או יותר (וכן תוכן פנימי נוסף) ועוד עיצוב ברמת פסקה (ParagraphFormat).

איך אני קורא את כל הטקסט במסמך או בחלק?

קרא את המאפיין Text של Range של הצומת — לדוגמה, document.Range.Text או section.Range.Text.

כיצד למצוא ולהחליף טקסט בפסקה אחת בלבד?

הפעל את Replace(pattern, replacement) על Range של Paragraph במקום על Document.Range.

איך להוסיף הערה למסמך?

צור אותו בעזרת new Comment(doc, author, initial, dateTime), הגדר את הטקסט שלו בעזרת SetText(text), והכנס אותו לעץ; השב אליו בעזרת Comment.AddReply(author, initial, dateTime, text).

איך להפוך פסקה לפריט ברשימת תבליטים?

הפעל את ApplyBulletDefault() על ListFormat של הפסקה; השתמש בApplyNumberDefault() עבור רשימה ממוספרת במקום זאת.


API Reference סיכום

מחלקה/מתודהתיאור
Runקטע טקסט החולק קבוצה אחת של עיצוב תווים.
Fontעיצוב ברמת התו — שם, גודל, מודגש, נטוי, צבע, ועוד.
Paragraphצומת מורכב המכיל את הרצפים והעיצוב של פסקה אחת.
ParagraphFormatעיצוב ברמת הפסקה — יישור, הזחות, ריווח, דפדוף.
ParagraphCollectionאוסף Typed של צמתים Paragraph, לדוגמה Body.Paragraphs.
Rangeאזור רציף במסמך; תומך ב-Text, Replace ו-Delete.
Commentהערה משורשרת שמעוגנת במיקום בטקסט.
CommentCollectionאוסף ההערות של המסמך.
ListFormatשולט אם וכיצד פסקה משתתפת ברשימה.

ראה גם

 עברית