alh_pdf_view 1.2.0 alh_pdf_view: ^1.2.0 copied to clipboard
Has the functionality to show PDF with bytes of a file path as widget with some extra functionalities.
With this widget, you can display a PDF with bytes or a path.
Index #
Introduction #
This package is forked from flutter_pdfview
(Link)
of endigo and rebuilt from scratch.
The package alh_pdf_view
also includes:
- Displays also PDF with bytes
- FitPolicy for iOS and Android
- some blurriness fixes on Android side
- some more functionalities
- Rotation works on iOS and Android
- Tests for the whole written code on
Dart
Android:
- implemented in Kotlin with the dependency AndroidPdfViewer of barteksc
iOS:
- implemented in Swift with the dependency PDFKit
Example #
import 'package:alh_pdf_view/lib.dart';
import 'package:flutter/material.dart';
class AlhPdfViewExample extends StatelessWidget {
const AlhPdfViewExample({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('PDF Example')),
body: const AlhPdfView(
filePath: 'ADD_PATH_TO_FILE',
),
);
}
}
Parameters #
This is a list of all parameters that can be used for this widget. Consider that some paremters only work for one platform.
Parameter | Description | Default Value |
---|---|---|
filePath |
Optional path to load PDF file. | - |
bytes |
Optional bytes to load PDF file. | - |
fitPolicy |
Defines how the PDF should fit inside the widget. | FitPolicy.both |
fitEachPage |
Each page of the PDF will fit inside the given space. | true |
enableSwipe |
The current page will be changed when swiping. | true |
swipeHorizontal |
If true, all pages are displayed in horizontal direction. | false |
nightMode |
Inverting colors of pages to have the look of a dark mode. (only Android) | false |
autoSpacing |
If true, spacing will be added to fit each page on its own on the screen. (only Android) | true |
pageFling |
Making a fling change. | true |
pageSnap |
Snap pages to screen boundaries when changing the current page. (only Android) | true |
defaultPage |
Describes which page should be shown at first. | 0 |
defaultZoomFactor |
Defines how much the displayed PDF page should zoomed when rendered. | 1.0 |
backgroundColor |
Setting backgroundColor of remaining space around the pdf view. | Colors.transparent |
password |
Unlocks PDF page with this password. | "" |
enableDoubleTap |
When double tapping, the zoom of the page changes. (only Android) | 1.0 |
minZoom |
Min zoom value that the user can reach while zooming. | 0.5 |
maxZoom |
Max zoom value that the user can reach while zooming. | 4.0 |
enableDefaultScrollHandle |
Adds a button to scroll faster through the document. (only Android) | false |
This is a list of functional parameters.
Parameter | Description | Default Value |
---|---|---|
gestureRecognizers |
Which gestures should be consumed by the pdf view. | - |
onViewCreated |
If not null invoked once the native view is created. | - |
onRender |
Callback once the PDF page was loaded. | - |
onPageChanged |
When changing the page, this method will be called with the new page. | - |
onZoomChanged |
Called when changing the zoom. | - |
onError |
When there are errors happening, this methods returns a message. | - |
onPageError |
Called when there are specific errors on a page. (only Android) | - |
AlhPdfViewController #
If you want to start specific actions for the displayed PDF file, you can use AlhPdfViewController
.
This controller contains some functionalities to update your view. Here is a list of them.
Parameter | Description |
---|---|
getPageSize |
Returns the size of the given [page] index. (only iOS) |
getPageCount |
Returns the number of pages for the PDF. |
getCurrentPage |
Returns the current displayed page. |
goToNextPage |
Navigates to the next page of the PDF. |
goToPreviousPage |
Navigates to the previous page of the PDF. |
setPage |
Jumping to the page optionally animated. |
resetZoom |
Setting the scale factor to the default zoom factor. |
setZoom |
Zooming to the given zoom. |
getZoom |
Returns the current zoom value. |