SfPdfViewer.file constructor
SfPdfViewer.file(
- File file, {
- Key? key,
- bool canShowScrollHead = true,
- double pageSpacing = 4,
- PdfViewerController? controller,
- UndoHistoryController? undoController,
- PdfZoomLevelChangedCallback? onZoomLevelChanged,
- bool canShowPageLoadingIndicator = true,
- bool canShowScrollStatus = true,
- PdfPageChangedCallback? onPageChanged,
- bool enableDoubleTapZooming = true,
- bool enableTextSelection = true,
- PdfTextSelectionChangedCallback? onTextSelectionChanged,
- PdfHyperlinkClickedCallback? onHyperlinkClicked,
- PdfDocumentLoadedCallback? onDocumentLoaded,
- PdfDocumentLoadFailedCallback? onDocumentLoadFailed,
- PdfGestureTapCallback? onTap,
- PdfFormFieldValueChangedCallback? onFormFieldValueChanged,
- PdfFormFieldFocusChangeCallback? onFormFieldFocusChange,
- PdfAnnotationCallback? onAnnotationAdded,
- PdfAnnotationCallback? onAnnotationSelected,
- PdfAnnotationCallback? onAnnotationDeselected,
- PdfAnnotationCallback? onAnnotationEdited,
- PdfAnnotationCallback? onAnnotationRemoved,
- bool enableDocumentLinkAnnotation = true,
- bool canShowPaginationDialog = true,
- bool canShowSignaturePadDialog = true,
- Offset initialScrollOffset = Offset.zero,
- double initialZoomLevel = 1,
- int initialPageNumber = 1,
- double maxZoomLevel = 3,
- PdfInteractionMode interactionMode = PdfInteractionMode.selection,
- PdfScrollDirection? scrollDirection,
- PdfPageLayoutMode pageLayoutMode = PdfPageLayoutMode.continuous,
- Color currentSearchTextHighlightColor = const Color.fromARGB(80, 249, 125, 0),
- Color otherSearchTextHighlightColor = const Color.fromARGB(50, 255, 255, 1),
- String? password,
- bool canShowPasswordDialog = true,
- bool canShowHyperlinkDialog = true,
- bool canShowTextSelectionMenu = 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.undoController,
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.onTap,
this.onFormFieldValueChanged,
this.onFormFieldFocusChange,
this.onAnnotationAdded,
this.onAnnotationSelected,
this.onAnnotationDeselected,
this.onAnnotationEdited,
this.onAnnotationRemoved,
this.enableDocumentLinkAnnotation = true,
this.canShowPaginationDialog = true,
this.canShowSignaturePadDialog = true,
this.initialScrollOffset = Offset.zero,
this.initialZoomLevel = 1,
this.initialPageNumber = 1,
this.maxZoomLevel = 3,
this.interactionMode = PdfInteractionMode.selection,
this.scrollDirection,
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,
this.canShowTextSelectionMenu = true,
}) : _provider = FilePdf(file),
// File is not supported on Flutter Web therefore neither this method.
assert(
!kIsWeb,
'SfPdfViewer.file is not supported on Flutter Web. '
'Consider using either SfPdfViewer.asset or SfPdfViewer.memory or SfPdfViewer.network instead.',
),
assert(pageSpacing >= 0),
assert(!maxZoomLevel.isNaN),
assert(maxZoomLevel >= 1),
super(key: key);