
Microsoft Word-dokument är en stapelvara för att skapa och dela textinnehåll. Om du utvecklar C#-applikationer som interagerar med Word-dokument kan du behöva extrahera text från Word-dokument med C# i ASP.NET samtidigt som du säkerställer att formateringen bevaras. Oavsett om du analyserar text, extraherar specifika avsnitt eller kombinerar innehåll i ett enda dokument, kommer den här guiden att visa dig hur du effektivt extraherar text från Word-dokument med hjälp av det bästa C#-biblioteket för textutvinning från Word-dokument.
Innehållsförteckning
- C#-bibliotek för att extrahera text från Word-dokument
- Förstå textutvinning i Word-dokument
- Extrahera text från ett Word-dokument
C#-bibliotek för att extrahera text från Word-dokument
Aspose.Words för .NET är ett funktionsrikt, lättanvänt bibliotek designat för att arbeta med Word-dokument. Det erbjuder en omfattande uppsättning funktioner, inklusive .NET ordtextutvinning, dokumentskapande, manipulering och konvertering. Aspose.Words för .NET är ett ovärderligt verktyg för utvecklare som söker effektiv C# ordtextutvinning.
Du kan ladda ner DLL-filen eller installera biblioteket direkt från NuGet med hjälp av paketchefs-konsolen:
PM> Install-Package Aspose.Words
Förstå textutvinning i Word-dokument
Ett MS Word-dokument består av olika element, såsom stycken, tabeller och bilder. Följaktligen kan kraven på textutvinning variera beroende på situationen. Till exempel kan du behöva extrahera text från ett skannat Word-dokument i C# eller extrahera text från en Word-fil med C# .NET. Varje element i ett Word-dokument representeras som en nod, som du kommer att interagera med under utvinningsprocessen. Låt oss utforska hur man extraherar text från Word-dokument medan man effektivt hanterar ordformatering under textutvinning i C#.
Extrahera text från ett Word-dokument
I det här avsnittet kommer vi att implementera en C#-textutdragare för Word-dokument. Arbetsflödet för textutvinning inkluderar:
- Definiera de noder som ska inkluderas i textutvinningsprocessen.
- Extrahera innehåll mellan de angivna noderna (inklusive eller exklusive start- och slutnoder).
- Klona de extraherade noderna för att skapa ett nytt Word-dokument som innehåller det extraherade innehållet.
Låt oss skapa en metod som heter ExtractContent, som kommer att ta emot noderna och andra parametrar för textutvinning. Denna metod kommer att parsa dokumentet och klona noderna. Här är de parametrar vi kommer att skicka till metoden:
- StartNode och EndNode fungerar som start- och slutpunkter för innehållsutvinning. Dessa kan vara block-nivå (t.ex. Paragraph, Table) eller inline-nivå noder (t.ex. Run, FieldStart, BookmarkStart, etc.).
- För fält, skicka det motsvarande FieldStart-objektet.
- För bokmärken, använd BookmarkStart och BookmarkEnd noder.
- För kommentarer, använd CommentRangeStart och CommentRangeEnd noder.
- IsInclusive specificerar om markörerna ingår i utvinningen. Om det är inställt på falskt och samma eller på varandra följande noder skickas, kommer en tom lista att returneras.
Den fullständiga implementeringen av metoden ExtractContent, som noggrant extraherar text från skyddade Word-dokument i C#, är som följer:
Dessutom krävs några hjälpmethoder av metoden ExtractContent för att underlätta textutvinningsoperationen:
Nu är vi redo att använda dessa metoder och extrahera text från Word-dokument med C#.
Extrahera text mellan stycken i ett Word-dokument
För att extrahera innehåll mellan två stycken i ett Word DOCX-dokument, följ dessa steg:
- Ladda Word-dokumentet med hjälp av Document-klassen.
- Referera till start- och slutstyckena med hjälp av metoden Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean).
- Anropa metoden ExtractContent(startPara, endPara, true) för att extrahera noderna till ett objekt.
- Använd hjälpmethoderna GenerateDocument(Document, extractedNodes) för att skapa ett dokument som innehåller det extraherade innehållet.
- Slutligen, spara det returnerade dokumentet med hjälp av metoden Document.Save(string).
Här är ett kodexempel som demonstrerar hur man extraherar text från stora Word-filer genom att extrahera innehåll mellan det 7:e och 11:e stycket:
Extrahera text mellan olika typer av noder
Du kan också extrahera innehåll mellan olika typer av noder. Till exempel, låt oss extrahera innehåll mellan ett stycke och en tabell och spara det i ett nytt Word-dokument. Följ dessa steg:
- Ladda Word-dokumentet med hjälp av Document-klassen.
- Referera till start- och slutnoderna med hjälp av metoden Document.FirstSection.Body.GetChild(NodeType, int, boolean).
- Anropa metoden ExtractContent(startPara, endPara, true) för att extrahera noderna till ett objekt.
- Använd hjälpmethoderna GenerateDocument(Document, extractedNodes) för att skapa ett dokument som innehåller det extraherade innehållet.
- Spara det returnerade dokumentet med hjälp av metoden Document.Save(string).
Här är ett kodexempel som illustrerar hur man extraherar text mellan ett stycke och en tabell i C#:
Extrahera text mellan stycken baserat på stilar
Nu låt oss utforska hur man extraherar innehåll mellan stycken baserat på stilar. I det här exemplet kommer vi att extrahera innehåll mellan den första “Rubrik 1” och den första “Rubrik 3” i Word-dokumentet. Följ dessa steg:
- Ladda Word-dokumentet med hjälp av Document-klassen.
- Extrahera stycken till ett objekt med hjälp av hjälpmethoderna ParagraphsByStyleName(Document, “Rubrik 1”).
- Extrahera stycken till ett annat objekt med hjälp av hjälpmethoderna ParagraphsByStyleName(Document, “Rubrik 3”).
- Anropa metoden ExtractContent(startPara, endPara, true) och skicka de första elementen i båda styckearrayerna som parametrar.
- Använd hjälpmethoderna GenerateDocument(Document, extractedNodes) för att skapa ett dokument som innehåller det extraherade innehållet.
- Slutligen, spara det returnerade dokumentet med hjälp av metoden Document.Save(string).
Här är ett kodexempel som demonstrerar hur man extraherar innehåll mellan stycken baserat på stilar:
Läs mer om textutvinning
Utforska andra scenarier för .NET API för textutvinning från Word-dokument i denna dokumentationsartikel.
Få gratis Word Text Extractor-bibliotek
Du kan få en gratis temporär licens för att extrahera text utan utvärderingsbegränsningar.
Slutsats
Aspose.Words för .NET är ett mångsidigt bibliotek som förenklar processen för C# extrahera text från Word medan formatering bevaras. Med sina omfattande funktioner och användarvänliga API kan du effektivt arbeta med Word-dokument och automatisera olika scenarier som involverar hantering av specialtecken under C# ordtextutvinning. Oavsett om du utvecklar applikationer som behöver bearbeta Word-dokument eller helt enkelt extrahera text, är Aspose.Words för .NET ett värdefullt verktyg för utvecklare.
Utforska ytterligare funktioner av Aspose.Words för .NET genom dokumentationen. Om du har några frågor, tveka inte att kontakta oss via vårt forum.
Se även
Tips: Du kanske också vill kolla in Aspose PowerPoint till Word Converter, som demonstrerar den populära konverteringsprocessen från presentation till Word-dokument.