Extract formatted text from document page

GroupDocs.Parser provides the functionality to extract a formatted text from document page by the getFormattedText(int, FormattedTextOptions) method:

TextReader getFormattedText(int pageIndex, FormattedTextOptions options);

The method returns an instance of TextReader class with an extracted text. FormattedTextOptions has the following constructor:

FormattedTextOptions(FormattedTextMode mode);

FormattedTextMode enumeration has the following members:

MemberDescription
HtmlHTML format.
MarkdownMarkdown format.
PlainTextPlain text format.

TextReader class extends java.io.Reader and adds the following members:

MemberDescription
readLineReads a line of characters from the text reader and returns the data as a string.
readToEndReads all characters from the current position to the end of the text reader and returns them as one string.

Here are the steps to extract a HTML formatted page text from the document:

The following example shows how to extract a document page text as Markdown text:

// Create an instance of Parser class
try (Parser parser = new Parser(Constants.SampleDocx)) {
    // Check if the document supports formatted text extraction
    if (!parser.getFeatures().isFormattedText()) {
        System.out.println("Document isn't supports formatted text extraction.");
        return;
    }
    // Get the document info
    IDocumentInfo documentInfo = parser.getDocumentInfo();
    // Check if the document has pages
    if (documentInfo.getPageCount() == 0) {
        System.out.println("Document hasn't pages.");
        return;
    }
    // Iterate over pages
    for (int p = 0; p < documentInfo.getPageCount(); p++) {
        // Print a page number 
        System.out.println(String.format("Page %d/%d", p + 1, documentInfo.getPageCount()));
        // Extract a formatted text into the reader
        try (TextReader reader = parser.getFormattedText(p, new FormattedTextOptions(FormattedTextMode.Markdown))) {
            // Print a formatted text from the document
            // We ignore null-checking as we have checked formatted text extraction feature support earlier
            System.out.println(reader.readToEnd());
        }
    }
}

More resources

GitHub examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free online document parser App

Along with full featured Java library we provide simple, but powerful free Apps.

You are welcome to extract data from PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, Emails and more with our free online Free Online Document Parser App.