如何使用javascript阅读epub文件

问题描述 投票:6回答:2

如何使用javascript读取epub文件?

我尝试过epubjs,但这不适合我的要求。还有其他可用的JavaScript库吗?

javascript epub client-side
2个回答
12
投票

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


0
投票

相当老的问题,无论如何我是流行的[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");


© www.soinside.com 2019 - 2024. All rights reserved.