Microsoft Word-dokument används i stor utsträckning för att skapa och dela textinnehåll. Om du arbetar med Word-dokument i dina C#-applikationer kan det hända att du behöver extrahera text från Word-dokument med C# ASP.NET och extrahera text och bevara formatering. Till exempel kanske du vill analysera texten, extrahera särskilda sektioner av ett dokument, eller kombinera dem till ett enda dokument. I denna blogg kommer vi att utforska hur man extraherar text från Word-dokument i C# med hjälp av det bästa C#-biblioteket för textutvinning från Word-dokument.
- Bibliotek för att extrahera text från Word-dokument
- 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 och lättanvänt bibliotek för arbete med Word-dokument. Det erbjuder ett brett spektrum av funktioner, inklusive .NET-ordtextutvinning, dokumentskapande, manipulation och konvertering. Med Aspose.Words för .NET kan du hantera olika aspekter av Word-dokument, vilket gör det till ett värdefullt 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 paketchefen.
PM> Install-Package Aspose.Words
Extrahera text från Word-dokument
Ett MS Word-dokument består av olika element som inkluderar paragrafer, tabeller, bilder, etc. Därför kan kraven på textutvinning variera från en situation till en annan. Till exempel kanske du behöver extrahera text från ett skannat Word-dokument C# eller extrahera text från Word-fil C# .NET. Varje typ av element i ett Word-dokument representeras som en nod. Därför, för att bearbeta ett dokument, måste du interagera med noderna. Låt oss börja och se hur vi kan extrahera text från Word-dokument i olika scenarier samtidigt som vi säkerställer att vi hanterar ordformatering vid textutvinning C# effektivt.
Extrahera text från en Word DOC i C#
I det här avsnittet kommer vi att implementera en C# textutdragare för Word-dokument, och arbetsflödet för textutvinning kommer att vara som följer:
- Först definierar vi de noder som vi vill inkludera i textutvinningsprocessen.
- Sedan kommer vi att extrahera innehållet mellan de angivna noderna (inklusive eller exklusive start- och slutnoder).
- Slutligen kommer vi att använda en klon av de extraherade noderna, t.ex. för att skapa ett nytt Word-dokument som består av det extraherade innehållet.
Låt oss nu skriva en metod som heter ExtractContent till vilken vi kommer att skicka noderna och några andra parametrar för att utföra textutvinningen. Denna metod kommer att parsa dokumentet och klona noderna. Följande är de parametrar som vi kommer att skicka till denna metod:
- StartNode och EndNode som start- och slutpunkter för utvinning av innehåll, respektive. Dessa kan vara både blocknivå (Paragraph, Table) eller inline-nivå (t.ex. Run, FieldStart, BookmarkStart, etc.) noder.
- För att skicka ett fält bör du skicka motsvarande FieldStart-objekt.
- För att skicka bokmärken bör BookmarkStart och BookmarkEnd noderna skickas.
- För kommentarer bör CommentRangeStart och CommentRangeEnd noderna användas.
- IsInclusive definierar om markörerna ingår i utvinningen eller inte. Om detta alternativ sätts till false och samma nod eller på varandra följande noder skickas så kommer en tom lista att returneras.
Följande är den fullständiga implementeringen av ExtractContent-metoden som extraherar innehållet mellan de noder som skickas, noggrant extrahera text från det skyddade Word-dokumentet C#.
Några hjälpfunktioner krävs också av ExtractContent-metoden för att genomföra textutvinningsoperationen, som ges nedan.
Nu är vi redo att använda dessa metoder och extrahera text från Word-dokument med C#.
Extrahera text mellan paragrafer i ett Word-dokument
Låt oss se hur man extraherar innehåll mellan två paragrafer i ett Word DOCX-dokument. Följande steg utför denna operation i C#.
- Först, ladda Word-dokumentet med Document-klassen.
- Få referens till start- och slutparagraferna i två objekt med hjälp av Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean)-metoden.
- Anropa ExtractContent(startPara, endPara, true)-metoden för att extrahera noderna i ett objekt.
- Anropa GenerateDocument(Document, extractedNodes) hjälpfunktion för att skapa ett dokument som består av det extraherade innehållet.
- Slutligen, spara det returnerade dokumentet med Document.Save(string)-metoden.
Följande kodexempel visar hur man effektivt extraherar text från stora Word-filer genom att extrahera text mellan den 7:e och 11:e paragrafen i ett Word-dokument i C#.
Extrahera text mellan olika typer av noder
Du kan också extrahera innehåll mellan olika typer av noder. För demonstration, låt oss extrahera innehåll mellan en paragraf och en tabell och spara det i ett nytt Word-dokument. Följande steg utför denna operation.
- Ladda Word-dokumentet med Document-klassen.
- Få referens till start- och slutnoderna i två objekt med hjälp av Document.FirstSection.Body.GetChild(NodeType, int, boolean)-metoden.
- Anropa ExtractContent(startPara, endPara, true)-metoden för att extrahera noderna i ett objekt.
- Anropa GenerateDocument(Document, extractedNodes) hjälpfunktion för att skapa ett dokument som består av det extraherade innehållet.
- Spara det returnerade dokumentet med Document.Save(string)-metoden.
Följande kodexempel visar hur man extraherar text mellan en paragraf och en tabell i C#.
Hämta text mellan paragrafer baserat på stilar
Låt oss nu kolla hur man extraherar innehåll mellan paragrafer baserat på stilar. För demonstration kommer vi att extrahera innehåll mellan den första “Rubrik 1” och den första “Rubrik 3” i Word-dokumentet. Följande steg demonstrerar hur man uppnår detta i C#.
- Först, ladda Word-dokumentet med Document-klassen.
- Extrahera paragrafer i ett objekt med hjälp av ParagraphsByStyleName(Document, “Heading 1”) hjälpfunktion.
- Extrahera paragrafer i ett annat objekt med hjälp av ParagraphsByStyleName(Document, “Heading 3”) hjälpfunktion.
- Anropa ExtractContent(startPara, endPara, true)-metoden och skicka de första elementen i båda paragrafosakernas som första och andra parametrar.
- Anropa GenerateDocument(Document, extractedNodes) hjälpfunktion för att skapa ett dokument som består av det extraherade innehållet.
- Slutligen, spara det returnerade dokumentet med Document.Save(string)-metoden.
Följande kodexempel visar hur man extraherar innehåll mellan paragrafer baserat på stilar.
Läs mer om textutvinning
Du kan utforska andra scenarier av .NET-API för textutvinning från Word-dokument med hjälp av denna dokumentationsartikel.
Få gratis Word-textutdragare-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 att C# extrahera text från Word och bevara formatering. Med sina omfattande funktioner och lättanvända API kan du effektivt arbeta med Word-dokument och automatisera olika scenarier för hantering av specialtecken under C# ordtextutvinning. Oavsett om du bygger applikationer som behöver bearbeta Word-dokument eller bara extrahera text, är Aspose.Words för .NET ett värdefullt verktyg för utvecklare.
Du kan utforska andra funktioner av Aspose.Words för .NET med hjälp av dokumentationen. Om du har några frågor, tveka inte att låta oss veta via vårt forum.
Se också
Tips: Du kanske vill kolla Aspose PowerPoint till Word Konverterare eftersom det demonstrerar den populära presentations- till Word-dokumentkonverteringsprocessen.