ReedenReeden
电子书扩展

全屏插图

通过 EPUB spine 属性控制整页插图及跨页图片区域

全屏插图用于让一张图片独占阅读页,避免与正文混排。它适合封面式插图、章节大图和跨页图片。

裁剪铺满、完整包含以及跨页图片左右区域四种全屏插图模式

适合用在

  • 需要独占一页的章节插图
  • 希望覆盖整个阅读页的封面式图片
  • 需要分别展示左侧或右侧区域的跨页大图

1. 声明 EPUB 3 前缀

在 OPF 的 package 节点声明 Reeden vocabulary:

<package
  xmlns="http://www.idpf.org/2007/opf"
  version="3.0"
  unique-identifier="book-id"
  prefix="reeden: https://reeden.app/epub/vocab/#">

2. 在 manifest 声明 XHTML

<manifest>
  <item
    id="full-image"
    href="Text/full-image.xhtml"
    media-type="application/xhtml+xml" />
</manifest>

3. 标记书脊项目

spine/itemrefproperties 中选择全屏模式:

<spine>
  <itemref idref="full-image" properties="reeden:page-fullscreen" />
</spine>

idref 必须对应 manifest 中的 XHTML 资源 ID,而不是图片文件名。

4. 保留可独立显示的图片

对应 XHTML 仍应包含普通图片内容:

<body>
  <p>
    <img src="../Images/full-image.jpg" alt="章节全屏插图" />
  </p>
</body>

为了稳定获得独占页效果,对应 XHTML 应基本只包含这一张有效主图。图片前存在大量正文、图片太靠后或同页包含多张图片,都可能破坏预期效果。

选择全屏模式

OPF property可见效果
reeden:page-fullscreen裁剪图片并覆盖整个全屏页
reeden:page-fullscreen-spread完整包含图片的全屏页
reeden:page-fullscreen-spread-left裁剪展示跨页图片的左侧区域
reeden:page-fullscreen-spread-right裁剪展示跨页图片的右侧区域

properties 可以同时包含其他 EPUB property,不同名称之间使用空白分隔。

常见问题

插图没有独占页面

确认 property 写在 spine/itemref 上,而不是 manifest item 上;idref 必须与 manifest 的 id 完全一致。对应 XHTML 应以一张主图为主。

EPUB 3 报告未知前缀

检查 package 节点是否包含完整的 prefix="reeden: https://reeden.app/epub/vocab/#" 声明。

兼容写法

规范写法兼容写法
reeden:page-fullscreenduokan-page-fullscreenreeden-page-fullscreen
reeden:page-fullscreen-spreadduokan-page-fullscreen-spreadreeden-page-fullscreen-spread
reeden:page-fullscreen-spread-leftduokan-page-fullscreen-spread-leftreeden-page-fullscreen-spread-left
reeden:page-fullscreen-spread-rightduokan-page-fullscreen-spread-rightreeden-page-fullscreen-spread-right

相关文档