SfPdfViewer.file constructor

SfPdfViewer.file(
  1. File file, {
  2. Key? key,
  3. bool canShowScrollHead = true,
  4. double pageSpacing = 4,
  5. PdfViewerController? controller,
  6. PdfZoomLevelChangedCallback? onZoomLevelChanged,
  7. bool canShowPageLoadingIndicator = true,
  8. bool canShowScrollStatus = true,
  9. PdfPageChangedCallback? onPageChanged,
  10. bool enableDoubleTapZooming = true,
  11. bool enableTextSelection = true,
  12. PdfTextSelectionChangedCallback? onTextSelectionChanged,
  13. PdfHyperlinkClickedCallback? onHyperlinkClicked,
  14. PdfDocumentLoadedCallback? onDocumentLoaded,
  15. PdfDocumentLoadFailedCallback? onDocumentLoadFailed,
  16. bool enableDocumentLinkAnnotation = true,
  17. bool canShowPaginationDialog = true,
  18. Offset initialScrollOffset = Offset.zero,
  19. double initialZoomLevel = 1,
  20. double maxZoomLevel = 3,
  21. PdfInteractionMode interactionMode = PdfInteractionMode.selection,
  22. PdfScrollDirection scrollDirection = PdfScrollDirection.vertical,
  23. PdfPageLayoutMode pageLayoutMode = PdfPageLayoutMode.continuous,
  24. Color currentSearchTextHighlightColor = const Color.fromARGB(80, 249, 125, 0),
  25. Color otherSearchTextHighlightColor = const Color.fromARGB(50, 255, 255, 1),
  26. String? password,
  27. bool canShowPasswordDialog = true,
  28. bool canShowHyperlinkDialog = true,
  29. bool enableHyperlinkNavigation = true,
})

Creates a widget that displays the PDF document obtained from File.

Note: On Android, this may require the android.permission.READ_EXTERNAL_STORAGE permission.

class MyAppState extends State<MyApp>{
@override
void initState() {
  super.initState();
}

@override
Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: SfPdfViewer.file(
          File('/storage/emulated/0/Download/flutter-succinctly.pdf'),
        ),
      ),
    );
  }
}

Implementation

SfPdfViewer.file(
  File file, {
  Key? key,
  this.canShowScrollHead = true,
  this.pageSpacing = 4,
  this.controller,
  this.onZoomLevelChanged,
  this.canShowPageLoadingIndicator = true,
  this.canShowScrollStatus = true,
  this.onPageChanged,
  this.enableDoubleTapZooming = true,
  this.enableTextSelection = true,
  this.onTextSelectionChanged,
  this.onHyperlinkClicked,
  this.onDocumentLoaded,
  this.onDocumentLoadFailed,
  this.enableDocumentLinkAnnotation = true,
  this.canShowPaginationDialog = true,
  this.initialScrollOffset = Offset.zero,
  this.initialZoomLevel = 1,
  this.maxZoomLevel = 3,
  this.interactionMode = PdfInteractionMode.selection,
  this.scrollDirection = PdfScrollDirection.vertical,
  this.pageLayoutMode = PdfPageLayoutMode.continuous,
  this.currentSearchTextHighlightColor =
      const Color.fromARGB(80, 249, 125, 0),
  this.otherSearchTextHighlightColor = const Color.fromARGB(50, 255, 255, 1),
  this.password,
  this.canShowPasswordDialog = true,
  this.canShowHyperlinkDialog = true,
  this.enableHyperlinkNavigation = true,
})  : _provider = FilePdf(file),
      assert(pageSpacing >= 0),
      super(key: key);