Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/erluxman/pdf_flutter

Flutter Widget to display PDF
https://github.com/erluxman/pdf_flutter

Last synced: about 2 months ago
JSON representation

Flutter Widget to display PDF

Awesome Lists containing this project

README

        

# pdf_flutter
[![pub package](https://img.shields.io/pub/v/pdf_flutter.svg)](https://pub.dartlang.org/packages/pdf_flutter)

Inspired by [Pdf_Viewer_Plugin](https://github.com/lubritto/Pdf_Viewer_Plugin) 😇
Wrapped around [AndroidPdfViewer](https://github.com/barteksc/AndroidPdfViewer) on Android. 🙏🏼

### 1. Add `pdf_flutter`on `pubspec.yml`

dependencies:
pdf_flutter: ^version

### 2. On iOS enable PDF preview like this:

Add this on `ios/Runner/info.plist`:

io.flutter.embedded_views_preview

### 3. Start Using

#### Load PDF from network (caches PDF from network)

PDF.network(
'https://raw.githubusercontent.com/FlutterInThai/Dart-for-Flutter-Sheet-cheet/master/Dart-for-Flutter-Cheat-Sheet.pdf',
height: 500,
width: 300,
maxAndroidZoom: widget.maxAndroidZoom,
midAndroidZoom: widget.midAndroidZoom,
minAndroidZoom: widget.minAndroidZoom,
)

#### Load PDF files

File fileName;
PDF.file(
fileName,
height: 200,
width: 100,
maxAndroidZoom: widget.maxAndroidZoom,
midAndroidZoom: widget.midAndroidZoom,
minAndroidZoom: widget.minAndroidZoom,
)

#### Load PDF from assets

PDF.assets(
"assets/pdf/demo.pdf",
height: 200,
width: 100,
maxAndroidZoom: widget.maxAndroidZoom,
midAndroidZoom: widget.midAndroidZoom,
minAndroidZoom: widget.minAndroidZoom,
)

#### For Production
Here are the steps to fix:
1. Add proguard-rules.pro file if its not already there

2. Inside of the proguard-rules.pro file put this:
-keep class com.shockwave.**
-keepclassmembers class com.shockwave.** { *; }

3.In app/build.gradle add this:

shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

## Demo
![demo](art/pdf_flutter_updated.gif)