renderPage method

Future<Uint8List> renderPage(
  1. PdfJsPage page,
  2. PdfJsViewport viewport,
  3. int fullWidth,
  4. int fullHeight,
  5. String documentID,
)

Renders the page into a canvas and return image's byte information.

Implementation

Future<Uint8List> renderPage(PdfJsPage page, PdfJsViewport viewport,
    int fullWidth, int fullHeight, String documentID) async {
  final web.HTMLCanvasElement canvas = web.HTMLCanvasElement();
  final _viewport = page.getViewport(_settings);
  viewport =
      page.getViewport(Settings()..scale = (fullWidth / _viewport.width));

  canvas
    ..width = fullWidth
    ..height = fullHeight;
  final renderSettings = Settings()
    ..canvasContext = canvas.context2D
    ..viewport = viewport
    ..annotationMode = 0;
  await (page.render(renderSettings)).promise.toDart;
  return canvas.context2D
      .getImageData(0, 0, fullWidth.toInt(), fullHeight.toInt())
      .data
      .toDart
      .buffer
      .asUint8List();
}