textPage method

  1. @override
Future<UDocTextPage> textPage(
  1. int pageIndex
)
override

Implementation

@override
Future<UDocTextPage> textPage(int pageIndex) async {
  final UDocTextPage? cached = _texts[pageIndex];
  if (cached != null) return cached;
  final UPdfPageRenderer? renderer = _renderer;
  final UPdfPage? page = await pdfPage(pageIndex);
  if (renderer == null || page == null) return UDocTextPage.empty;
  try {
    final UDocTextPage text = await renderer.extractText(page);
    _texts[pageIndex] = text;
    unawaited(_index?.writePage(pageIndex, text.text) ?? Future<void>.value());
    return text;
  } on Object {
    return UDocTextPage.empty;
  }
}