Skip to content

PcolBP/flutter_cached_pdfview

 
 

Repository files navigation

flutter_cached_pdfview

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 Open Pdf From Path
  • Support Open Pdf From Asset
  • Support Open Pdf From URl and Cache it

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

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

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>

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

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

Releases

No releases published

Packages

No packages published

Languages

  • Dart 74.4%
  • Ruby 14.9%
  • Shell 5.0%
  • Kotlin 1.9%
  • Swift 1.9%
  • Java 1.7%
  • Objective-C 0.2%