npm 包 @universalviewer/uv-ebook-components 使用教程

阅读时长 11 分钟读完

什么是 @universalviewer/uv-ebook-components?

@universalviewer/uv-ebook-components 是一个 npm 包,用于在 web 应用中展示 EPUB 和 PDF 电子书。该组件提供了主题、翻页控制、缩放、目录和搜索等功能,使得开发者能够将电子书嵌入到自己的 web 应用中,并且可自定义样式和布局等。

安装和使用

版本要求

要使用 @universalviewer/uv-ebook-components,需要 Node.js 12 或更高版本。

安装

可以通过 npm 安装 @universalviewer/uv-ebook-components:

用例

-- -------------------- ---- -------
------ - --------- ------- - ---- ---------------------------------------

-- -- ---- ---
----- -------- - --- ----------
    ---------- -------
    -------- -----------------------------
    -------- ---------------
---

-- -- --- ---
----- ------- - --- ---------
    ---------- -------
    -------- -----------------------------
    -------- --------------
---

可以将 EpubViewPdfView 组件实例化,然后传递给它们 containerbaseUrlbookUrl 等属性。

其中:

  • container:指定电子书展示区域的选择器,可以是 ID 选择器或者类选择器或者标签选择器。

  • baseUrl:指定电子书资源的基础 URL,用于指定电子书的 CSS 和 font 文件所在的路径,一般情况下这是一个固定的地址。如果不指定,则使用当前页面的地址作为基础 URL。

  • bookUrl:指定电子书的 URL,可以是相对路径、绝对路径或者网络绝对路径。

除此之外,还可以通过下面的方式来自定义主题和布局:

-- -------------------- ---- -------
----- -------- - --- ----------
    ---------- -------
    -------- -----------------------------
    -------- ---------------
    --------- -
        ------ --------
        ----------- ------
        --------- ---
        ----------- --------
        ----------- ----
        -------- -
            ---- --
            ------ --
            ------- --
            ----- --
        --
    --
---

----- ------- - --- ---------
    ---------- -------
    -------- -----------------------------
    -------- --------------
    --------- -
        ------------ -----
        ------------ -----
        -------------- -----
        -------------- -----
        --------- -----
    --
---

可以传递 settings 对象来覆盖默认的选项,具体包含哪些选项可以参考 API 文档。

API 文档

@universalviewer/uv-ebook-components 提供了一些 API,以方便你根据需求来操作电子书。

EpubView 和 PdfView 公共 API

settings

-- -------------------- ---- -------
----- -------- - --- ----------
    ---------- -------
    -------- -----------------------------
    -------- ---------------
    --------- -
        ------ --------
        ----------- ------
        --------- ---
        ----------- --------
        ----------- ----
        -------- -
            ---- --
            ------ --
            ------- --
            ----- --
        --
    --
---

-------------------------------
-- -- -
--   ------ --------
--   ----------- ------
--   --------- ---
--   ----------- --------
--   ----------- ----
--   -------- - ---- -- ------ -- ------- -- ----- - --
-- -

settings 是一个对象,用于配置电子书的主题、布局等选项。具体包含哪些选项可以参考 API 文档。

setSettings(settings)

-- -------------------- ---- -------
----- -------- - --- ----------
    ---------- -------
    -------- -----------------------------
    -------- ---------------
---

----------------------
    ------ --------
    ----------- -----
    --------- ---
    ----------- --------
    ----------- ----
    -------- - ---- --- ------ --- ------- --- ----- -- --
---

-------------------------------
-- -- -
--   ------ --------
--   ----------- -----
--   --------- ---
--   ----------- --------
--   ----------- ----
--   -------- - ---- --- ------ --- ------- --- ----- -- --
-- -

setSettings(settings) 方法可以用来动态设置 settings

getSettings()

-- -------------------- ---- -------
----- -------- - --- ----------
    ---------- -------
    -------- -----------------------------
    -------- ---------------
---

----- -------- - -----------------------
----------------------
-- -- -
--   ------ ----------
--   ----------- ------
--   --------- ---
--   ----------- --------
--   ----------- ----
--   -------- - ---- -- ------ -- ------- -- ----- - --
-- -

getSettings() 方法可以获取当前的 settings

on(event, callback)

-- -------------------- ---- -------
----- -------- - --- ----------
    ---------- -------
    -------- -----------------------------
    -------- ---------------
---

--------------------- -- -- -
    ------------------------
---

on(event, callback) 方法用于监听特定的事件。目前支持的事件有:

  • loaded:电子书加载完成时触发。
  • resized:电子书大小调整时触发。
  • rendered:电子书渲染完成时触发。
  • destroyed:电子书销毁完成时触发。

off(event, callback)

-- -------------------- ---- -------
----- -------- - --- ----------
    ---------- -------
    -------- -----------------------------
    -------- ---------------
---

----- -------- - -- -- -
    ------------------------
--

--------------------- ----------
---------------------- ----------

off(event, callback) 方法用于取消监听特定的事件。

destroy()

destroy() 方法用于销毁组件,释放内存和资源。

EpubView 还有以下 API:

next()

next() 方法用于翻到电子书的下一页。

prev()

prev() 方法用于翻到电子书的上一页。

goToPage(pageNumber)

goToPage(pageNumber) 方法用于直接跳转到指定页码的页面。

search(keyword)

search(keyword) 方法用于在电子书中搜索指定的关键字。

PdfView 还有以下 API:

zoomIn()

zoomIn() 方法用于将电子书放大一级。

zoomOut()

zoomOut() 方法用于将电子书缩小一级。

resetZoom()

resetZoom() 方法用于将电子书缩放恢复到原始大小。

结语

@universalviewer/uv-ebook-components 提供了将电子书嵌入到 web 应用中的方便和易用性。通过阅读本篇文章,你应该已经了解了如何安装和使用 npm 包,以及如何配置和自定义选项。如果你有更多问题,可以参考官方文档或者提出问题。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb549b5cbfe1ea0611409

纠错
反馈