Extrahovat text z docx pomocí GroupDocs.Viewer pro Java

Hledáte, jak extrahovat text z docx souborů programově? Ať už potřebujete získat čísla stránek, zachytit každý řádek textu nebo vytvořit prohledávatelné indexy, ruční provádění může být časově náročné a náchylné k chybám. GroupDocs.Viewer for Java proces zjednodušuje tím, že poskytuje vysoce výkonné API, která čtou strukturu dokumentu a vrací čistá textová data.

Analýza dokumentu pomocí GroupDocs.Viewer pro Java

Rychlé odpovědi

  • Co znamená “extrahovat text z docx”? Znamená to programové čtení souboru DOCX a získání jeho čistého textového obsahu řádek po řádku.
  • Která knihovna to řeší? GroupDocs.Viewer for Java poskytuje třídu Viewer a související API.
  • Potřebuji licenci? Bezplatná zkušební verze funguje pro hodnocení; placená licence je vyžadována pro produkci.
  • Jaká verze Javy je požadována? Jakýkoli JDK 8 + kompatibilní s Mavenem.
  • Mohu zpracovávat velké dávky? Ano—opakovým použitím instancí Viewer a zpracováním stránek ve streamu.

Co je “extrahovat text z docx”?

Extrahování textu z DOCX souboru znamená čtení vnitřní XML struktury dokumentu a vrácení čitelného textu bez formátování. To je užitečné pro indexování, vyhledávání nebo předávání obsahu do následných analytických pipeline.

Proč používat GroupDocs.Viewer pro Java?

  • Přesnost: Zpracovává složité rozvržení, tabulky a dokumenty s více sloupci.
  • Rychlost: Optimalizovaný renderovací engine, který funguje rychle i u velkých souborů.
  • Podpora více formátů: Stejné API funguje pro PDF, PPTX, XLSX a další, takže můžete znovu použít kód.
  • Žádné externí závislosti: Čistá Java, nevyžaduje nativní knihovny.

Požadavky

  • Java Development Kit (JDK) 8 nebo novější.
  • Maven nainstalovaný pro správu závislostí.
  • DOCX soubor, který chcete analyzovat (umístěte jej do známé složky).

Nastavení GroupDocs.Viewer pro Java

Přidejte repozitář GroupDocs a závislost do vašeho 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>

Kroky získání licence

Základní inicializace

  1. Importujte požadované třídy.
  2. Vytvořte instanci Viewer, která ukazuje na váš DOCX soubor.
  3. Použijte ViewInfoOptions.forPngView(true), abyste požádali o informace na úrovni stránky (metadata a řádky textu).

Jak extrahovat text z docx – Průvodce krok za krokem

1. Extrahování metadat stránky

Metadata stránky, jako je číslo stránky, jsou nezbytná, když potřebujete vytvořit navigační struktury nebo odkazovat na konkrétní sekce.

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): Instruuje API, aby sbíralo informace o stránce během přípravy PNG renderování.
  • viewInfo.getPages(): Vrací kolekci, kde každý objekt Page obsahuje své číslo a další metadata.

Tip: Uvolněte Viewer uvnitř bloku try‑with‑resources, aby se automaticky uvolnily nativní zdroje.

2. Extrahování řádků textu ze stránek

Nyní, když můžete identifikovat každou stránku, získáme skutečné řádky textu.

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(): Vrací seznam objektů Line, z nichž každý představuje jeden řádek textu tak, jak se zobrazuje na stránce.
  • Vnitřní smyčka vypisuje každý řádek, oddělený tabulátory pro čitelnost.

Běžné problémy a řešení

PříznakPravděpodobná příčinaŘešení
null čísla stránekDokument nebyl načten správněOvěřte cestu k souboru a ujistěte se, že soubor existuje.
Žádné řádky textu nebyly vrácenyNepodporovaný formát souboruZkontrolujte, že je verze DOCX podporována; v případě potřeby aktualizujte GroupDocs.
OutOfMemoryError u velkých souborůViewer drží příliš mnoho stránek v pamětiZpracovávejte stránky v menších dávkách nebo znovu použijte stejnou instanci Viewer.

Praktické aplikace

  1. Indexování vyhledávače: Ukládejte čísla stránek spolu s extrahovaným textem, aby bylo možné přesně získat úryvky.
  2. Právní revize dokumentů: Získejte každý řádek pro automatizovanou detekci klauzulí nebo procesy redakce.
  3. Migrace obsahu: Přesuňte starší DOCX obsah do CMS při zachování struktury.
  4. Přehledové dashboardy: Shrňte klíčové sekce extrahováním nadpisů a odrážek.

Úvahy o výkonu

  • Uvolňovat správně: Vždy zavřete Viewer (použijte try‑with‑resources).
  • Dávkové zpracování: Při zpracování mnoha dokumentů znovu použijte jednu instanci Viewer na vlákno, aby se snížila režie.
  • Možnosti renderování: Pokud potřebujete jen text, můžete přeskočit PNG renderování pomocí ViewInfoOptions.forTextView() (neukázáno zde), čímž zkrátíte dobu zpracování.

Závěr

Nyní víte, jak extrahovat text z docx souborů pomocí GroupDocs.Viewer pro Java, získat čísla stránek a iterovat přes každý řádek textu. Tyto stavební bloky vám umožní vytvořit výkonné pipeline pro zpracování dokumentů, které jsou rychlé, spolehlivé a snadno udržovatelné.

Další kroky

  • Experimentujte s dalšími formáty (PDF, PPTX) pomocí stejného API.
  • Kombinujte extrahovaný text s full‑textovým vyhledávačem jako Elasticsearch.
  • Prozkoumejte možnosti stylování pro renderované obrázky, pokud potřebujete i vizuální náhledy.

Často kladené otázky

Q: Jaké souborové formáty GroupDocs.Viewer podporuje?
A: Podporuje širokou škálu, včetně DOCX, PDF, XLSX, PPTX a mnoha dalších.

Q: Mohu přizpůsobit výstupní formát při extrahování řádků?
A: Ano, konfigurací ViewInfoOptions (např. forTextView() pro čistý text).

Q: Existuje limit na počet stránek, které lze zpracovat?
A: Neexistuje pevný limit, ale velmi velké dokumenty mohou vyžadovat dávkové zpracování pro úsporu paměti.

Q: Jak zacházet s výjimkami v GroupDocs.Viewer?
A: Zabalte svůj kód Viewer do bloků try‑catch a podle potřeby ošetřete ViewerException nebo obecnou IOException.

Q: Může tento nástroj integrovat s dalšími Java frameworky?
A: Rozhodně! Funguje bez problémů se Spring, Hibernate, Jakarta EE a dalšími.

Zdroje


Poslední aktualizace: 2026-04-13
Testováno s: GroupDocs.Viewer for Java 25.2
Autor: GroupDocs