flutter_fullpdfview
A Pdf Viewer for Android and IOS including fit policy. Based on flutter_pdfview from endigo.
Flutter package available on pub.dev
English project snapshot. Visit GitHub for the latest content.
Native PDF View for iOS and Android
Add this to your package's pubspec.yaml file:
dependencies:
flutter_fullpdfview: latest_version
You can install packages from the command line:
with Flutter:
$ flutter packages get
Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.
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.
Now in your Dart code, you can use:
import 'package:flutter_fullpdfview/flutter_fullpdfview.dart';
| Name | Android | iOS |
|---|---|---|
| onViewCreated | V | V |
| onRender | V | V |
| onPageChanged | V | V |
| onError | V | V |
| onPageError | V | X |
| gestureRecognizers | V | V |
| filePath | V | V |
| fitEachPage | V | V |
| defaultPage | V | V |
| dualPageMode | V | V |
| displayAsBook | V | V |
| dualPageWithBreak | V | V |
| enableSwipe | V | V |
| swipeHorizontal | V | V |
| password | V | V |
| nightMode | V | X |
| password | V | V |
| autoSpacing | V | V |
| pageFling | V | V |
| pageSnap | V | V |
| backgroundColor | V | V |
| fitPolicy | V | X |
Only black and white are supported on Android and iOS at the moment!
| 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> |
| setPageWithAnimation | Go to/Set page | int page |
Future<bool> |
| resetZoom | Go page and fitToWidth | int page |
Future<bool> |
| getZoom | Get the current zoom | double zoom |
Future<double> |
| setZoom | Set the current zoom | double zoom |
Future<double> |
| getPageWidth | Get the pdf width | double width |
Future<double> |
| getPageHeight | Get the pdf height | double height |
Future<double> |
PDFView(
filePath: path,
enableSwipe: true,
fitEachPage: true,
swipeHorizontal: true,
autoSpacing: false,
pageFling: false,
defaultPage: 8,
dualPageMode: orientation == Orientation.landscape,
displayAsBook: true,
onRender: (_pages) {
setState(() {
pages = _pages;
isReady = true;
});
},
onError: (error) {
print(error.toString());
},
onPageError: (page, error) {
print('$page: ${error.toString()}');
},
onViewCreated: (PDFViewController pdfViewController) {
_controller.complete(pdfViewController);
},
onPageChanged: (int page, int total) {
print('page change: $page/$total');
},
),
If you use proguard, you should include this line.
-keep class com.shockwave.**
apv Updated From: AndroidPdfViewer
Dependency list 2 items
{"sdk":"flutter"}{"sdk":"flutter"}Start with your use case, compare repository activity, and check the original project before adopting it.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗