uc_pdfview 0.0.3 copy "uc_pdfview: ^0.0.3" to clipboard
uc_pdfview: ^0.0.3 copied to clipboard

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

uc_pdfview #

Base on Flutter PDF view for iOS and Android. onError throw "Password required or incorrect password." for password protected PDF on both Android and IOS. See example for more details.

Use this package as a library #

1. Depend on it #

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

dependencies:
  uc_pdfview: ^0.0.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. Setup #

iOS

Opt-in to the embedded views preview by adding a boolean property to the app's Info.plist file with the key io.flutter.embedded_views_preview and the value YES.

# Info.plist
...
<key>io.flutter.embedded_views_preview</key>
<true/>
...

4. 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 #

UCPDFView(
  filePath: path,
  enableSwipe: true,
  swipeHorizontal: true,
  autoSpacing: false,
  pageFling: false,
  onRender: (_pages) {
    setState(() {
      pages = _pages;
      isReady = true;
    });
  },
  onError: (error) {
    print(error.toString());
        if(error.toString().contains("Password required or incorrect password.")) {
          // Show your Password Dialog supported both Android and IOS
       }
  },
  onPageError: (page, error) {
    print('$page: ${error.toString()}');
  },
  onViewCreated: (PDFViewController pdfViewController) {
    _controller.complete(pdfViewController);
  },
  onPageChanged: (int page, int total) {
    print('page change: $page/$total');
  },
),

For production usage #

If you use proguard, you should include this line.

-keep class com.shockwave.**

Dependencies #

Android #

AndroidPdfViewer

iOS (only support> 11.0) #

PDFKit

Future plans #

  • Password Dialog for password protected PDF.
  • Improve documentation.
  • Improve performance on zooming, page changing.
  • PDF Download option.
5
likes
140
pub points
83%
popularity

Publisher

unverified uploader

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

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on uc_pdfview