getTextLines method

Future<List<CPDFTextLine>> getTextLines()

Retrieves all text lines on the current page.

Each CPDFTextLine contains the line range and bounds in page coordinates. Use getTextByLine to retrieve the text for a line.

example:

final CPDFPage page = controller.document.pageAtIndex(0);
final List<CPDFTextLine> lines = await page.getTextLines();
for (final CPDFTextLine line in lines) {
  final String lineText = await page.getTextByLine(line);
  print('line ${line.lineIndex}: $lineText');
}

Since v2.6.8

Implementation

Future<List<CPDFTextLine>> getTextLines() async {
  final rawList = await _channel.invokeMethod('get_page_text_lines', {
    'page_index': pageIndex,
  });
  if (rawList is! List) return [];
  return rawList
      .whereType<Map>()
      .map((item) => CPDFTextLine.fromJson(Map<String, dynamic>.from(item)))
      .toList();
}