Giter VIP home page Giter VIP logo

pspdfkit-flutter-custom's Introduction

Flutter PDF Library by PSPDFKit

Flutter Intro

PSPDFKit for Flutter is an SDK for viewing, annotating, and editing PDFs. It offers developers the ability to quickly add PDF functionality to any Flutter application. It is available at pub.dev and GitHub.

If you are new to Flutter, make sure to check our Flutter blog posts:

For our quick-start guides, check out our website.

Platform specific README exists for Android and iOS.

Setup

Integration into a New Flutter App

Android

Requirements

Getting Started

  1. Create a Flutter project called pspdfkit_demo with the flutter CLI:

    flutter create --org com.example.pspdfkit_demo pspdfkit_demo
  2. In the terminal app, change the location of the current working directory to your project:

    cd pspdfkit_demo
  3. Open the project’s main activity class, android/app/src/main/kotlin/com/example/pspdfkit_demo/pspdfkit_demo/MainActivity.kt:

    open android/app/src/main/kotlin/com/example/pspdfkit_demo/pspdfkit_demo/MainActivity.kt
  4. Modify the base from FlutterActivity to FlutterFragmentActivity:

     package com.example.pspdfkit_demo.pspdfkit_demo
    
    -import io.flutter.embedding.android.FlutterActivity
    +import io.flutter.embedding.android.FlutterFragmentActivity
    
    -class MainActivity: FlutterActivity() {
    +class MainActivity: FlutterFragmentActivity() {
     }
  5. Open the project’s Gradle build file, android/build.gradle:

    open android/build.gradle
  6. Modify the Kotlin version inside the buildscript section:

     buildscript {
    -    ext.kotlin_version = '1.3.50'
    +    ext.kotlin_version = '1.5.31'
         repositories {
             google()
             mavenCentral()
         }
     ...
  7. Open the app’s Gradle build file, android/app/build.gradle:

    open android/app/build.gradle
  8. Modify the minimum SDK version, and enable multidex. All this is done inside the android section:

     android {
         defaultConfig {
    -        minSdkVersion flutter.minSdkVersion
    +        minSdkVersion 21
             ...
    +        multiDexEnabled true
         }
     }
  9. Open pubspec.yaml:

    open pubspec.yaml
  10. Add the PSPDFKit dependency in pubspec.yaml:

     dependencies:
       flutter:
         sdk: flutter
    +  pspdfkit_flutter: any
  11. From the terminal app, run the following command to get all the packages:

```bash
flutter pub get
```
  1. Then run the command below to upgrade the dependencies:

    flutter pub upgrade
  2. Open lib/main.dart and replace the entire content with the contents of demo_project_main.dart.txt. This simple example will load a PDF document from local device filesystem.

  3. Add the PDF document you want to display in your project’s assets directory.

    • First create a PDFs directory:

      mkdir PDFs
    • Move a sample document into the newly created PDFs directory, and rename it as Document.pdf:

      cp ~/Downloads/PSPDFKit.pdf PDFs/Document.pdf
  4. Specify the assets directory in pubspec.yaml:

     # The following section is specific to Flutter.
     flutter:
    +  assets:
    +    - PDFs/
     ...
  5. Start your Android emulator, or connect a device.

  6. Run the app with:

    flutter run

iOS

Requirements

Getting Started

  1. Create a Flutter project called pspdfkit_demo with the flutter CLI:

    flutter create --org com.example.pspdfkit_demo pspdfkit_demo
  2. In the terminal app, change the location of the current working directory to your project:

    cd pspdfkit_demo
  3. Open Runner.xcworkspace from the ios folder in Xcode:

    open ios/Runner.xcworkspace
  4. Make sure the iOS Deployment Target is set to 14.0 or higher.

    iOS Deployment Target

  5. Change "View controller-based status bar appearance" to YES in Info.plist.

    iOS View controller-based status bar appearance

  6. Add the PSPDFKit dependency in pubspec.yaml:

     dependencies:
       flutter:
         sdk: flutter
    +  pspdfkit_flutter:
  7. From the terminal app, run the following command to get all the packages:

    flutter pub get
  8. Then run the command below to upgrade the dependencies:

    flutter pub upgrade
  9. Open your project’s Podfile in a text editor:

    open ios/Podfile
  10. Update the platform to iOS 14 and add the PSPDFKit Podspec:

    -# platform :ios, '9.0'
    + platform :ios, '14.0'
     ...
     target 'Runner' do
       use_frameworks!
       use_modular_headers!`
    
       flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
    +  pod 'PSPDFKit', podspec:'https://customers.pspdfkit.com/pspdfkit-ios/latest.podspec'
     end
  11. Open lib/main.dart and replace the entire content with the contents of demo_project_main.dart.txt. This simple example will load a PDF document from local device filesystem.

  12. Add the PDF document you want to display in your project’s assets directory.

    • First create a PDFs directory:

      mkdir PDFs
    • Move a sample document into the newly created PDFs directory, and rename it as Document.pdf:

      cp ~/Downloads/PSPDFKit.pdf PDFs/Document.pdf
  13. Specify the assets directory in pubspec.yaml:

     # The following section is specific to Flutter.
     flutter:
    +  assets:
    +    - PDFs/
     ...
  14. Run flutter emulators --launch apple_ios_simulator to launch the iOS Simulator.

  15. Run the app with:

    flutter run

Example App

To see PSPDFKit for Flutter in action check out our Flutter example app.

Showing a PDF document inside your Flutter app is as simple as this:

```dart
Pspdfkit.present('file:///path/to/Document.pdf');
```

Upgrading to a Full PSPDFKit License Key

PSPDFKit is a commercial product and requires the purchase of a license key when used in production. By default, this library will initialize in demo mode, placing a watermark on each PDF and limiting usage to 60 minutes.

To purchase a license for production use, please reach out to us via https://pspdfkit.com/sales/form/.

To initialize PSPDFKit using a license key, call either of the following before using any other PSPDFKit APIs or features:

To set the license key for both Android and iOS, use:

await Pspdfkit.setLicenseKeys("YOUR_FLUTTER_ANDROID_LICENSE_KEY_GOES_HERE", "YOUR_FLUTTER_IOS_LICENSE_KEY_GOES_HERE");

To set the license key for the currently running platform, use:

await Pspdfkit.setLicenseKey("YOUR_FLUTTER_LICENSE_KEY_GOES_HERE");

Migrating from Previous Version

To upgrade PSPDFKit for Flutter in your app, please refer to the Upgrade and Migration Guides section.

Troubleshooting

For Troubleshooting common issues you might encounter when setting up PSPDFKit for Flutter, please refer to the Troubleshooting section.

pspdfkit-flutter-custom's People

Contributors

simoarpe avatar aksh1t avatar radazzouz avatar skoric avatar amit-nayar avatar davidschreiber avatar steipete avatar hues0s avatar matej avatar steviki avatar tomassurin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.