In this release we’ve added TTS. And we’ve modified the downloading event. We added a button to cancel downloading and a progress bar to show the downloading progress.
Public Google Document is here!
AnFengDe EPUB SDK
EPUB SDK is a development kit written in ANSI C and Java, realizing EPUB 3.0 parsing and achieving excellent performance on mobile devices.
This development kit provides native development interfaces for both Android and iOS. It contains a framework for the iOS platform, a jar file and a shared library for the Android platform.
All you need to do is simple copying and importing, then you can directly reference in your own project.
Creative Commons – A shared culture.epub, Around the world in 28 languages.epub. For more epub 3.0 test books you can click this link,
Both our android app and ios app shared the same UI and features.
- Changing text size We provided multiple, more than RMSDK’s, text sizes for you to choose from. To zoom in or out, just tap the button pair on the top menu bar marked as “A”.
- Flipping pages Swipe left and right on the screen. Our SDK also supports previous/next chapter jumping by tapping buttons at the bottom setting bar.
- Bookmark It’s easy to add a bookmark anywhere you please in the book.
- Table of contents Table of contents for epub 3.0 and epub 2.0 books will display correctly. That’s what neither RMSDK nor Stanza can do.
- Skipping pages It’s easy to jump to anywhere of the book by moving the slider on the sliding bar.
- Page percentage Our SDK chooses to use percentage in marking the reading progress.
- Playing audio and video Our SDK supports the playing of audio and video files embedded in the book.
- TTS(Text To Speech) our SDK support speaking the selected content of the book.
- Friendly reading interface For several books (such as this book), if you open them using RMSDK, you can find that the reading interface is unfriendly. For the same book, our SDK performs excellent rendering.
- Changing the style of UI If you are not satisfied with the original UI style, our SDK provides several interfaces for customizing and replacement.
- Supporting both EPUB 2.0 and EPUB 3.0 specification Our SDK exhibits excellent performance in rendering EPUB 2.0 and EPUB 3.0 books.
- Free of charge AnReader SDK with advertisement bar is free of charge. To the best of our knowledge, the price for licensing RMSDK on ios is $30,000.
More functions Our team is working on AnFengDe EPUB SDK for adding more features.
The Adobe Reader Mobile SDK (RMSDK) is Adobe’s toolkit for rendering EPUB and PDF content for eReading apps and devices.
Creative Commons – A shared culture.epub, Around the world in 28 languages.epub.
- Changing text size The app provided five text sizes.
- Flipping pages Swipe the finger left and right on the screen.
- Changing orientation You can choose the reading orientation. Our AnFengDe team thought that this function was useless and had abandoned it.
- Searching RMSDK supports searching. The function will be available in the future release.
- Hightlight RMSDK supports highlighting. The function is in our plan and will be available in the future release.
- Bookmark This is a basic function of the reader software.
- Skipping pages This is a basic function of the reader software.
Function Table List
In this release we’ve added the sharing function. In the reading page you can select the text by long clicking and then share the text.
In this release we’ve added bookshelf and settings function. In android you can add books from local or internet. In iOS you can load books from internet. And we’ve fixed some bugs.
We thank David Ma for conveying to us the problem of creating a new project by our SDK.
We’ve been investigating the cause and will make updates as soon as we solve the bug.
For the moment please create new projects by editing the CallEpubUI interface in the SDK.
In this release we’ve optimized the bookmark algorithm. Our bookmark data storing is base on HTML5 localStorage, which results in precise bookmark. At the same time, we’ve modified the rendering so that users who read on iPad will feel more comfortable.
In this release our app supports the iPad. And at the same time, we’ve fixed the bug that some books can’t be opened successfully. In our UI component we’ve added some functions to check whether the book is supported, if not, the app will display the corresponding error message and exit.
In this release we‘ve made a lot of modifications. We’ve realized our UI component based on HTML5 + CSS and used the same js code in android and iOS. Of course the users can always modify our js to get their desired effects, for example, a custom menu. And we’ve added the bookmark feature so that reading can be easier. At the same time we’ve included the the earlier EPub SDK example project to demonstrate the use of it.We’ve made some changes in version structure.
To use percentage or page numbers? This is a problem.
When reading EPUB books on electronic devices, we notice that a lot of apps display the current page number as paper books do in the rendering of reading content. Unlike PDF files which are layout based, EPUB files are streaming. In other words, the resolution of the device has a direct impact on the EPUB books pages. On different devices, the total page number is not the same.
In the case of insufficient resolution, the layout formatted PDF files can be zoomed in or out and read by roaming fingers on mobile devices. This isn’t good reading experience although the page total is always fixed, especially when the resolution is not big enough. The advantage of streaming EPUB files is that, no matter in what resolution, a font size suitable for reading is always available. The only thing you need to do is just a simple taping, a benefit as the result of resolution considerations in the EPUB standard for mobile devices.
Usually an issue arises when displaying page numbers in EPUB rendering: the need of calculating page numbers dynamically according to the device resolution. And that results in additional memory use and some doubts due to contradiction to habits in the case of displaying percentages. Take iBook as an example, during the loading of a book, you will note colour in the progress bar below turning gradually from grey to black. It’s an indicator that the page calculating process is underway. It will eventually produce a scroll bar which users can move quickly, and page number will appear on the top.
Imagine such a scenario: my friend opens the same book on an Android device, and his page number, because of resolution difference, is not the same as mine. When I say, “turn to page 57, there’s an interesting story there.” My friend won’t find the story.
If I say in another way, for example, “turn to 57% position”, or even more precisely by omitting the percentage and saying “turn to 57.23″, then this can be quickly positioned by inputting the digits, and the problem just described will be no more.
About the issue of additional memory use, the usual page calculation takes resolution into consideration. Calculation mount will be much smaller with percentage, saving very precious battery power.
Another problem, for Apple (the same for Amazon, Google…), it’s best that EPUB books are displayed on their own devices. It’s the rule they dream for the world. In the real world, however, we have a lot of good friends who have different preferences for manufacturers. We do not want such preferences affect their pleasure of reading.
In this release we’ve fixed the bug of memory leaks in EPUB SDK. Meanwhile we added the features of page turning and reading progress bar for the rendering of book contents.
We’ve made intensive testing of the SDK core, making the program more stable. And the features for rendering the contents are on the increase. If you have any suggestions, please contact us at firstname.lastname@example.org.
It’s been some time now since the last release. During this period, one of the most meaningful thing we did was the refactoring of test environment for EPUB books. Before, we had written unit tests for each API. Along with the more and more types that were supported, and the increase in books that were tested, the maintenance of test code was causing trouble for us. So we stopped to improve testing tools. Now, just put the book to be tested on the internal test site, then the test program automatically runs the testcases. We run these tests each time we commit the code internally. We are very grateful to those members of the epub samples team, whose website is: http://
Another thing, however, turned out to be very frustrating: for UI, supporting the basic flip operation is a matter of course. Since considerable difference exists between different Android versions – simply too many inconsistencies – providing compatible code becomes very complex. If we consider only the iOS platform, the flipping effect can be made flamboyant. No programmer wants to maintain a very complex codes, which will bring us a lot of pressure in maintenance. Maybe we should introduce a modest version and leave a better UI to the next version, or maybe we give up support for some low Android versions.
Recently, we received quite a lot emails which gave us some valuable suggestions, thank you very much. We will attach great importance to your proposals, I believe that our team will do better, our goal is that our users do the most with the least code.
A new version of AnFengDe EPUB UI Component is released. A significant improvement of this version is the support to EPUB 2.0.x, in which most of the ebooks on the net are published. The SDK API interface is unchanged for compatibility with previous applications. Also we’ve added Google’s AdMob feature. Ebook readers developed by this dev kit will cast advertisements. Please contact us if you want to remove it or replace it with your own ads. Paying a very small amount of fee will suffice.
We are still working to the development, please keep attention.