如何使用javascript读取epub文件?
我尝试过epubjs,但这不适合我的要求。还有其他可用的JavaScript库吗?
Readium Foundation刚发布了Readium Web组件:请参见http://readium.org/news/announcing-readiumjs-a-javascript-library-for-browser-based-epub-3-reading(代码:https://github.com/readium/Readium-Web-Components]
或者,您可能想看看FuturePress:http://www.futurepress.org/(代码:https://github.com/fchasen/epub.js/]
最后,TEA还有一些您可能会发现有趣的东西:https://github.com/TEA-ebook/teabook-open-reader
相当老的问题,无论如何我是流行的[TreineticEpubReader][1]
的作者,实际上它是readium-js-viewer
的一个分支,为简单起见对其进行了修改,
[库是纯JavaScript,因此您可以将其与任何现代框架混合使用,这是示例代码,您也可以查看sample
内的dist
文件夹以找到有效的演示]]
<div id="epub-reader-frame"></div>
var exControls = TreineticEpubReader.handler(); exControls.registerEvent("onEpubLoadSuccess", function () { }); exControls.registerEvent("onEpubLoadFail", function () { }); exControls.registerEvent("onTOCLoaded", function (hasTOC) { if (!hasTOC) { let toc = exControls.getTOCJson(); } // you can use following api calls after this /** exControls.hasNextPage() exControls.nextPage(); exControls.hasPrevPage() exControls.prevPage(); exControls.makeBookMark(); exControls.changeFontSize(int); exControls.changeColumnMaxWidth(int); exControls.setTheme("theme-id-goes-here"); exControls.setScrollMode("scroll-type-id-goes-here"); exControls.setDisplayFormat("display-format-id-goes-here"); extcontrols.getRecommendedFontSizeRange() extcontrols.getRecommendedColumnWidthRange() var list = extcontrols.getAvailableThemes(); var list = extcontrols.getAvailableScrollModes(); var list = extcontrols.getAvailableDisplayFormats(); var settings = extcontrols.getCurrentReaderSettings(); **/ }); var config = TreineticEpubReader.config(); config.jsLibRoot = "src/ZIPJS/"; TreineticEpubReader.create("#epub-reader-frame"); TreineticEpubReader.open("assets/epub/epub_1.epub");