Search packages, repositories and app categories

Package detailsv1.1.5

flutter_fullpdfview

A Pdf Viewer for Android and IOS including fit policy. Based on flutter_pdfview from endigo.

30-day downloads
54
Likes
27
Pub points
40

Install package

flutter pub add flutter_fullpdfview

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package for displaying PDFs on Android and iOS with customizable fit policies. Built as an extension of the flutter_pdfview package, it provides a smooth, interactive PDF viewing experience with support for zooming, panning, and responsive layout adjustments. Designed for developers seeking a reliable, cross-platform solution to integrate PDF rendering into their apps without extensive configuration.

Use cases

  • Displaying documents in mobile apps
  • Viewing user-uploaded PDFs
  • Reading e-books or manuals
  • Integrating PDFs in educational apps
  • Rendering contracts or forms

Key features

  • Cross-platform compatibility (Android & iOS)
  • Support for multiple fit policies
  • Zoom and pan gestures
  • Lightweight and easy integration
  • Responsive layout handling

Suitable for

  • Mobile app developers
  • Document management apps
  • E-learning platforms
  • Content delivery apps
  • PDF-heavy enterprise applications

Considerations

  • Requires native platform permissions for file access
  • Limited to Android and iOS (no web/desktop support)
  • Performance may vary with large PDF files
  • No built-in PDF editing capabilities
  • Depends on underlying flutter_pdfview implementation

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

flutter_fullpdfview

Native PDF View for iOS and Android

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

dependencies:
  flutter_fullpdfview: latest_version
2. Install it

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.

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.

4. Import it

Now in your Dart code, you can use:

import 'package:flutter_fullpdfview/flutter_fullpdfview.dart';

Options

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!

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>
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>

Example

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');
  },
),

For production usage

If you use proguard, you should include this line.

-keep class com.shockwave.**

Dependencies

Android

apv Updated From: AndroidPdfViewer

iOS (only support> 11.0)

PDFKit

Categories

Source repository

Projects using this package

No data available yet.