FLUTTER ECOSYSTEM

scientifichackers/flutter_pdf_viewer

Flutter用のネイティブPDFビューア。

flutter_pdf_viewer のプロジェクト画像
Stars
107
Forks
40
最終プッシュ(UTC)
2020/04/23
プロジェクト状態
公開中
Scientific Hackers GitHub avatar
GITHUB Organization

Scientific Hackers ↗

Dedicated hackers that live by the scientific method

言語KotlinDartSwiftRubyObjective-C

使用している依存関係

依存関係一覧 3 件
  • flutter{"sdk":"flutter"}
  • crypto^2.0.6
  • plugin_scaffold^1.1.1

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

Sponsor pub package

flutter pdf viewer

A native Pdf viewer for flutter, built on AndroidPdfViewer.

P.S. Android Only!

Features

  • Night Mode
  • Scroll Bar
  • Horizontal swipe
  • Pinch to zoom
  • Show inline Videos in Pdf
  • Immersive mode
  • Page by page analytics

Security

  • Features fast native speed XOR - decryption of files.
  • Password protected pdf.
  • Display PDF from bytes without ever touching the disk!

Drawbacks

  • Inline Pdf Viewing is not supported. ( A new activity is opened ). See #1.

    A proof of concept for inline PDFs is available at the inline branch.

Install

To use this plugin, follow the installation instructions.

License: MIT

NOTE: You must add these lines at android/app/build.gradle.

(This is required by ExoPlayer, which is used to play videos).

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

Example

$ git clone https://github.com/pycampers/flutter_pdf_viewer.git
$ cd flutter_pdf_viewer/example
$ flutter run

Preview

https://i.imgur.com/Uhmk09s.png

Generating 64-bit APKs

The Underlying native library tends to blow up the APK size. So, you can build a separate APK for each CPU architecture.

This will also fix an issue with flutter tooling, where 64-bit ARM devices don't work.

Add the following section in android/app/build.gradle -

android {
    defaultConfig {
        ndk {
            abiFilters "<arch>"
        }
    }
}
  • For 32-bit APK, replace <arch> with armeabi-v7a, and run $ flutter build apk --release as usual.

  • For 64-bit APK, replace <arch> with arm64-v8a, and run $ flutter build apk --release --target-platform=android-arm64.

Now you have 2 Apks, which you will need to publish separately to the Play Store. For that you need to tweak the android:versionCode property to have slightly different values for each build.

The exact "Rules for multiple APKs" can be found here.

Thanks


🐍🏕️