• Stars
    star
    260
  • Rank 157,189 (Top 4 %)
  • Language
    Dart
  • License
    MIT License
  • Created over 5 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PDF view for Flutter

flutter_pdfview

Native PDF View for iOS and Android

xscode Latest compatibility result for Stable channel Latest compatibility result for Beta channel Latest compatibility result for Dev channel

Use this package as a library

1. Depend on it

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

dependencies:
  flutter_pdfview: ^1.2.7

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
onError βœ… βœ… null
onPageError βœ… ❌ null
onLinkHandle βœ… βœ… null
gestureRecognizers βœ… βœ… null
filePath βœ… βœ…
pdfData βœ… βœ…
fitPolicy βœ… ❌ FitPolicy.WIDTH
enableSwipe βœ… βœ… true
swipeHorizontal βœ… βœ… false
password βœ… βœ… null
nightMode βœ… ❌ false
password βœ… βœ… null
autoSpacing βœ… βœ… true
pageFling βœ… βœ… true
pageSnap βœ… ❌ true
preventLinkNavigation βœ… βœ… false

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>

Example

PDFView(
  filePath: path,
  enableSwipe: true,
  swipeHorizontal: true,
  autoSpacing: false,
  pageFling: false,
  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');
  },
),

Dependencies

Android

AndroidPdfViewer

iOS (only support> 11.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

Developer