betto_pdf_widgets
Flutter widgets that use the betto_pdfium package for displaying PDF
documents.
Features
PageViewer— zoom-aware single-page renderer (fit-page, fit-width, custom zoom) with search-match overlaysViewerController—ChangeNotifierfor page navigation, zoom, and search stateTocView— scrollable table of contentsThumbnailGrid— lazy-loading 2-column thumbnail gridAnnotationView— annotation list (notes + highlights) with toggleSearchView— search input with result list and context snippetsInfoView— metadata and file-info panel
A lower-level PageView widget is also exported for callers that only need a
single fit-to-width page render without zoom modes or a controller.
Theming
The widgets style themselves entirely from the ambient ThemeData —
ColorScheme, TextTheme, and TextSelectionThemeData — rather than a
package-specific theme extension. Register a ThemeData on your
MaterialApp (or Theme) as you would for any other Flutter app and the PDF
widgets follow it, including dark mode.
Usage
The example project provides a complete PDF viewer application, "Quietly", built entirely from these widgets.
See the technical specification for architecture, widget-by-widget details, and the rendering pipeline.
Libraries
- betto_pdf_widgets
- Flutter entry point for betto_pdf_widgets.