Hogyan dolgozzunk szöveggel a .NET

Hogyan dolgozzunk szöveggel a .NET

Ez az útmutató bemutatja, hogyan dolgozzunk szöveggel a Aspose.Words FOSS-ban a .NET számára: egy futtatás betűtípusának formázása, egy bekezdés formázása, szöveg keresése és cseréje a Range segítségével, megjegyzés hozzáadása, és a bekezdés listaelemmé alakítása. A Aspose.Words FOSS a .NET számára elérhető a NuGet-on keresztül vagy forráskódból építve.

Lépésről lépésre útmutató

1. lépés: Szerezd be a könyvtárat

Klónozza a repozitóriumot és építse Aspose.Words.sln Release konfigurációban, majd adjon projekt-hivatkozást a Aspose.Words.csproj a saját .NET projektjéből, ahogyan a Telepítési útmutató. Adjon using Aspose.Words; a szöveggel dolgozó bármely fájl tetejére.


2. lépés: Futtatás betűtípusának formázása

A Run egy olyan szövegrész, amely egyetlen formázási készletet oszt meg; Text tulajdonsága a egyszerű szöveges tartalmat tárolja, és Font tulajdonsága (egy Font objektum) karakter szintű formázást tartalmaz — Name, Size, Bold, Italic, Underline, Color, HighlightColor, Subscript/Superscript, valamint StrikeThrough és mások. Font.ClearFormatting() visszaállít egy futtatást az alapértelmezettekre. Egy bekezdés futtatásai a Runs tulajdonságán keresztül érhetők el, amely egy RunCollection. A DocumentBuilder.Font betűtípus-tulajdonságainak beállítása új szöveg írása előtt általában egyszerűbb, mint az egyedi Run objektumok formázása később.


3. lépés: Bekezdés formázása

Paragraph.ParagraphFormat (a ParagraphFormat objektum) vezérli a bekezdés-szintű elrendezést: Alignment, behúzások (LeftIndent, RightIndent, FirstLineIndent), távolságok (SpaceBefore, SpaceAfter, LineSpacing, LineSpacingRule), és a lapozási viselkedést (KeepTogether, KeepWithNext, PageBreakBefore, WidowControl). ParagraphFormat.ClearFormatting() visszaállítja ezeket az alapértelmezett értékekre, és Paragraph.JoinRunsWithSameFormatting() egyesíti a szomszédos futamokat, amelyek azonos formázást tartalmaznak – hasznos, ha egy sor programozott szerkesztés után a bekezdés több futammal rendelkezik, mint amennyi szükséges.


4. lépés: Szöveg keresése és helyettesítése tartománnyal

Minden tartalommal rendelkező csomópont — egy Document, Section, Paragraph vagy Run — egy Range objektumot fed fel. Range.Text visszaadja a tartományon belüli minden szöveg egyszerű változatát, és Range.Replace(pattern, replacement) egy csak arra a tartományra korlátozott keresés-helyettesítés műveletet hajt végre: hívd meg egy Paragraph Range elemén, hogy csak egy bekezdés szövegét módosítsd, vagy Document.Range esetén a teljes dokumentumot keresd. Range.Delete() teljesen eltávolítja a tartomány tartalmát.


5. lépés: Megjegyzés hozzáadása

Hozz létre egy Comment objektumot a new Comment(doc, author, initial, dateTime) segítségével, állítsd be a szövegét a SetText(text) használatával, majd illeszd be a fába, mint bármely más csomópontot. Comment.AddReply(author, initial, dateTime, text) egy szálas választ csatol — amely maga egy Comment —, és a RemoveReply(reply) / RemoveAllReplies() visszavonja a válaszokat. A dokumentum megjegyzései egy CommentCollection gyűjteményben vannak.


6. lépés: Bekezdés átalakítása listaelemmé

Paragraph.ListFormat (a ListFormat objektum) jelzi és szabályozza, hogy egy bekezdés részt vesz-e egy listában: IsListItem és ListLevelNumber jelentik az aktuális állapotát. ApplyBulletDefault() a bekezdést alapértelmezett pontozott elemmé alakítja, a ApplyNumberDefault() alapértelmezett számozott elemmé; a ListIndent() / ListOutdent() megváltoztatja a beágyazási szintjét, és a RemoveNumbers() visszaállítja egyszerű bekezdéssé.

Gyakori problémák és megoldások

Formázás egy Run’s betűkészlete nem változtatja a szomszédos szöveget. A szomszédos szöveg más Run a saját Font példány. Vagy keresd meg és formázd az összes érintett Run, vagy állítsd be a formázást DocumentBuilder.Font új szöveg írása előtt.

Range.Replace a szöveget a szándékolt területen kívül módosítja. Replace hívásra került Document.Range a szűkebb csomópont tartománya helyett. Hívd meg a konkrét Paragraph or Section akinek a szövege meg kell változzon.

Egy bekezdés úgy néz ki, mint egy felsorolás pont, de IsListItem is false. A jelölő gépelt szöveg, nem valódi listaformázás. Alkalmazd ezzel ListFormat.ApplyBulletDefault() helyette.

A dokumentum végül sokkal több Run csomóponttal, mint várt. Ismételt kis programozott szerkesztések szétválasztják a futamokat anélkül, hogy újra összekapcsolnák őket. Hívja Paragraph.JoinRunsWithSameFormatting() a szerkesztések egy kötegje után.

Gyakran Ismételt Kérdések

Mi a különbség a Run és a Paragraph között?

A Run egy olyan szövegrész, amely egy karakterformázási készletet (Font) oszt meg. A Paragraph egy összetett csomópont, amely egy vagy több futamot, valamint bekezdés-szintű formázást (ParagraphFormat) tartalmaz.

Hogyan olvashatom el a dokumentum összes szövegét vagy egyetlen szakaszt?

Olvassa el a Text tulajdonságot azon csomópont Range-ból — document.Range.Text vagy section.Range.Text.

Hogyan cserélhetem ki a szöveget csak egy bekezdésen belül, nem az egész dokumentumban?

Hívja meg a Replace(pattern, replacement)-t azon Paragraph Range-jén, ne pedig a Document.Range-n.

Hogyan válaszolhatok egy meglévő megjegyzésre?

Hívja meg a Comment.AddReply(author, initial, dateTime, text)-t az eredeti Comment példányon.

Hogyan alakíthatom vissza a számozott listaelemet egyszerű bekezdéssé?

Hívja meg a(z) RemoveNumbers() a bekezdés ListFormat elemén.

Lásd még:

 Magyar