extractText method

Future<EpubTextExtractRes> extractText({
  1. required String startCfi,
  2. required String endCfi,
})

Extract text from a given cfi range,

Implementation

Future<EpubTextExtractRes> extractText({
  ///start cfi
  required String startCfi,

  ///end cfi
  required String endCfi,
}) async {
  checkEpubLoaded();
  // Complete previous completer if it exists and isn't completed
  if (_pageTextCompleter != null && !_pageTextCompleter!.isCompleted) {
    try {
      _pageTextCompleter!.completeError('Cancelled by new request');
    } catch (e) {
      // Ignore if already completed
    }
  }
  _pageTextCompleter = Completer<EpubTextExtractRes>();
  await webViewController?.callAsyncJavaScript(
    functionBody: 'getTextFromCfi(startCfi, endCfi)',
    arguments: {'startCfi': startCfi, 'endCfi': endCfi},
  );
  return _pageTextCompleter!.future;
}