Extract Text from MS Word Documents in C#

Microsoft Word-dokumenter er en stable for å lage og dele tekstinnhold. Hvis du utvikler C#-applikasjoner som samhandler med disse dokumentene, kan du finne deg selv trenger å trekke ut tekst fra dem. Dette kan være for formål som tekstanalyse eller ekstrahering av spesifikke seksjoner av et dokument å kompile inn i en ny.

Tabell av innhold

C# Library for Text Extraction

Aspose.Words for .NET er en kraftig og brukervennlig bibliotek designet for å arbeide med Word-dokumenter. Det gir et omfattende sett av funksjoner, inkludert tekstutvinning, dokumentopprettelse, manipulering og konvertering. Med Aspose.Words for .NET, kan utviklere effektivt administrere ulike aspekter av Word dokumenter, noe som gjør det til et uvanlig verktøy for dine utviklingsbehov.

For å begynne, Last ned biblioteket eller installere den direkte fra NuGet Bruk følgende kommando i pakkeadministratorkonsollen:

PM> Install-Package Aspose.Words

Forstå tekstutvinning i Word-dokumenter

Et MS Word-dokument består av ulike elementer som paragrafer, tabeller og bilder. Derfor kan kravene til tekstutvinning variere basert på det spesifikke brukssaken. Du kan trenge å utveksle tekst mellom avsnitt, bokmerker, kommentarer, og mer.

Hvert element i et Word-dokument representeres som en node. Derfor, for å effektivt behandle et dokument, må du jobbe med disse nodene. La oss utforske hvordan å trekke tekst fra Word dokumenter i forskjellige scenarier.

Step-by-Step Guide to Extract Text from a Word Document

I dette avsnittet vil vi implementere en C#-tekstekstrakt for Word-dokumenter. Arbeidsflyten for tekstutvinning vil omfatte følgende trinn:

  • Definere nodene som skal inkluderes i ekstraksjonsprosessen.
  • Utveksle innholdet mellom de angitte nodene (inkludert eller utelukkende start- og sluttnodene).
  • Bruk de klonerte utvunnet nodene til å lage et nytt Word-dokument som inneholder det ekstraherte innholdet.

La oss lage en metode kalt ExtractContent som vil akseptere noder og andre parametere for å utføre tekstutvinning. Denne metoden vil parse dokumentet og klone nodene basert på følgende parametre:

  • **StartNode ** og **EndNote ** : Disse definerer start- og sluttpoengene for innholdsutvinning. De kan være blokknivå (f.eks. **Paragraf ** , **Tabell ** ) eller inline-nivå noder (for eksempel **Run ** , **FieldStarter ** eller Bookmarkstart ).- For felt, pass det tilsvarende FieldStart -objektet.

  • For bokmerker, bruk ** BookmarkStart ** og BookmarkEnd noder.

  • For kommentarer, bruk nøkler **CommentRangeStart ** og Komment RangeEnd .

  • IsInclusive : Denne parameteren bestemmer om markeringene er inkludert i ekstraksjonen. Hvis de er satt til falske og de samme eller påfølgende nodene blir gitt, returneres en tom liste.

Her er den fullstendige implementeringen av ExtractContent -metoden for utvinning av innhold mellom de angitte nodene:

I tillegg kreves noen hjelpemåter av ExtractContent -metoden for å lette tekstekstraksjonen:

Nå som vi har våre metoder klar, kan vi fortsette å trekke tekst fra et Word-dokument.

Ekstraktering av tekst mellom paragrafer i et orddokument {#ekstrakt-tekst- mellom-paragrafer}

For å trekke ut innhold mellom to paragrafer i et Word DOCX-dokument, følg disse trinnene:

  • Last ned Word-dokumentet ved hjelp av Dokument -klassen.
  • Få referanser til start- og sluttparagrafene ved hjelp av Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean) metoden.
  • Kaller ExtractContent (startPara, end Para, True) -metoden for å ekstraktere nodene til et objekt.
  • Bruk GenerateDocument(Dokument, extractedNodes) hjelpemåten for å lage et dokument med det ekstraktene innholdet.
  • Lagre det nye dokumentet ved hjelp av Document.Save(string) -metoden.

Her er et kodemønster som viser hvordan du ekstrakter tekst mellom paragrafene 7 og 11 i et Word-dokument:

Utvinning av tekst mellom forskjellige typer noder

Du kan også trekke innhold mellom forskjellige typer noder. For eksempel, la oss treke innholdet mellom et avsnitt og en tabell og lagre det i et nytt Word-dokument.

  • Last ned Word-dokumentet ved hjelp av Dokument -klassen.
  • Få referanser til start- og sluttknapper ved hjelp av Document.FirstSection.Body.GetChild(NodeType, int, boolean) metoden.
  • Kaller ExtractContent(startPara, end Para, True) for å trekke nodene inn i et objekt.
  • Bruk GenerateDocument(Dokument, extractedNodes) hjelpemåten for å lage et dokument med det ekstraktene innholdet.
  • Lagre det nye dokumentet ved hjelp av Document.Save(string) .

Her er kodemønsteret for utvinning av tekst mellom et avsnitt og en tabell i C#:

Ekstraktering av tekst basert på stiler

For å trekke ut innhold mellom paragrafer basert på stiler, følg disse trinnene.For denne demonstrasjonen, vil vi trekk innholdet mellom det første “Titler 1” og det första “Hedler 3” i Word-dokumentet:

  • Last ned Word-dokumentet ved hjelp av Dokument -klassen.
  • Ekstrakter paragrafer inn i et objekt ved hjelp av ParagraphsByStyleName(Dokument, “Heading 1”) hjelpemåte.
  • Ekstrakter paragrafer til et annet objekt ved hjelp av ParagraphsByStyleName(Dokument, “Heading 3] .
  • Kall ExtractContent(startPara, end Para, True) med de første elementene fra begge avsnittene.
  • Bruk GenerateDocument(Dokument, extractedNodes) hjelpemåten for å lage et dokument med det ekstraktene innholdet.
  • Lagre det nye dokumentet ved hjelp av Document.Save(string) .

Her er et kodemønster for å trekke innhold mellom paragrafer basert på stiler:

Les mer om tekstekstraksjon

Utforsk ytterligere scenarier for å trekke tekst fra Word-dokumenter gjennom Denne dokumentasjonens artikkel.

Få en gratis Word Text Extractor Library

Du kan få en Gratis midlertidig lisens Tekst uten evalueringsbegrensninger.

Conclusion

Aspose.Words for .NET er en allsidig bibliotek som raskere prosessen med å ekstraktere tekst fra Word-dokumenter i C#. Med sine omfattende funksjoner og brukervennlig API, kan du effektivt arbeide med Word dokumenter og automatisere ulike tekst ekstraksjonsscenarier. Uansett om du utvikler applikasjoner som krever Word Dokumentbehandling eller bare ekstrakt tekst, er ASPOSE.Vord for.NET et viktig verktøy for utviklere.

For å utforske mer funksjoner av Aspose.Words for .NET, sjekk ut DokumentasjonHvis du har noen spørsmål, føl deg fri til å komme seg ut gjennom vår Forumet.

Se også

Tip: Du vil kanskje sjekke ut Aspose PowerPoint til Word Converter, som viser den populære prosessen med å konvertere presentasjoner til Word-dokumenter.

More in this category