简介
Epublib是一个用于读取/写入/操作epub文件的ets库
效果展示:

下载安装
bash
ohpm install @ohos/epublib
使用说明
示例代码
1.在entryAbility中引入GlobalContext
javascript
import { GlobalContext } from '@ohos/epublib'
onWindowStageCreate(windowStage: window.WindowStage) {
// Main window is created, set main page for this ability
GlobalContext.getContext().setValue('filePath',this.context.filesDir)
}
2.在page页面中引入epublib
javascript
import {DOMParser,EpubReader,EpubWriter, Book,Author,EpubResource,MediaType,Metadata,MediatypeService} from "@ohos/epublib"
3.使用
typescript
funcStart(input: string) {
console.log("-----funcStart----filePath-----------------" + input)
let result = EpubReader.readEpub(input);
if (result != undefined) {
result.then((book) => {
this.text = book.getResources()
.getResourceMap()
.get("chapter_446465249.xhtml")
.getStrData()
.toString();
console.error("----index-result-------" + this.text)
this.testEpubWriter(book)
});
}
}
DD一下: 欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。
erlang
`欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点学习。`
1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案)
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
14.鸿蒙版性能优化指南
.......
接口说明
- 获取Book实例
readEpub(inPath:string, encoding?:string, lazyLoadedTypes?: Array<MediaType>):Book
- 通过resources读取电子书
readEpubToBook(resources:Resources, result?:Book):Book
- 惰性地从EPUB文件中读取并解析EPUB电子书
readEpubLazy(inPath: string, encoding?: string, lazyLoadedTypes?: Array<MediaType>): Book
- 获取构成该书的所有图像、章节、章节、xhtml文件、样式表等的集合
getResources(): Resources
- 获取该书内容。
getStrData()
- 写入Book内容
write(book: Book, fileName: string)
- 获取EPUB电子书的内容顺序
getSpine()
- 获取EPUB电子书的元数据
getMetadata()
- 向EPUB电子书中添加一个资源
addResource(resource: EpubResource): EpubResource
- 获取epub文件在文件夹中的位置
getHref()
- 通过压缩文件加载资源
loadResources(ZipFile zipFile, String defaultHtmlEncoding, List<MediaType> lazyLoadedTypes)
- 截取输出目录
outFile(inZipPath: string): string
- 设置作者
addAuthor(author: Author)
- 添加标题
addTitle(title: string): string
- 设置语言
setLanguage(language: string)
目录结构
lua
|---- epublib
| |---- entry # 示例代码文件夹
| |---- epublib # 电子书库文件夹
| |---- index.ets 提供外部接口文件
| |---- src
| |---- main
| |---- ets
| |---- components
| |---- domain # 相关的book一系列数据model
| |---- epub # 解析处理
| |---- service # 定义了支持的媒体类型
| |---- util # 通用方法库
| |---- Constants.ets # 常量定义
| |---- README.md # 安装使用方法