Bevezetés
Aspose.Words FOSS a .NET számára tartalmazza ugyanazt a szövegformázási objektummodellt, mint a kereskedelmi Aspose.Words motor: Font a futtatási szintű attribútumokhoz, ParagraphFormat a bekezdés szintű attribútumokhoz, ListFormat a számozott és felsorolásos listákhoz, FrameFormat a pozicionált szövegkeretekhez, és Range.Replace a keresés-csere funkcióhoz. Ez az útmutató kifejezetten erre a rétegre összpontosít – a már dokumentumban létező szöveg formázására és újraírására –, nem pedig egy dokumentum szerkezetének felépítésére az elejétől (lásd a bevezető bejegyzést a kiadás áttekintéséhez).
A könyvtár MIT licenc alatt áll, nincs natív függősége, és a .NET Standard 2.0-ra célzott, így működik a .NET Framework 4.6.2+ és a .NET 6, 8 és 10 verziókon. Telepítheted a NuGet segítségével, vagy lefordíthatod forrásból (lásd alább a Gyors kezdést). Itt leírt minden a .docx, .docm, .dotx, .dotm és a new Document(fileName) által betöltött Flat OPC fájlok ellen működik, illetve a DocumentBuilder által memóriában épített dokumentumok esetén.
Mivel a Aspose.Words FOSS a .NET számára az eredeti Aspose.Words kódbázis, amely egy szabad magra lett csökkentve, nem pedig átírás, a Font, ParagraphFormat, ListFormat és FrameFormat objektummodell közvetlenül átkerül a kereskedelmi Aspose.Words a .NET számára, ha egy projekt később oldalelrendezést, renderelést vagy a további formátumkonvertereket igényel, amelyeket ez a kiadás kizár.
Főbb jellemzők
Futtatási szintű formázás betűtípussal
Minden Run egy Font tulajdonságot tesz elérhetővé, és a DocumentBuilder.Font beállítja a betűtípust, amely a következő írt szövegre lesz alkalmazva. A nyilvánvaló Bold, Italic és Underline (egy Underline felsorolt típus, amely értékeket tartalmaz, többek között Single, Double, Dotted, Dash, Wavy, és azok *Heavy változatai) mellett a Font lefedi a StrikeThrough, DoubleStrikeThrough, Superscript, Subscript, SmallCaps, AllCaps, Hidden, Shadow, Outline, Emboss, Engrave, Color, HighlightColor, Spacing, Position, Kerning, Scaling és EmphasisMark elemeket. A Font.Style, Font.StyleName és Font.StyleIdentifier egy futtatást visszakapcsol egy karakterstílushoz, míg a Font.ClearFormatting() visszaállítja a közvetlen formázást a futtatásban a stílusalapértelmezésekre. A DocumentBuilder továbbá közvetlenül elérhetővé teszi a Bold, Italic és Underline gyorsbillentyűket, valamint a PushFont() és PopFont() funkciókat a builder aktuális betűtípusállapotának mentésére és visszaállítására egy ideiglenes formázási változtatás körül.
Bekezdésformázás a ParagraphFormat használatával
ParagraphFormat (elérhető a(z) Paragraph.ParagraphFormat vagy DocumentBuilder.ParagraphFormat útján) a ParagraphAlignment felsorolóval szabályozza a igazítást (Left, Center, Right, Justify, Distributed, valamint arab kashida és thai-elosztott változatok), a behúzást a LeftIndent, RightIndent és FirstLineIndent segítségével (kelet-ázsiai elrendezésekhez CharacterUnit* ekvivalensekkel), valamint a térközt a SpaceBefore, SpaceAfter és a LineSpacingRule/LineSpacing segítségével. Az oldaltördelési viselkedést a KeepTogether, KeepWithNext, PageBreakBefore és WidowControl szabályozza, a Bidi pedig a bekezdést jobbról balra írásra jelöli. Az egyéni tabulátorállások a ParagraphFormat.TabStops helyen találhatók, egy TabStopCollection TabStop objektumból, mindegyiknek van egy Position, egy TabAlignment (Left, Center, Right, Decimal, Bar) és egy TabLeader (None, Dots, Dashes, Line, Heavy, MiddleDot). A Font-hez hasonlóan a ParagraphFormat.Style és a StyleName a bekezdést egy megnevezett Style-hez kapcsolja, a ClearFormatting() pedig törli a közvetlen bekezdésformázást.
Listák a ListFormat segítségével
ListFormat (Paragraph.ListFormat vagy DocumentBuilder.ListFormat esetén) listaformázást alkalmaz egy bekezdésre: a ApplyBulletDefault() és a ApplyNumberDefault() átkapcsolja alapértelmezett felsorolásos vagy számozott listára, a RemoveNumbers() teljesen eltávolítja a listaformázást, a ListIndent()/ListOutdent() pedig a lista szintjei között mozgatja. A ListFormat.List visszaadja az alapul szolgáló List definíciót, a ListFormat.ListLevel pedig visszaadja a ListLevel-t, amely abban a bekezdésben érvényes, és szintenkénti beállításokat tartalmaz, mint például NumberStyle, NumberFormat, Alignment (egy ListLevelAlignment a Left, Center vagy Right közül), StartAt, RestartAfterLevel, egy szintspecifikus Font, és TrailingCharacter (egy ListTrailingCharacter a Tab, Space vagy Nothing közül), amely a lista címke és a bekezdés szövege közötti távolságot szabályozza. Új lista definíciók a ListCollection.Add(listTemplate) segítségével jönnek létre, a beépített ListTemplate előbeállítások egyikét használva (BulletDefault, NumberArabicDot, NumberUppercaseRomanDot és hasonló), vagy AddSingleLevelList egy egyetlen szintű listához; egy dokumentum listáit a Document.Lists enumerálja.
Szövegkeretek a FrameFormat használatával
Paragraph.FrameFormat egy csak olvasható jelentő objektum: minden tulajdonsága egy bekezdés aktuális keretállapotát, ahelyett, hogy közvetlenül állítaná be. IsFrame jelentést készít arról, hogy a bekezdés jelenleg keret-e; Width, Height, és HeightRule jelentik a méretét; HorizontalPosition és VerticalPosition, együtt RelativeHorizontalPosition és RelativeVerticalPosition, jelentse, hol van rögzítve a laphoz, margóhoz, oszlophoz vagy bekezdéshez képest; és HorizontalDistanceFromText/VerticalDistanceFromText jelentse a keret és a környező szöveg közötti hézagot. HorizontalAlignment és VerticalAlignment jelentse, hogyan igazodik a tartalom a kereten belül.
Keresés és csere tartománnyal és IReplacingCallback segítségével
Range.Replace — elérhető a Document.Range esetén a teljes dokumentumon végzett átfutáshoz, vagy bármely csomópont Range részén — rendelkezik túlterhelésekkel egy egyszerű minta/csere párosra, valamint egy minta/csere párosra, amelyet egy FindReplaceOptions példány kombinál, regex-alapú egyezés támogatásával. A FindReplaceOptions.MatchCase és a FindWholeWordsOnly szűkítik, mi számít egyezésnek; a Direction (FindReplaceDirection.Forward vagy Backward) beállítja a beolvasási sorrendet; a ApplyFont és a ApplyParagraphFormat lehetővé teszik, hogy a csere lépés formázást vigyen a helyettesítő szövegre; valamint a Ignore* jelzők egy halmaza (IgnoreDeleted, IgnoreInserted, IgnoreFields, IgnoreFieldCodes, IgnoreFootnotes, IgnoreStructuredDocumentTags, IgnoreShapes, IgnoreOfficeMath) kizár bizonyos tartalmi kategóriákat az egyezésből. Ha a cserelogika nem fejezhető ki fix karakterlánccal, valósítsa meg a IReplacingCallback.Replacing(args)-t, és állítsa be FindReplaceOptions.ReplacingCallback-ként (vagy adja át valamelyik FindReplaceOptions konstruktorának, amely közvetlenül elfogad visszahívást); a args paraméter egy ReplacingArgs, amely Match, MatchNode, MatchOffset értékeket tesz láthatóvá, valamint egy beállítható Replacement karakterláncot, hogy a visszahívás minden egyezéshez kiszámíthassa az értéket. Egy kapcsolódó ReplaceAction felsoroló (Replace, Skip, Stop) leírja az egyes egyezések lehetséges kimeneteleit a művelet során.
Gyors kezdés
Aspose.Words FOSS a(z) .NET számára elérhető a(z) NuGet:
dotnet add package Aspose.Words.FOSSA forrásból történő felépítéshez:
git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release
Ezután adjon hozzá egy projektreferenciát a(z) Aspose.Words.csproj elemhez. A szöveg formázásához írás közben, állítsa be a(z) DocumentBuilder.Font tulajdonságait (Bold, Italic, Underline), a(z) DocumentBuilder.ParagraphFormat tulajdonságait (Alignment, behúzások, térköz), és a(z) DocumentBuilder.ListFormat (ApplyBulletDefault(), ApplyNumberDefault()) a(z) Write(), Writeln() vagy InsertParagraph() meghívása előtt — az építő a jelenlegi formázási állapotot alkalmazza minden írt tartalomra, amíg újra nem módosítja, vagy egy ideiglenes változtatást a(z) PushFont()/PopFont() között csomagol. A már egy dokumentumban lévő szöveg újraformázásához vagy átírásához nyissa meg azt a(z) new Document(fileName) segítségével, és hívja meg a(z) Range.Replace() függvényt a(z) doc.Range objektumon — legyen az egyszerű minta/csere túlterhelés, vagy a olyan túlterhelés, amely FindReplaceOptions paramétert vár MatchCase, FindWholeWordsOnly vagy egy egyedi IReplacingCallback használatával — majd Save() az eredményt.
Támogatott formátumok
| Formátum | Kiterjesztés | Olvasás | Írás |
|---|---|---|---|
| DOCX | .docx | ✓ | ✓ |
| DOCM | .docm | ✓ | ✓ |
| DOTX | .dotx | ✓ | ✓ |
| DOTM | .dotm | ✓ | ✓ |
| Flat OPC (összes változat) | (különböző) | ✓ | ✓ |
| Markdown | .md | ✓ | ✓ |
| Text | .txt | ✓ | ✓ |
A fenti formázó osztályok ugyanúgy működnek, függetlenül attól, hogy a dokumentum melyik formátumból lett betöltve vagy melyikbe lett mentve. Ez a kiadás nem támogatja a DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3 vagy WordML formátumok olvasását vagy írását, és nem támogatja a PDF, XPS vagy képexportot, mivel az oldalelrendezés és renderelés kívül esik a hatókörén.
Nyílt forráskód & licencelés
Aspose.Words FOSS for .NET MIT licenc alatt kerül kiadásra, kereskedelmi és személyes felhasználásra ingyenes, jutalék vagy újraelosztási korlátozás nélkül. A teljes forráskód, beleértve a fent leírt Font, ParagraphFormat, ListFormat, FrameFormat és Range implementációkat, elérhető a GitHub oldalon a Aspose.Words FOSS a .NET tároló.