toSfPdfViewer method

Widget toSfPdfViewer({
  1. required PdfViewerController controller,
  2. int initialPageNumber = 1,
  3. double initialZoomLevel = 1.0,
  4. double maxZoomLevel = 3.0,
  5. PdfScrollDirection scrollDirection = PdfScrollDirection.vertical,
  6. bool enableAnnotation = true,
  7. bool enableTextSelection = true,
  8. void onPageChanged(
    1. PdfPageChangedDetails
    )?,
  9. void onDocumentLoaded(
    1. PdfDocumentLoadedDetails
    )?,
  10. void onDocumentLoadFailed(
    1. PdfDocumentLoadFailedDetails
    )?,
})

Implementation

Widget toSfPdfViewer({
  required PdfViewerController controller,
  int initialPageNumber = 1,
  double initialZoomLevel = 1.0,
  double maxZoomLevel = 3.0,
  PdfScrollDirection scrollDirection = PdfScrollDirection.vertical,
  bool enableAnnotation = true,
  bool enableTextSelection = true,
  void Function(PdfPageChangedDetails)? onPageChanged,
  void Function(PdfDocumentLoadedDetails)? onDocumentLoaded,
  void Function(PdfDocumentLoadFailedDetails)? onDocumentLoadFailed,
}) {
  if (url != null) {
    return SfPdfViewer.network(
      url!,
      controller: controller,
      initialPageNumber: initialPageNumber,
      initialZoomLevel: initialZoomLevel,
      maxZoomLevel: maxZoomLevel,
      scrollDirection: scrollDirection,
      enableDocumentLinkAnnotation: enableAnnotation,
      enableTextSelection: enableTextSelection,
      onPageChanged: onPageChanged,
      onDocumentLoaded: onDocumentLoaded,
      onDocumentLoadFailed: onDocumentLoadFailed,
    );
  } else if (assetPath != null) {
    return SfPdfViewer.asset(
      assetPath!,
      controller: controller,
      initialPageNumber: initialPageNumber,
      initialZoomLevel: initialZoomLevel,
      maxZoomLevel: maxZoomLevel,
      scrollDirection: scrollDirection,
      enableDocumentLinkAnnotation: enableAnnotation,
      enableTextSelection: enableTextSelection,
      onPageChanged: onPageChanged,
      onDocumentLoaded: onDocumentLoaded,
      onDocumentLoadFailed: onDocumentLoadFailed,
    );
  } else if (bytes != null) {
    return SfPdfViewer.memory(
      bytes!,
      controller: controller,
      initialPageNumber: initialPageNumber,
      initialZoomLevel: initialZoomLevel,
      maxZoomLevel: maxZoomLevel,
      scrollDirection: scrollDirection,
      enableDocumentLinkAnnotation: enableAnnotation,
      enableTextSelection: enableTextSelection,
      onPageChanged: onPageChanged,
      onDocumentLoaded: onDocumentLoaded,
      onDocumentLoadFailed: onDocumentLoadFailed,
    );
  } else if (file != null) {
    return SfPdfViewer.file(
      file!,
      controller: controller,
      initialPageNumber: initialPageNumber,
      initialZoomLevel: initialZoomLevel,
      maxZoomLevel: maxZoomLevel,
      scrollDirection: scrollDirection,
      enableDocumentLinkAnnotation: enableAnnotation,
      enableTextSelection: enableTextSelection,
      onPageChanged: onPageChanged,
      onDocumentLoaded: onDocumentLoaded,
      onDocumentLoadFailed: onDocumentLoadFailed,
    );
  }
  throw ArgumentError("Invalid PDF source: At least one source type must be provided.");
}