0 purchases
uc pdfview
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
copied to clipboard
2. Install it #
You can install packages from the command line:
with Flutter:
$ flutter packages get
copied to clipboard
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/>
...
copied to clipboard
4. Import it #
Now in your Dart code, you can use:
import 'package:flutter_pdfview/flutter_pdfview.dart';
copied to clipboard
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');
},
),
copied to clipboard
For production usage #
If you use proguard, you should include this line.
-keep class com.shockwave.**
copied to clipboard
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.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.