Title: Simple Ebook Viewer
Author: Francesco Martini
Published: <strong>2025 年 5 月 27 日</strong>
Last modified: 2026 年 4 月 2 日

---

搜尋外掛

![](https://ps.w.org/simple-ebook-viewer/assets/banner-772x250.png?rev=3301587)

![](https://ps.w.org/simple-ebook-viewer/assets/icon-256x256.png?rev=3306760)

# Simple Ebook Viewer

 由 [Francesco Martini](https://profiles.wordpress.org/wrcisco/) 開發

[下載](https://downloads.wordpress.org/plugin/simple-ebook-viewer.1.0.1.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/simple-ebook-viewer/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/simple-ebook-viewer/#reviews)
 * [開發資訊](https://tw.wordpress.org/plugins/simple-ebook-viewer/#developers)

 [技術支援](https://wordpress.org/support/plugin/simple-ebook-viewer/)

## 外掛說明

After installing this plugin, you will be able to upload various ebook formats as
normal media files and to display them on your site using a shortcode.

Every ebook uploaded on your site will have an “ebook slug” (by default it will 
be the ebook name) that you can view and edit in the Edit Media page of the Admin
Panel.

The full source code of the plugin is hosted on [GitHub](https://github.com/wrCisco/simple-ebook-viewer-for-wp).

**Supported formats**
 At the moment, the plugin will let you upload and display
the following file types, provided that they are DRM-free:

 * epub
 * mobi
 * azw
 * azw3
 * fb2
 * fbz
 * cbz

**Usage**
 Insert the shortcode `[simebv_viewer book="MY_EBOOK_SLUG_HERE"]` in any
one of your posts.

**Styling**
 You can add css styles and classes for the viewer container by adding
these attributes to the shortcode:

 * **`height`**
 * **`width`**
 * **`max-height`**
 * **`max-width`**
 * **`border`**
 * **`style`**
 * **`class`**

Height, width, max-height, max-width and border accept any valid CSS value for those
properties. 
 Style and class accept any valid value for the respective HTML attributes.

Some examples:

    ```
    [simebv_viewer book="MY_EBOOK_SLUG_HERE" style="height:30em;border:2px inset black"]

    [simebv_viewer book="MY_EBOOK_SLUG_HERE" max-height="100vh" height="40em"]

    [simebv_viewer book="MY_EBOOK_SLUG_HERE" class="my-container-class my-container-second-class"]
    ```

**Settings**

The users of your site will be able to set their preferences about the appearance
of the ebook in the Viewer by opening the Viewer menu (the cog icon on the top right)
and by selecting the appropriate entries.

The plugin sets some reasonable defaults for these preferences, but if you’re not
happy with those defaults, you can change them by adding one or more of the following
attributes to the shortcode, with the appropriate values:

 * **`layout`**
    - accepted values: “**paginated**” or “**scrolled**” (default: **paginated**)
 * **`max-pages`**
    - accepted values: **1**, **2**, **3** or **4** (default: **2**)
 * **`default-font-size`**
    - accepted values: “**small**“, “**medium**“, “**large**“, “**x-large**” (default:**
      medium**)
 * **`font-family`**
    - accepted_values: “**auto**“, “**serif**“, “**sans-serif**“, “**monospace**“,“**
      opendyslexic**” (default: **auto**)
 * **`page-margins`**
    - accepted values: “**small**“, “**medium**“, “**large**” (default: **medium**)
 * **`show-annotations`**
    - accepted values: “**true**“, “**false**” (default: **false**)
 * **`show-page-delimiters`**
    - accepted values: “**true**“, “**false**” (default: **false**)
 * **`zoom`**
    - accepted values: “**fit-page**“, “**fit-width**” or a number in the range **
      10 – 400** (default: **fit-page**)
 * **`color-scheme`**
    - accepted values: “**auto**“, “**sepia**“, “**light**“, “**dark**“, “**light-
      forced**“, “**dark-forced**” (default: **auto**)

**Layout**, **max-pages**, **default-font-size** and **page-margins** are only available
for reflowable ebooks, while **zoom** is only available for fixed layout ones.

**Max-pages** is the maximum number of pages (in the “paginated” layout) that the
user will be able to see in a single view (if there is enough screen space).

**Show-annotations** and **show-page-delimiters** let the user see on the pages 
the Calibre annotations (as highlighted text, if there are Calibre annotations in
the ebook) and the page delimiters (as short vertical bars, if the ebook contains
a page list).

**Color-scheme**: “auto” means that the Viewer will adapt to the preferred color-
scheme set by the user on their device or browser (light or dark).

For most ebooks these preferences should be enough, but sometimes there are ebooks
with style rules that don’t play well with the styles set by the Viewer, so the 
users also have the option to apply some filters to the Viewer’s colors (with the
menu entry “Color filter…”).

You can set the default values for these filters with the following shortcode’s 
attributes:

 * **`activate-color-filter`**
    - accepted values: “**true**“, “**false**” (default: **false**)
 * **`invert-color-filter`**
    - accepted values: a number in the range **0 – 1** (default: **0**)
 * **`rotate-color-filter`**
    - accepted values: a number in the range **0 – 360** (default: **0**)
 * **`bg-transparent-filter`**
    - accepted values: “**true**“, “**false**” (default: **true**)
 * **`bg-color-filter`**
    - accepted values: a valid CSS hex color code (default: **#FFFFFF**)

Setting **activate-color-filter** to “true” is necessary to enable all the other
filters, and setting **bg-transparent-filter** to false is necessary to enable **
bg-color-filter**.

**Bg-transparent-filter** and **bg-color-filter** are available for reflowable ebooks
only.

**Invert-color-filter** inverts the lightness of the colors. With a value of 0 it
has no effect, with a value of 1, white become black and black become white.

**Rotate-color-filter** rotates the hues of all the colors in the ebook, like on
a [Color Wheel](https://developer.mozilla.org/en-US/docs/Glossary/Color_wheel) (
so, no effect on black and white).

There are some other settings that the users won’t be able to change by themselves.
These are:

 * **`always-full-viewport`**
    - accepted values: “**true**“, “**false**” (default: **false**. If **true**,**
      return-to-url** is also required)
 * **`return-to-url`**
    - accepted values: a URL with the same hostname as the page that contains the
      ebook viewer (default: ”)
 * **`real-fullscreen`**
    - accepted values: “**true**“, “**false**” (default: **false**)
 * **`allow-js`**
    - accepted values: “**true**“, “**false**” (default: **false**)
 * **`math-styles`**
    - accepted values: “**fonts**“, “**styles**“, “**all**” (default: ”)
 * **`ebook-author`**
    - accepted values: any string, max 260 characters (default: ”)
 * **`ebook-title`**
    - accepted values: any string, max 260 characters (default: ”)
 * **`popup-notes`**
    - accepted values: “**true**“, “**false**” (default: **true**)

With **always-full-viewport** set to “true”, the ebook viewer will automatically
cover the entire webpage when it is opened, and the “full screen” icon will be replaced
by a “close viewer” icon. **always-full-viewport=”true”** requires that also **return-
to-url** is present, with a valid URL that indicates the destination of the user
when they choose to close the viewer. The URL can be relative (e.g., “/” or “/books-
gallery”) or absolute. In either case, it must have the same hostname as the webpage
containing the ebook viewer (e.g. if the viewer is at https://www.example.com/ebook-
viewer, the absolute URL must start with https://www.example.com).

If **real-fullscreen** is set to “true”, the ebook viewer will cover the entire 
screen instead of only the viewport of the webpage when the user clicks on the “
full screen” icon. With **real-fullscreen** set to true, **always-full-viewport**
is ignored, since the full screen requires an explicit action by the user.

**Allow-js**: normally, the plugin forbids, as far as possible, script execution
from inside the ebooks. If you set **allow-js** to true, this restriction is relaxed,
and scripts within the ebook can be executed.
 **Caveat 1**: you need to be absolutely
certain that the code inside the ebook is not malicious, since it can harm your 
entire webpage. **Caveat 2**: the ebook viewer is not strongly equipped to deal 
with dynamic content created or removed after the ebook opening, so you might encounter
errors or inaccuracies when jumping from one ebook location to another in such a
circumstance.

**Math-styles**: in recent years all the major browsers have implemented a good 
deal of the MathML Core specification, so it is now possible to represent natively
many mathematical expressions without the use of third party libraries. However,
not all browsers and systems load automatically appropriate fonts. With math-styles
set to “fonts” or “all”, all the contents of MathML expression will use the Latin
Modern font.
 Another shortcoming in the current support of MathML is that only 
Gecko based browsers (i.e. Firefox) implement a breaking lines algorithm, so long
math expressions within small screens usually don’t fit entirely. With math-styles
set to “styles” or “all”, the plugin will use some html+css tricks to try to allow
either line breaks or horizontal scrolling.

**Ebook-author** and **ebook-title**: you can use these optional values to override
the ones that the ebook viewer retrieves from the ebook metadata in order to display
them to the users.

**Popup-notes**: show footnotes and endnotes as popups instead of just links. The
notes (and their references) need to be marked with the appropriate epub:type attributes
to ensure that they are displayed as popups (the ebook viewer will try to recognize
them anyway, but without guarantees).

### Warning

Ebooks can contain scripted content that might be executed on your webpage. The 
plugin does its best to forbid script execution from inside the loaded content, 
but it can’t guarantee 100% safety. Don’t display ebooks from untrusted sources 
and/or check your ebooks before uploading and displaying them. If you can, provide
a strict Content Security Policy for your site.

### Credits

This plugin embeds a slightly modified version of the foliate-js library
 by John
Factotum (https://github.com/johnfactotum/foliate-js), which is distributed under
the MIT license.

As secondary dependencies of the foliate-js library, the plugin embeds three other
libraries:

 * zip.js (https://github.com/gildas-lormeau/zip.js), licensed under the BSD-3-Clause;
 * fflate (https://github.com/101arrowz/fflate), MIT licensed.
 * PDF.js (https://github.com/mozilla/pdf.js), licensed under the Apache v2.0 license.

PDF.js is present in the repository’s source code, but is not included in the distribution
of the current version of the plugin.

Other libraries embedded by the plugin are:

 * vite-for-wp by Dzikri Aziz (https://github.com/kucrut/vite-for-wp),
    licensed
   under the GPL v2.0 license
 * Speech Rule Engine (https://github.com/Speech-Rule-Engine/speech-rule-engine),
   
   licensed under the Apache v2.0 license

Embedded fonts:

 * OpenDyslexic (https://opendyslexic.org/) by Abbie Gonzales, licensed under the
   SIL Open Font License v1.1;
 * Manrope (https://github.com/sharanda/manrope) by The Manrope Project Authors,
   licensed under the SIL Open Font License v1.1;
 * Latin Modern (https://www.gust.org.pl/projects/e-foundry) by the Polish TeX Users
   Group, licensed under the GUST Font License.

OpenDyslexic and Latin Modern fonts have been converted from their original OpenType
format to the woff2 format for use on the web, without, to the best of my knowledge,
modifying their internal parameters and metadata.

## 使用者評論

![](https://secure.gravatar.com/avatar/a3100e44f32c930593826654d552172ca6d9fa305fdba7d1f3407778c2b42da0?
s=60&d=retro&r=g)

### 󠀁[Fast, clean and powerful](https://wordpress.org/support/topic/fast-clean-and-powerful/)󠁿

 [cmaperezalvarez](https://profiles.wordpress.org/cmaperezalvarez/) 2026 年 4 月
4 日

The best solution for comfortably viewing and reading ebooks on a website. Even 
better than some ebook reading apps.

![](https://secure.gravatar.com/avatar/b36960d856522c43483623b8c5196d8c90013cdddd3e4b2bc82a6fd1b3bbfb6b?
s=60&d=retro&r=g)

### 󠀁[Great plugin](https://wordpress.org/support/topic/great-plugin-41212/)󠁿

 [firosyd](https://profiles.wordpress.org/firosyd/) 2026 年 1 月 18 日

I’m using the tool with success in our website. Very good. Thank you!

![](https://secure.gravatar.com/avatar/7095cf428655a915a97ccca9bff48b05adee3d00f3a9bdb24a96a632ccfd37ec?
s=60&d=retro&r=g)

### 󠀁[Works like a Charm](https://wordpress.org/support/topic/good-idea-but-doesnt-work-8/)󠁿

 [joykingwar](https://profiles.wordpress.org/joykingwar/) 2025 年 9 月 3 日 1 則
留言

The only solution on the market, and works effortlessly. Would be great if we could
load ebooks from external links e.g. from GoogleDrive URL.

![](https://secure.gravatar.com/avatar/6a1f5d1de1dabd05c76d40626d080b00f6ef9856103d7bbde5bb82680daf1d9b?
s=60&d=retro&r=g)

### 󠀁[Works fine!](https://wordpress.org/support/topic/works-fine-1630/)󠁿

 [aleteitei](https://profiles.wordpress.org/aleteitei/) 2025 年 5 月 27 日

Fast and easy to use to display ePubs on your website.

 [ 閱讀全部 4 則使用者評論 ](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/)

## 參與者及開發者

以下人員參與了開源軟體〈Simple Ebook Viewer〉的開發相關工作。

參與者

 *   [ Francesco Martini ](https://profiles.wordpress.org/wrcisco/)

〈Simple Ebook Viewer〉外掛目前已有 1 個本地化語言版本。 感謝[全部譯者](https://translate.wordpress.org/projects/wp-plugins/simple-ebook-viewer/contributors)
為這個外掛做出的貢獻。

[將〈Simple Ebook Viewer〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/simple-ebook-viewer)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/simple-ebook-viewer/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/simple-ebook-viewer/)，或透過
[RSS](https://plugins.trac.wordpress.org/log/simple-ebook-viewer/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/simple-ebook-viewer/)。

## 變更記錄

v1.0.1

 * Restructure code to allow user translations on the WordPress platform

v1.0.0

 * Add Text-to-Speech functionality (with a bare bones integration of the Speech
   Rule Engine for mathematical expressions)
 * Add option to inject specific math fonts and styles
 * Add a font style selection (auto, serif, sans-serif, monospace, OpenDyslexic)
 * Add dialog to display the ebook’s metadata
 * Add forced light and dark color themes (all text dark with light background and
   vice versa)
 * Add option for a real fullscreen instead of just full viewport
 * Add option to open the viewer in always-full-viewport mode
 * Add option to allow JavaScript in the ebooks
 * Add option to customize title and author names displayed to the users
 * Improved search function
 * Show Calibre annotations and page delimiters
 * Allow horizontal scrolling of overflowing elements on touch devices
 * Simplify text selection on touch devices

## 中繼資料

 *  版本 **1.0.1**
 *  最後更新 **7 天前**
 *  啟用安裝數 **300+**
 *  WordPress 版本需求 ** 6.0 或更新版本 **
 *  已測試相容的 WordPress 版本 **6.9.4**
 *  PHP 版本需求 ** 7.4 或更新版本 **
 *  語言
 * [English (US)](https://wordpress.org/plugins/simple-ebook-viewer/) 及 [Spanish (Spain)](https://es.wordpress.org/plugins/simple-ebook-viewer/).
 *  [將這個外掛本地化為你的母語版本](https://translate.wordpress.org/projects/wp-plugins/simple-ebook-viewer)
 * 標籤
 * [ebook](https://tw.wordpress.org/plugins/tags/ebook/)[epub](https://tw.wordpress.org/plugins/tags/epub/)
   [reader](https://tw.wordpress.org/plugins/tags/reader/)[viewer](https://tw.wordpress.org/plugins/tags/viewer/)
 *  [進階檢視](https://tw.wordpress.org/plugins/simple-ebook-viewer/advanced/)

## 評分

 5 星，滿分為 5 星

 *  [  4 個 5 星使用者評論     ](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/?filter=5)
 *  [  0 個 4 星使用者評論     ](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/?filter=4)
 *  [  0 個 3 星使用者評論     ](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/?filter=3)
 *  [  0 個 2 星使用者評論     ](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/?filter=2)
 *  [  0 個 1 星使用者評論     ](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/#new-post)

[查看全部使用者評論](https://wordpress.org/support/plugin/simple-ebook-viewer/reviews/)

## 參與者

 *   [ Francesco Martini ](https://profiles.wordpress.org/wrcisco/)

## 技術支援

最近 2 個月解決的問題:

     總計 5 個問題，已解決 3 個

 [檢視技術支援論壇](https://wordpress.org/support/plugin/simple-ebook-viewer/)