电子书扩展
全屏插图
通过 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/itemref 的 properties 中选择全屏模式:
<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-fullscreen | duokan-page-fullscreen、reeden-page-fullscreen |
reeden:page-fullscreen-spread | duokan-page-fullscreen-spread、reeden-page-fullscreen-spread |
reeden:page-fullscreen-spread-left | duokan-page-fullscreen-spread-left、reeden-page-fullscreen-spread-left |
reeden:page-fullscreen-spread-right | duokan-page-fullscreen-spread-right、reeden-page-fullscreen-spread-right |
Reeden