generatePdf function

void generatePdf({
  1. required BuildContext context,
  2. required Widget widget,
  3. required String url,
  4. required String refCode,
  5. Size? customSize,
  6. bool showLoading = false,
})

Implementation

void generatePdf(
    {required BuildContext context, required Widget widget, required String url, required String refCode, Size? customSize, bool showLoading = false}) async {
  // using size of web screen to generate pdf for all screens
  final Size viewSize = const Size(1479.0, 1124.0) / 1;
  final Size targetSize = Size(viewSize.width, 999);
  if (showLoading) {
    loadingDialog();
  }

  screenshotController
      .captureFromWidget(
    widget,
    targetSize: customSize ?? targetSize,
    pixelRatio: 2,
  )
      .then((val) {
    unit8ToPdf(val, url, refCode, showLoading: showLoading);
  });
}