
Microsoft Word-dokument är en stapel för att skapa och dela textinnehåll. Om du utvecklar C#-applikationer som interagerar med dessa dokument, kan du hitta dig själv behöver extrahera text från dem. Detta kan vara för ändamål som textanalys eller extrahering av specifika sektioner av ett dokument att sammanställa i en ny. I denna bloggpost kommer vi att dyka in i metoderna för extraktion av text ur Word dokument i C #.
Tabell av innehåll
- C# bibliotek för textutvinning
- Förstå textutvinning i Word-dokument
- Steg för steg guide för att extrahera text från ett Word-dokument- Textutvinning mellan stycken
- Textutvinning mellan olika typer av noder
- Extrakt text baserat på stilar
C# Library for Text Extraction
Aspose.Words för .NET är en kraftfull och användarvänlig bibliotek utformad för att arbeta med Word-dokument. Det ger en omfattande uppsättning funktioner, inklusive textutvinning, dokumentskapande, manipulation och konvertering. Med Aspose.Words för .NET kan utvecklare effektivt hantera olika aspekter av Word dokument, vilket gör det ett ovärderligt verktyg för dina utvecklingsbehov.
För att börja, Ladda ner biblioteket eller installera direkt från NuGet Använd följande kommando i pakethanteringskonsolen:
PM> Install-Package Aspose.Words
Förstå textutvinning i Word-dokument
Ett MS Word-dokument innehåller olika element som paragrafer, tabeller och bilder. Följaktligen kan kraven för textutvinning variera baserat på det specifika användningsfallet. Du kan behöva extrahera text mellan paragrafer, bokmärken, kommentarer och mer.
Varje element i ett Word-dokument representeras som en nod. Därför, för att effektivt behandla ett dokument, måste du arbeta med dessa noder. Låt oss utforska hur man extraherar text från Word-dokument i olika scenarier.
Steg för steg vägledning för att extrahera text från ett Word-dokument
I det här avsnittet kommer vi att implementera en C# textutvinning för Word-dokument. Arbetsflödet för textutvinning kommer att omfatta följande steg:
- Definiera noderna att inkludera i extraktionsprocessen.
- Extrahera innehållet mellan de angivna noderna (inklusive eller uteslutande start- och slutnoderna).
- Använd de klonade utvunna noderna för att skapa ett nytt Word-dokument som innehåller utvunna innehåll.
Låt oss skapa en metod som heter ExtractContent som accepterar noder och andra parametrar för att utföra textutvinning.
StartNode och EndNode: Dessa definierar start- och slutpunkterna för innehållsutvinning. De kan vara blocknivåer (t.ex. Paragraf, Tabell) eller inline nivå noder (t.ex. Run, FieldStart, BookmarkStart).- För fält, gå till motsvarande FieldStart objekt.
För bokmärken använder du knapparna BookmarkStart och BookmarkEnd.
För kommentarer, använd knapparna CommentRangeStart och CommentRangeEnd.
IsInclusive: Denna parameter bestämmer om markörerna ingår i extraktionen. Om de är inställda till falska och samma eller efterföljande noder tillhandahålls, returneras en tom lista.
Här är den fullständiga implementeringen av ExtractContent-metoden för att extrahera innehåll mellan de angivna noderna:
Dessutom krävs vissa hjälpmetoder av ExtractContent-metoden för att underlätta textutvinning:
Nu när vi har våra metoder redo kan vi fortsätta att extrahera text från ett Word-dokument.
Extrahera text mellan stycken i ett Word-dokument {#extract-text- between-paragraphs}
Om du vill extrahera innehåll mellan två stycken i ett Word DOCX-dokument följer du följande steg:
- Ladda upp Word-dokumentet med hjälp av klassen Dokument.
- Få referenser till start- och slutparagraferna med hjälp av Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean)-metoden.
- Anmäl ExtractContent(startPara, endPara, True)-metoden för att extrahera noderna till ett objekt.
- Använd GenerateDocument(Document, extractedNodes) hjälpmetoden för att skapa ett dokument med extraherat innehåll.
- Spara det nya dokumentet med Document.Save(string)-metoden.
Här är ett kodmönster som visar hur man extraherar text mellan paragraferna 7 och 11 i ett Word-dokument:
Textutvinning 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.
- Ladda upp Word-dokumentet med hjälp av klassen Dokument.
- Få referenser till start- och slutknapparna med hjälp av Document.FirstSection.Body.GetChild(NodeType, int, boolean)-metoden.
- Ring ExtractContent(startPara, endPara, True) för att extrahera noderna till ett objekt.
- Använd GenerateDocument(Document, extractedNodes) hjälpmetoden för att skapa ett dokument med extraherat innehåll.
- Spara det nya dokumentet med Document.Save(string).
Här är kodprovet för att extrahera text mellan ett stycke och en tabell i C#:
Extrahera text baserat på stilar
För att extrahera innehåll mellan stycken baserat på stilar, följ dessa steg. För denna demonstration kommer vi att extrahera innehåll mellan det första “Titel 1” och det första “Titel 3” i Word-dokumentet:
- Ladda upp Word-dokumentet med hjälp av klassen Dokument.
- Extrakt paragrafer till ett objekt med hjälp av hjälpmetoden ParagraphsByStyleName(Dokument, “Huvud 1”).
- Extrakt paragrafer till ett annat objekt med ParagraphsByStyleName(Dokument, “Huvud 3].
- Ring ExtractContent(startPara, endPara, True) med de första elementen från båda punkterna.
- Använd GenerateDocument(Document, extractedNodes) hjälpmetoden för att skapa ett dokument med extraherat innehåll.
- Spara det nya dokumentet med Document.Save(string).
Här är ett kodprov för att extrahera innehåll mellan stycken baserat på stilar:
Läs mer om Text Extraction
Utforska ytterligare scenarier för att extrahera text från Word-dokument genom Denna dokumentation artikel.
Få en gratis Word Text Extractor Library
Du kan få en Fri tillfällig licens att extrahera text utan utvärderingsbegränsningar.
slutsatser
Aspose.Words för .NET är en mångsidig bibliotek som effektiviserar processen för att extrahera text från Word-dokument i C#. Med dess omfattande funktioner och användarvänliga API kan du effektivt arbeta med Word-dokument och automatisera olika textutvinningsscenarier. Oavsett om du utvecklar program som kräver Word-dokumentbearbetning eller helt enkelt extrahera text, är Aspose.Words för .NET ett viktigt verktyg för utvecklare.
För att utforska mer funktioner i Aspose.Words för .NET, kolla in DokumentationOm du har några frågor, känna dig fri att komma ut via vår Forumet.
Se även
Tip: Du kanske vill kontrollera Aspose PowerPoint till Word Converter, som visar den populära processen att konvertera presentationer till Word-dokument.
More in this category
- Konvertera Word DOC/DOCX till PDF i C# .NET och Aspose.Words' Document Converter Plugin
- Generera streckkod i Word-dokument (.NET, C#) | Läs streckkod från Word (.NET)
- Extrakt av bilder från Word-dokument i C# Automatisk bildbehandling
- Automatiska rapporter med C# Mail Merge, Aspose.Words' Mail Merge Plugin
- Hitta och ersätta text i Word-dokument med hjälp av C# Automatiskt Word Redigera