我目前正在从事一个需要从epub抓取文本的项目。
我们正在使用 React-Native 和 Futurepress epubjs-rn 。
我尝试过ReadLine()
道具,该道具返回一个包含所选区域CFI位置的事件,但是我不知道如何从解析的CFI位置提取实际文本。
在epubjs-rn Github上,推荐onSelected
处理类似问题,但无法触发。
这是我当前的代码:
onMarkClicked
任何帮助将不胜感激。谢谢〜
答案 0 :(得分:0)
您可以使用此代码获取所选文本
onSelected={(cfiRange, rendition) => {
console.log("selected", cfiRange)
this.state.book.getRange(cfiRange).then(function(range) {
console.log(`Text: ${range.endContainer.data.substring(range.startOffset, range.endOffset)}`);
});
}}
对于书籍state
,也请在此代码中进行设置:
onReady={(book) => {
console.log("Metadata", book.package.metadata);
console.log("Table of Contents", book.navigation.toc);
this.setState({
onChangeFirstCall: true,
title: book.package.metadata.title,
toc: book.navigation.toc,
book: book
});