pdf_flutter
pdf_flutter copied to clipboard
Flutter Widget to display PDF
pdf_flutter
Inspired by Pdf_Viewer_Plugin 😇 Wrapped around 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
:
<key>io.flutter.embedded_views_preview</key>
<true/>
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'