flutter_pdfview 1.4.5-beta.1 copy "flutter_pdfview: ^1.4.5-beta.1" to clipboard
flutter_pdfview: ^1.4.5-beta.1 copied to clipboard

A Flutter plugin that provides a PDFView widget on Android and iOS.

flutter_pdfview #

Native PDF View for iOS and Android

Buy Me A Coffee

Use this package as a library #

1. Depend on it #

Add this to your package's pubspec.yaml file:

dependencies:
  flutter_pdfview: 1.4.5-beta.1

2. Install it #

You can install packages from the command line:

with Flutter:

$ flutter packages get

Alternatively, your editor might support pub get or flutter packages get. Check the docs for your editor to learn more.

3. Import it #

Now in your Dart code, you can use:

import 'package:flutter_pdfview/flutter_pdfview.dart';

Options #

Name Android iOS Default
defaultPage 0
onViewCreated null
onRender null
onPageChanged null
onLoadComplete null
onDraw null
onError null
onPageError null
onLinkHandle null
gestureRecognizers null
filePath
pdfData
fitPolicy FitPolicy.WIDTH
enableSwipe true
swipeHorizontal false
password null
nightMode false
autoSpacing true
pageFling true
pageSnap true
preventLinkNavigation false
backgroundColor null

Controller Options #

Name Description Parameters Return
getPageCount Get total page count - Future<int>
getCurrentPage Get current page - Future<int>
setPage Go to/Set page int page Future<bool>
getCurrentPageSize Return the width and height of the loaded page - Future<Size>
getScreenshot Create a PNG of the contents of the PDFView and save to fileName String fileName Future<String>
getPosition Get the position of the top left of the PDF with respect to the origin (top left of PDFView) - Future<Offset>
getScale Get the PDF zoom value, for zooming - Future<double>
setPosition Set the position of the top left of the PDF with respect to the origin (top left of PDFView) Offset position Future<bool>
setScale Set the PDF zoom value, for zooming double scale Future<bool>
setZoomLimits Set the minimum, maximum and mid bounds of the zoom limits double minZoom, double midZoom, double maxZoom -
reload Reload the PDF document in the PDFView - Future<bool>

Example #

PDFView(
  filePath: path,
  enableSwipe: true,
  swipeHorizontal: true,
  autoSpacing: false,
  pageFling: false,
  backgroundColor: Colors.grey,
  onRender: (_pages) {
    setState(() {
      pages = _pages;
      isReady = true;
    });
  },
  onError: (error) {
    print(error.toString());
  },
  onPageError: (page, error) {
    print('$page: ${error.toString()}');
  },
  onViewCreated: (PDFViewController pdfViewController) {
    _controller.complete(pdfViewController);
  },
  onPageChanged: (int page, int total) {
    print('page change: $page/$total');
  },
  onLoadComplete: (int? pages) {
    print('# of pages: $pages');
  },
  onDraw: (double xOffset, double yOffset, double scale) {
    print('onDraw');
  },
),

Dependencies #

Android #

AndroidPdfViewer

iOS (only support> 12.0) #

PDFKit

Future plans #

  • Replace barteksc/AndroidPdfViewer with MuPDF or Android Native PDF Renderer.
  • Improve documentation
  • Support other platforms such as MacOS, Windows, Linux and Web
  • Add search functionality
  • Improve performance on zooming, page changing
  • Improve image quality
  • Write more test

Support #

Buy Me A Coffee

Donate with PayPal button

Star History #

Star History Chart

Developer #

741
likes
160
points
322k
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin that provides a PDFView widget on Android and iOS.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_pdfview

Packages that implement flutter_pdfview