flutter_cached_pdfview 0.4.1 icon indicating copy to clipboard operation
flutter_cached_pdfview: ^0.4.1 copied to clipboard

A package to show Native PDF View for iOS and Android, support Open from a different resource like Path, Asset or Url and Cache it.

flutter_cached_pdfview #

Awesome Flutter

Pub Version GitHub repo size issues-raw license last-commit stars Dart CI


A package to show Native PDF View for iOS and Android, support Open from a different resource like Path, Asset or Url and Cache it.

Support = [ Android , IOS and WEB(soon) ]; #

  • Open Pdf From Path(local file)
  • Open Pdf From Asset
  • Open Pdf From URl and Cache it
  • Display horizontally or vertically
  • Drag and zoom
  • Double tap for zoom
  • Support password protected pdf
  • Jump to a specific page in the pdf

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.

iOS (only support> 11.0) you need to add this line in your ios/Podfile

platform :ios, '11.0'

ready-made in the Example

Import it #

Now in your Dart code, you can use:

import 'package:flutter_cached_pdfview/flutter_cached_pdfview.dart';

Options #

NameAndroidiOSDefault
defaultPage0
onViewCreatednull
onRendernull
onPageChangednull
onErrornull
onPageErrornull
onLinkHandlenull
gestureRecognizersnull
filePath
fitPolicyFitPolicy.WIDTH
enableSwipetrue
swipeHorizontalfalse
passwordnull
nightModefalse
autoSpacingtrue
pageFlingtrue
pageSnaptrue
preventLinkNavigationfalse

Controller Options #

NameDescriptionParametersReturn
getPageCountGet total page count-Future<int>
getCurrentPageGet current page-Future<int>
setPageGo to/Set pageint pageFuture<bool>

Example #

from Asset

       PDF(
        enableSwipe: true,
        swipeHorizontal: true,
        autoSpacing: false,
        pageFling: false,
        onError: (error) {
          print(error.toString());
        },
        onPageError: (page, error) {
          print('$page: ${error.toString()}');
        },
        onPageChanged: (int page, int total) {
          print('page change: $page/$total');
        },
      ).fromAsset('assets/pdf/file-example.pdf'),

cached From Url

      PDF(
        swipeHorizontal: true,
      ).cachedFromUrl('http://africau.edu/images/default/sample.pdf'),

with placeholder until pdfFile download and errorWidget if there are problem

      PDF().cachedFromUrl(
             'http://africau.edu/images/default/sample.pdf',
             placeholder: (progress) => Center(child: Text('$progress %')),
             errorWidget: (error) => Center(child: Text(error.toString())),
           )

For production usage #

If you use proguard, you should include this line [ready-made in the Example].

-keep class com.shockwave.**

Dependencies #

Flutter #

flutter_pdfview

flutter_cache_manager

Android (only support >= api 20) #

AndroidPdfViewer

iOS (only support> 11.0) #

PDFKit

Video #

IOS

WEB

Support #

Buy Me A Coffee

Donate with PayPal button
buy me a coffee by PayPal

Developer #

309
likes
130
pub points
98%
popularity

Publisher

verified publisher iconbnsaed.com

A package to show Native PDF View for iOS and Android, support Open from a different resource like Path, Asset or Url and Cache it.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

flutter, flutter_cache_manager, flutter_pdfview, path, path_provider

More

Packages that depend on flutter_cached_pdfview