Extrahera text från docx med GroupDocs.Viewer för Java
Letar du efter att extrahera text från docx-filer programatiskt? Oavsett om du behöver hämta sidnummer, fånga varje textrad eller bygga sökbara index, kan detta manuellt vara tidskrävande och felbenäget. GroupDocs.Viewer for Java gör processen enkel genom att tillhandahålla högpresterande API:er som läser ett dokuments struktur och returnerar ren textdata.
I den här handledningen kommer du att lära dig hur du konfigurerar GroupDocs.Viewer, extraherar sidmetadata och hämtar varje textrad från en DOCX-fil. I slutet har du en färdig lösning som du kan integrera i någon Java‑baserad backend.

Snabba svar
- Vad betyder “extrahera text från docx”? Det betyder att programatiskt läsa en DOCX-fil och hämta dess ren‑textinnehåll rad för rad.
- Vilket bibliotek hanterar detta? GroupDocs.Viewer for Java tillhandahåller
Viewer‑klassen och relaterade API:er. - Behöver jag en licens? En gratis provversion fungerar för utvärdering; en betald licens krävs för produktion.
- Vilken Java‑version krävs? Vilken JDK 8 + som är kompatibel med Maven.
- Kan jag bearbeta stora batcher? Ja—genom att återanvända
Viewer‑instanser och hantera sidor i strömmar.
Vad är “extrahera text från docx”?
Att extrahera text från en DOCX-fil innebär att läsa dokumentets interna XML‑struktur och returnera den mänskligt läsbara texten utan formatering. Detta är användbart för indexering, sökning eller för att mata innehåll in i efterföljande analys‑pipelines.
Varför använda GroupDocs.Viewer för Java?
- Noggrannhet: Hanterar komplexa layouter, tabeller och flerkolumnsdokument.
- Hastighet: Optimerad renderingsmotor som fungerar snabbt även på stora filer.
- Stöd för flera format: Samma API fungerar för PDF, PPTX, XLSX och fler, så du kan återanvända kod.
- Inga externa beroenden: Ren Java, inga inhemska bibliotek krävs.
Förutsättningar
- Java Development Kit (JDK) 8 eller nyare.
- Maven installerat för beroendehantering.
- En DOCX‑fil du vill analysera (placera den i en känd mapp).
Installera GroupDocs.Viewer för Java
Lägg till GroupDocs‑arkivet och beroendet i din pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/viewer/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-viewer</artifactId>
<version>25.2</version>
</dependency>
</dependencies>
Steg för att skaffa licens
- Gratis provversion: Ladda ner en gratis provversion från GroupDocs nedladdningssida.
- Tillfällig licens: Skaffa en tillfällig licens för utökad testning via tillfällig licens-sida.
- Köp: För full åtkomst och support, överväg att köpa en licens via GroupDocs inköpsportal.
Grundläggande initiering
- Importera de nödvändiga klasserna.
- Skapa en
Viewer‑instans som pekar på din DOCX‑fil. - Använd
ViewInfoOptions.forPngView(true)för att begära sidnivåinformation (metadata och textrader).
Så extraherar du text från docx – Steg‑för‑steg‑guide
1. Extrahera sidmetadata
Sidmetadata, såsom sidnummer, är viktig när du behöver bygga navigationsstrukturer eller referera till specifika avsnitt.
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX")) {
ViewInfoOptions viewInfoOptions = ViewInfoOptions.forPngView(true);
ViewInfo viewInfo = viewer.getViewInfo(viewInfoOptions);
for (Page page : viewInfo.getPages()) {
int pageNumber = page.getNumber();
System.out.println("Page: " + pageNumber); // Outputs the page number
}
}
ViewInfoOptions.forPngView(true): Instruerar API:et att samla sidinformation medan PNG‑rendering förbereds.viewInfo.getPages(): Returnerar en samling där varjePage‑objekt innehåller sitt nummer och annan metadata.
Proffstips: Avsluta Viewer‑instansen i ett try‑with‑resources‑block för att automatiskt frigöra inhemska resurser.
2. Extrahera textrader från sidor
Nu när du kan identifiera varje sida, låt oss hämta de faktiska textraderna.
try (Viewer viewer = new Viewer("YOUR_DOCUMENT_DIRECTORY/SAMPLE_DOCX")) {
ViewInfoOptions viewInfoOptions = ViewInfoOptions.forPngView(true);
ViewInfo viewInfo = viewer.getViewInfo(viewInfoOptions);
for (Page page : viewInfo.getPages()) {
System.out.println("Page: " + page.getNumber());
System.out.println("Text lines:");
for (Line line : page.getLines()) {
String lineText = line.getValue();
System.out.print(lineText + "\t");
}
}
}
page.getLines(): Returnerar en lista medLine‑objekt, där varje representerar en enskild textrad som den visas på sidan.- Den inre loopen skriver ut varje rad, separerad med tabbar för läsbarhet.
Vanliga problem & lösningar
| Symptom | Likely Cause | Fix |
|---|---|---|
null sidnummer | Dokumentet laddades inte korrekt | Verifiera filvägen och säkerställ att filen finns. |
| Inga textrader returnerades | Filformatet stöds inte | Kontrollera att DOCX‑versionen stöds; uppgradera GroupDocs vid behov. |
OutOfMemoryError på stora filer | Viewer håller för många sidor i minnet | Bearbeta sidor i mindre batcher eller återanvänd samma Viewer‑instans. |
Praktiska tillämpningar
- Sökengine‑indexering: Spara sidnummer tillsammans med extraherad text för att möjliggöra exakt utdragsåtervinning.
- Juridisk dokumentgranskning: Hämta varje rad för automatiserad klausuldetektering eller maskeringsarbetsflöden.
- Innehållsmigrering: Flytta äldre DOCX‑innehåll till ett CMS samtidigt som strukturen bevaras.
- Rapport‑instrumentpaneler: Sammanfatta nyckelsektioner genom att extrahera rubriker och punktlistor.
Prestandaöverväganden
- Avsluta korrekt: Stäng alltid
Viewer(använd try‑with‑resources). - Batch‑behandling: När du hanterar många dokument, återanvänd en enda
Viewer‑instans per tråd för att minska overhead. - Renderingsalternativ: Om du bara behöver text kan du hoppa över PNG‑rendering genom att använda
ViewInfoOptions.forTextView()(ej visat här) för att minska behandlingstiden.
Slutsats
Du vet nu hur du extraherar text från docx‑filer med GroupDocs.Viewer för Java, hämtar sidnummer och itererar genom varje textrad. Dessa byggstenar låter dig skapa kraftfulla dokument‑behandlingspipelines som är snabba, pålitliga och enkla att underhålla.
Nästa steg
- Experimentera med andra format (PDF, PPTX) med samma API.
- Kombinera extraherad text med en fulltextsökmotor som Elasticsearch.
- Utforska stilalternativ för renderade bilder om du också behöver visuella förhandsvisningar.
Vanliga frågor
Q: Vilka filformat stöder GroupDocs.Viewer?
A: Det stöder ett brett sortiment, inklusive DOCX, PDF, XLSX, PPTX och många fler.
Q: Kan jag anpassa utdataformatet när jag extraherar rader?
A: Ja, genom att konfigurera ViewInfoOptions (t.ex. forTextView() för ren text).
Q: Finns det någon gräns för hur många sidor som kan bearbetas?
A: Det finns ingen hård gräns, men mycket stora dokument kan kräva batch‑behandling för att vara minnes‑effektiva.
Q: Hur hanterar jag undantag i GroupDocs.Viewer?
A: Omge din Viewer‑kod med try‑catch‑block och hantera ViewerException eller generisk IOException efter behov.
Q: Kan detta verktyg integreras med andra Java‑ramverk?
A: Absolut! Det fungerar sömlöst med Spring, Hibernate, Jakarta EE och mer.
Resurser
- GroupDocs-dokumentation
- API‑referens
- Ladda ner GroupDocs.Viewer
- Köp en licens
- Gratis provnedladdning
- Begär tillfällig licens
Senast uppdaterad: 2026-04-13
Testat med: GroupDocs.Viewer for Java 25.2
Författare: GroupDocs