Extract data with GroupDocs.Parser

GroupDocs.Parser pulls content out of documents — plain text, formatted text, images, metadata, hyperlinks, tables and barcodes — across PDF, Word, spreadsheets, presentations, email, ebooks and archives. It is the usual first step when feeding documents to a search index or a language model.

Every example below opens contract.docx and is ready to copy into a project once you have installed the package.

Extract text from a document

getText returns a TextReader. It returns null rather than throwing when a format does not support text extraction, so check the reader before you read from it.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;

try (Parser parser = new Parser("contract.docx")) {
    try (TextReader reader = parser.getText()) {
        if (reader == null) {
            System.out.println("Text extraction is not supported for this format.");
        } else {
            System.out.println(reader.readToEnd());
        }
    }
}

contract.docx is the sample file used in this example. Click here to download it.

Consulting Services Agreement
Cascade Partners and Aldergrove Manufacturing
This agreement records the terms under which Cascade Partners will deliver the engagement known internally as Project Northlight. It is issued by Dana Whitfield, Engagement Lead, and countersigned by Marcus Oyelaran.

1. Scope of work
Cascade Partners will review the current order-to-cash process at Aldergrove Manufacturing, identify the constraints limiting throughput, and deliver a prioritised remediation plan with an 
[TRUNCATED]

Download full output

Extract text from a single page

getText also accepts a zero-based page index, so you can pull one page out of a long document instead of reading the whole thing.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;

try (Parser parser = new Parser("contract.docx")) {
    // Read the first page only; the page index is zero-based
    try (TextReader reader = parser.getText(0)) {
        if (reader == null) {
            System.out.println("Text extraction is not supported for this format.");
        } else {
            System.out.println(reader.readToEnd());
        }
    }
}

contract.docx is the sample file used in this example. Click here to download it.

Consulting Services Agreement
Cascade Partners and Aldergrove Manufacturing
This agreement records the terms under which Cascade Partners will deliver the engagement known internally as Project Northlight. It is issued by Dana Whitfield, Engagement Lead, and countersigned by Marcus Oyelaran.
1. Scope of work
Cascade Partners will review the current order-to-cash process at Aldergrove Manufacturing, identify the constraints limiting throughput, and deliver a prioritised remediation plan with an i
[TRUNCATED]

Download full output

Extract text as Markdown

Formatted extraction keeps the document’s structure — headings, lists, emphasis — instead of flattening it. Markdown is the format to ask for when the text is destined for a language model.

import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.FormattedTextMode;
import com.groupdocs.parser.options.FormattedTextOptions;

try (Parser parser = new Parser("contract.docx")) {
    try (TextReader reader = parser.getFormattedText(
            new FormattedTextOptions(FormattedTextMode.Markdown))) {
        if (reader == null) {
            System.out.println("Formatted extraction is not supported for this format.");
        } else {
            Files.write(Paths.get("parser-extract-markdown.md"),
                reader.readToEnd().getBytes(StandardCharsets.UTF_8));
        }
    }
}

contract.docx is the sample file used in this example. Click here to download it.

**Consulting Services Agreement**

Cascade Partners and Aldergrove Manufacturing

This agreement records the terms under which Cascade Partners will deliver the engagement known internally as Project Northlight. It is issued by Dana Whitfield, Engagement Lead, and countersigned by Marcus Oyelaran.

# **1. Scope of work**

Cascade Partners will review the current order-to-cash process at Aldergrove Manufacturing, identify the constraints limiting throughput, and deliver a prioritised remediation 
[TRUNCATED]

Download full output

Formatted extraction is not available for every format — PDF returns null from getFormattedText, where plain getText works fine — which is why the snippet checks the reader first. Word documents support Markdown, HTML and plain-text modes.

Read document information

getDocumentInfo reports the format and page count before you commit to extracting anything.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.IDocumentInfo;

try (Parser parser = new Parser("contract.docx")) {
    IDocumentInfo info = parser.getDocumentInfo();

    System.out.println("File type: " + info.getFileType().getFileFormat());
    System.out.println("Pages: " + info.getPageCount());
    System.out.println("Size: " + info.getSize() + " bytes");
}

contract.docx is the sample file used in this example. Click here to download it.

File type: Microsoft Word Open XML Document
Pages: 3
Size: 15096 bytes

Download full output

Learn more

GroupDocs.Parser also extracts images, hyperlinks, tables of contents and barcodes, parses structured data with user-defined templates, reads PDF form values, and reaches into email attachments and ZIP archives.

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.