Note that there are some explanatory texts on larger screens.

plurals
  1. POAdvanced ePub reader
    primarykey
    data
    text
    <p>I'm trying to build an advanced ePub reader using jQuery and PHP/Zend Framework1.12 (for the epub3.0 format). The reader should contain the following features:</p> <ul> <li>books should be displayed using pages (2 pages at a time)</li> <li>the user should be able to navigate between pages and chapters using a slider</li> <li>the user can create highlights and bookmark pages</li> <li>the reader must be cross-browser (I don't care much about older versions of IE, but it must work on Safari, Mozilla, Chrome)</li> </ul> <p>My idea is to make some kind of PHP parser that will handle the epub content and pass it on to the Javascript code in a more 'friendly' format, but I haven't worked with epubs before and I'm not sure where to start. </p> <p>Here are a few questions that I have been struggling with:</p> <ol> <li><p>The first problem I have encountered is how to extract the content from an .ePub archive and render it in a such a way that will allow the paginated view. What PHP library would you recommend for parsing epubs? I have already tested some libraries like <a href="https://github.com/Vaporbook/BookGluttonEpub" rel="nofollow">BookGluttonEpub</a> (seems quite old) and <a href="https://github.com/KitaitiMakoto/PHP-EPUBParser" rel="nofollow">EPUBParser</a> (difficult to understand since there are no examples and docs). Are there others I missed?</p></li> <li><p>Should I clean the html code (like remove invalid tags for example) before passing it to the reader?</p></li> <li><p>What do you consider is the best way to display the pages? Should I use CSS and the 'column' property? Or should I make a more advanced script that will split the html content of a chapter into pages?</p></li> </ol> <p>Thanks</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload