EpubParser is a java library for parsing epub files.

EpubParser lets you read the epub content page by page. It aims to reduce memory consumption. It is useful for large epub files.


Usage is fairly simple. Just instantiate a reader object, input the epub file path, set the optional values and start parsing the file by readSection method.

Example usage:

Reader reader = new Reader();
reader.setMaxContentPerSection(1000); // Max string length for the current page.
reader.setIsIncludingTextContent(true); // Optional, to return the tags-excluded version.
reader.setFullContent(epubFilePath); // Must call before readSection.

BookSection bookSection = reader.readSection(pageIndex);
String sectionContent = bookSection.getSectionContent(); // Returns content as html.
String sectionTextContent = bookSection.getSectionTextContent(); // Excludes html tags.

To save the page and parsing progress:


And to check and load it afterwards:

if (reader.isSavedProgressFound()) { // Available after calling setFullContent method.
    int lastSavedPage = reader.loadProgress();

Check out EpubParser-Sample-Android-Application for more info. Google Play Link

Check out my latest app written by using this library. Effective Reader


Add dependency in your project build.gradle

compile 'com.github.mertakdut:EpubParser:1.0.95'

Or grab it via maven



See the LICENSE file for license rights and limitations (Apache License 2.0).