API 参考
EpubBookProcessor
EpubBookProcessor 是处理 EpubBook 相关业务逻辑的专用类,遵循单一职责原则,专门负责书籍数据的处理和操作。
封面处理
getCover()
java
public static EpubResource getCover(EpubBook book)获取书籍的封面资源。
参数:
book: EpubBook 实例
返回:
EpubResource: 封面资源对象,如果未找到则返回 null
封面查找逻辑
- 优先查找
properties="cover-image"的资源 - 如果未找到,则使用元数据的 cover 字段回退查找
- 自动应用资源回退机制
资源处理
getResource()
java
public static EpubResource getResource(EpubBook book, String resourceId)根据资源 ID 获取资源。
参数:
book: EpubBook 实例resourceId: 资源 ID
返回:
EpubResource: 找到的资源对象,如果未找到则返回 null
getResourceWithFallback()
java
public static EpubResource getResourceWithFallback(EpubBook book, String resourceId)根据资源 ID 获取资源,并自动应用回退机制。
参数:
book: EpubBook 实例resourceId: 资源 ID
返回:
EpubResource: 应用回退机制后的资源对象,如果未找到则返回 null
数据加载
loadAllResourceData()
java
public static void loadAllResourceData(EpubBook book) throws IOException批量加载所有资源的数据到内存中。
参数:
book: EpubBook 实例
抛出:
IOException: 文件读取异常
使用示例
java
// 获取封面资源
EpubResource cover = EpubBookProcessor.getCover(book);
if (cover != null) {
System.out.println("封面: " + cover.getHref());
}
// 获取特定资源
EpubResource image = EpubBookProcessor.getResource(book, "image1");
if (image != null) {
System.out.println("图片类型: " + image.getType());
}
// 获取资源并应用回退机制
EpubResource resource = EpubBookProcessor.getResourceWithFallback(book, "fallback-resource");
// 批量加载资源数据
try {
EpubBookProcessor.loadAllResourceData(book);
System.out.println("所有资源数据已加载");
} catch (IOException e) {
System.err.println("加载资源数据失败: " + e.getMessage());
}