A Flutter plugin for IOS and Android providing a simple way to display PDFs.

Overview

Pdf Viewer Plugin

pub package

A Flutter plugin for IOS and Android providing a simple way to display PDFs.

Features:

  • Display PDF.

android           ios

Installation

First, add pdf_viewer_plugin as a dependency in your pubspec.yaml file.

iOS

Add this lines to the ios/Runner/info.plist:

...

<key>io.flutter.embedded_views_preview</key>
<true/>

Example

The plugin works like a normal widget

class PdfApp extends StatelessWidget {
  const PdfApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return PdfView(path: 'pdf_file_path');
  }
}

Feedback welcome and Pull Requests are most welcome!

Comments
  • App release crash on android

    App release crash on android

    I was testing the plugin, it works fine on a one1 with android 8, but when I release the application it crash when start on some phones. I have no way of checking what is happening. Any ideas?

    opened by lgArlequin 5
  • No implementation found for long com.shockwave.pdfium.PdfiumCore.nativeOpenDocument

    No implementation found for long com.shockwave.pdfium.PdfiumCore.nativeOpenDocument

    When trying to load PDF I am getting this error:

    No implementation found for long com.shockwave.pdfium.PdfiumCore.nativeOpenDocument(int, java.lang.String) (tried Java_com_shockwave_pdfium_PdfiumCore_nativeOpenDocument and Java_com_shockwave_pdfium_PdfiumCore_nativeOpenDocument__ILjava_lang_String_2) E/PDFView (32314): load pdf error E/PDFView (32314): java.lang.UnsatisfiedLinkError: No implementation found for long com.shockwave.pdfium.PdfiumCore.nativeOpenDocument(int, java.lang.String) (tried Java_com_shockwave_pdfium_PdfiumCore_nativeOpenDocument and Java_com_shockwave_pdfium_PdfiumCore_nativeOpenDocument__ILjava_lang_String_2) E/PDFView (32314): at com.shockwave.pdfium.PdfiumCore.nativeOpenDocument(Native Method) E/PDFView (32314): at com.shockwave.pdfium.PdfiumCore.newDocument(PdfiumCore.java:135) E/PDFView (32314): at com.github.barteksc.pdfviewer.source.FileSource.createDocument(FileSource.java:38) E/PDFView (32314): at com.github.barteksc.pdfviewer.DecodingAsyncTask.doInBackground(DecodingAsyncTask.java:53) E/PDFView (32314): at com.github.barteksc.pdfviewer.DecodingAsyncTask.doInBackground(DecodingAsyncTask.java:27) E/PDFView (32314): at android.os.AsyncTask$3.call(AsyncTask.java:378) E/PDFView (32314): at java.util.concurrent.FutureTask.run(FutureTask.java:266) E/PDFView (32314): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) E/PDFView (32314): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) E/PDFView (32314): at java.lang.Thread.run(Thread.java:919)

    I created in android->app->proguard-rules.pro file with this inside: -keep class com.example.** { ; } -keep class com.shockwave.* { ; } -keep class bg.release.* { ; } -keep class com.shockwave.* -keepclassmembers class com.shockwave.** { *; }

    I also added this code inside android->app->build.grandle: buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.debug signingConfig signingConfigs.release } }

    opened by bulgariamitko 4
  • PDF loads perfectly, works in both orientations on iOS, but not on Android

    PDF loads perfectly, works in both orientations on iOS, but not on Android

    Hey! First of all, thank you for developing this plugin.

    I use it to load a remote PDF from a URL. Everything works perfectly fine on iOS.

    Even on Android PDF loads in one orientation. However, on orientation change (from landscape to portrait or from portrait to landscape), it throws a white blank screen. Rotating in any orientation on Android gives a blank screen. Initially on page load, everything works fine. But as soon as the orientation changes, white blank screen.

    opened by utrayn 3
  • Android exception

    Android exception

    I/AliFrameWork: [12368471] [render_engine] :21:12:49.910 -1377298064 I/render_engine: [render_engine_service.cpp 428]||performance|| Run pts 14800000 spend 5 [12368471] [render_engine] :21:12:49.910 -1377298064 I/render_engine: [render_engine_service.cpp 231]render once spend 7 A/ass.qukeduo.ap: java_vm_ext.cc:542] JNI DETECTED ERROR IN APPLICATION: JNI GetMethodID called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.shockwave.pdfium.util.Size" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/base.apk"],nativeLibraryDirectories=[/data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/lib/arm, /data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/base.apk!/lib/armeabi-v7a, /system/lib]] java_vm_ext.cc:542] at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:134) java_vm_ext.cc:542] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379) java_vm_ext.cc:542] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312) java_vm_ext.cc:542] at e.u.a.b.a com.shockwave.pdfium.PdfiumCore.nativeGetPageSizeByIndex(long, int, int) (PdfiumCore.java:-2) java_vm_ext.cc:542] at e.u.a.b.a com.shockwave.pdfium.PdfiumCore.b(e.u.a.a, int) (PdfiumCore.java:251) java_vm_ext.cc:542] at void e.k.a.a.f.c(e.u.a.b.a) (PdfFile.java:99) java_vm_ext.cc:542] at void e.k.a.a.f.<init>(com.shockwave.pdfium.PdfiumCore, e.u.a.a, e.k.a.a.n.b, e.u.a.b.a, int[], boolean, int, boolean, boolean) (PdfFile.java:88) java_vm_ext.cc:542] at java.lang.Throwable e.k.a.a.c.a(java.lang.Void[]) (DecodingAsyncTask.java:56) java_vm_ext.cc:542] at java.lang.Object e.k.a.a.c.doInBackground(java.lang.Object[]) (DecodingAsyncTask.java:27) java_vm_ext.cc:542] at java.lang.Object android.os.AsyncTask$2.call() (AsyncTask.java:333) java_vm_ext.cc:542] at void java.util.concurrent.FutureTask.run() (FutureTask.java:266) java_vm_ext.cc:542] at void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) (ThreadPoolExecutor.java:1167) java_vm_ext.cc:542] at void java.util.concurrent.ThreadPoolExecutor$Worker.run() (ThreadPoolExecutor.java:641) java_vm_ext.cc:542] at void java.lang.Thread.run() (Thread.java:764) java_vm_ext.cc:542] java_vm_ext.cc:542] in call to GetMethodID java_vm_ext.cc:542] from e.u.a.b.a com.shockwave.pdfium.PdfiumCore.nativeGetPageSizeByIndex(long, int, int) java_vm_ext.cc:542] "AsyncTask #5" prio=5 tid=44 Runnable java_vm_ext.cc:542] | group="main" sCount=0 dsCount=0 flags=0 obj=0x1427dc20 self=0xe4998400 java_vm_ext.cc:542] | sysTid=2623 nice=10 cgrp=default sched=0/0 handle=0xa9f46970 java_vm_ext.cc:542] | state=R schedstat=( 104993035 29716310 34 ) utm=4 stm=6 core=6 HZ=100 java_vm_ext.cc:542] | stack=0xa9e43000-0xa9e45000 stackSize=1042KB java_vm_ext.cc:542] | held mutexes= "mutator lock"(shared held) java_vm_ext.cc:542] native: #00 pc 002dcb5b /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+134) java_vm_ext.cc:542] native: #01 pc 003728db /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+210) java_vm_ext.cc:542] native: #02 pc 0036f03f /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+34) java_vm_ext.cc:542] native: #03 pc 00235283 /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+694) java_vm_ext.cc:542] native: #04 pc 002355e3 /system/lib/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+58) java_vm_ext.cc:542] native: #05 pc 000c4983 /system/lib/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...)+42) java_vm_ext.cc:542] native: #06 pc 000c3615 /system/lib/libart.so (art::(anonymous namespace)::ScopedCheck::CheckPossibleHeapValue(art::ScopedObjectAccess&, char, art::(anonymous namespace)::JniValueType)+1064) java_vm_ext.cc:542] native: #07 pc 000c2af5 /system/lib/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*)+624) java_vm_ext.cc:542] native: #08 pc 000c6079 /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::GetMethodIDInternal(char const*, _JNIEnv*, _jclass*, char const*, char const*, bool)+508) java_vm_ext.cc:542] native: #09 pc 000b7637 /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::GetMethodID(_JNIEnv*, _jclass*, char const*, char const*)+22) java_vm_ext.cc:542] native: #10 pc 000037d7 /data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/lib/arm/libjniPdfium.so (Java_com_shockwave_pdfium_PdfiumCore_nativeGetPageSizeByIndex+134) java_vm_ext.cc:542] native: #11 pc 00416679 /system/lib/libart.so (art_quick_generic_jni_trampoline+40) java_vm_ext.cc:542] native: #12 pc 00412175 /system/lib/libart.so (art_quick_invoke_stub_internal+68) java_vm_ext.cc:542] native: #13 pc 003eb2b9 /system/lib/libart.so (art_quick_invoke_stub+224) java_vm_ext.cc:542] native: #14 pc 000a1a15 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136) java_vm_ext.cc:542] native: #15 pc 001e8ea5 /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+236) java_vm_ext.cc:542] native: #16 pc 001e3993 /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+814) java_vm_ext.cc:542] native: #17 pc 0020a69b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+438) java_vm_ext.cc:542] native: #18 pc 00208c61 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+48112) java_vm_ext.cc:542] native: #19 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #20 pc 0050a71c /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/base.apk!classes2.dex_1653_1653 (deleted) (com.shockwave.pdfium.PdfiumCore.b) java_vm_ext.cc:542] native: #21 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #22 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #23 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #24 pc 0020a69b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+438) java_vm_ext.cc:542] native: #25 pc 00208c61 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+48112) java_vm_ext.cc:542] native: #26 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #27 pc 003db478 /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/base.apk!classes2.dex_1653_1653 (deleted) (e.k.a.a.f.c) java_vm_ext.cc:542] native: #28 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #29 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #30 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #31 pc 0020a69b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+438) java_vm_ext.cc:542] native: #32 pc 00208c61 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+48112) java_vm_ext.cc:542] native: #33 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #34 pc 003db058 /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/base.apk!classes2.dex_1653_1653 (deleted) (e.k.a.a.f.<init>) java_vm_ext.cc:542] native: #35 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #36 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #37 pc 001e47bb /system/lib/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+586) java_vm_ext.cc:542] native: #38 pc 0020ba9f /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE1ELb1ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+170) java_vm_ext.cc:542] native: #39 pc 00208657 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+46566) java_vm_ext.cc:542] native: #40 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #41 pc 003d7418 /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/base.apk!classes2.dex_1653_1653 (deleted) (e.k.a.a.c.a) java_vm_ext.cc:542] native: #42 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #43 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #44 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #45 pc 0020a69b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+438) java_vm_ext.cc:542] native: #46 pc 00208c61 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+48112) java_vm_ext.cc:542] native: #47 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #48 pc 003d73f8 /dev/ashmem/dalvik-classes2.dex extracted in memory from /data/app/qingclass.qukeduo.app-fSVdjjxnPRU1az64IUUl_w==/base.apk!classes2.dex_1653_1653 (deleted) (e.k.a.a.c.doInBackground) java_vm_ext.cc:542] native: #49 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) A/ass.qukeduo.ap: java_vm_ext.cc:542] native: #50 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #51 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #52 pc 0020a69b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+438) java_vm_ext.cc:542] native: #53 pc 00208c61 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+48112) java_vm_ext.cc:542] native: #54 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #55 pc 00c61776 /system/framework/boot-framework.vdex (android.os.AsyncTask$2.call) java_vm_ext.cc:542] native: #56 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #57 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #58 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #59 pc 0020bf6b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE4ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+1026) java_vm_ext.cc:542] native: #60 pc 00206799 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+38696) java_vm_ext.cc:542] native: #61 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #62 pc 00113264 /system/framework/boot.vdex (java.util.concurrent.FutureTask.run) java_vm_ext.cc:542] native: #63 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #64 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #65 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #66 pc 0020bf6b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE4ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+1026) java_vm_ext.cc:542] native: #67 pc 00206799 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+38696) java_vm_ext.cc:542] native: #68 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #69 pc 001171e6 /system/framework/boot.vdex (java.util.concurrent.ThreadPoolExecutor.runWorker) java_vm_ext.cc:542] native: #70 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #71 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #72 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #73 pc 0020a69b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+438) java_vm_ext.cc:542] native: #74 pc 00208c61 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+48112) java_vm_ext.cc:542] native: #75 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #76 pc 001165b2 /system/framework/boot.vdex (java.util.concurrent.ThreadPoolExecutor$Worker.run) java_vm_ext.cc:542] native: #77 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #78 pc 001cc749 /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+152) java_vm_ext.cc:542] native: #79 pc 001e397b /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+790) java_vm_ext.cc:542] native: #80 pc 0020bf6b /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE4ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+1026) java_vm_ext.cc:542] native: #81 pc 00206799 /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+38696) java_vm_ext.cc:542] native: #82 pc 00417055 /system/lib/libart.so (ExecuteSwitchImplAsm+4) java_vm_ext.cc:542] native: #83 pc 000ca8fe /system/framework/boot.vdex (java.lang.Thread.run) java_vm_ext.cc:542] native: #84 pc 001c8027 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.3453212362+318) java_vm_ext.cc:542] native: #85 pc 001cc68f /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82) java_vm_ext.cc:542] native: #86 pc 003d99f9 /system/lib/libart.so (artQuickToInterpreterBridge+880) java_vm_ext.cc:542] native: #87 pc 004166ff /system/lib/libart.so (art_quick_to_interpreter_bridge+30) java_vm_ext.cc:542] native: #88 pc 00412175 /system/lib/libart.so (art_quick_invoke_stub_internal+68) java_vm_ext.cc:542] native: #89 pc 003eb2b9 /system/lib/libart.so (art_quick_invoke_stub+224) java_vm_ext.cc:542] native: #90 pc 000a1a15 /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136) java_vm_ext.cc:542] native: #91 pc 0034b555 /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52) java_vm_ext.cc:542] native: #92 pc 0034c2ad /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+320) java_vm_ext.cc:542] native: #93 pc 0036d693 /system/lib/libart.so (art::Thread::CreateCallback(void*)+866) java_vm_ext.cc:542] native: #94 pc 000648f9 /system/lib/libc.so (__pthread_start(void*)+140) java_vm_ext.cc:542] native: #95 pc 0001e395 /system/lib/libc.so (__start_thread+24) java_vm_ext.cc:542] at com.shockwave.pdfium.PdfiumCore.nativeGetPageSizeByIndex(Native method) java_vm_ext.cc:542] at com.shockwave.pdfium.PdfiumCore.b(PdfiumCore.java:251) java_vm_ext.cc:542] - locked <0x00af6ff9> (a java.lang.Object) java_vm_ext.cc:542] at e.k.a.a.f.c(PdfFile.java:99) java_vm_ext.cc:542] at e.k.a.a.f.<init>(PdfFile.java:88) java_vm_ext.cc:542] at e.k.a.a.c.a(DecodingAsyncTask.java:56) java_vm_ext.cc:542] at e.k.a.a.c.doInBackground(DecodingAsyncTask.java:27) java_vm_ext.cc:542] at android.os.AsyncTask$2.call(AsyncTask.java:333) java_vm_ext.cc:542] at java.util.concurrent.FutureTask.run(FutureTask.java:266) java_vm_ext.cc:542] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) java_vm_ext.cc:542] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) java_vm_ext.cc:542] at java.lang.Thread.run(Thread.java:764) java_vm_ext.cc:542] D/NativePlayerBase: redraw

    Flutter : 1.12.13 hotfix.8

    opened by luoei 3
  • Migrate plugin to AndroidX

    Migrate plugin to AndroidX

    Resolves #2 I've bumped the version number from 0.0.5 to 0.1.0 since Google advise the major version needs to increments so people have to explicitly bump the required version in their pubspec.yaml

    opened by chrismills 2
  • Is there anyone else with an error updating the component version? (1.0.1 - Dec 10, 2020)

    Is there anyone else with an error updating the component version? (1.0.1 - Dec 10, 2020)

    C:\flutter.pub-cache\hosted\pub.dartlang.org\pdf_viewer_plugin-1.0.1\android\src\main\java\com\example\pdfviewerplugin\PdfViewer.java:25: error: cannot find symbol Intent i = new Intent(this, Wakeup.class); symbol: class Intent location: class PdfViewer

    opened by GustavoFior 1
  • Infinite loading of 'fetchPost' function

    Infinite loading of 'fetchPost' function

    This plugin worked great for me until I replace the link for the PDF file with google drive PDF and then Google restricted my account for sending too many requests to there server. Then I saw that the function 'fetchPost' was sending requests to the link even when the file was already send and showed in the screen. Clearly this behaviour is not intend i guess and it is bad experience for the server sending so many requests to the back-end. Please let me know if this issue can be fixed somehow.

    opened by bulgariamitko 1
  • App crashes on android when clicking on a link, and nothing happens on iOS

    App crashes on android when clicking on a link, and nothing happens on iOS

    When you click on a link in a PDF document on an android phone, the following error appears and the app crashes:

    D/AndroidRuntime(12273): Shutting down VM
    E/AndroidRuntime(12273): FATAL EXCEPTION: main
    E/AndroidRuntime(12273): Process: se.gotapps.brf, PID: 12273
    E/AndroidRuntime(12273): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
    E/AndroidRuntime(12273): 	at android.app.ContextImpl.startActivity(ContextImpl.java:964)
    E/AndroidRuntime(12273): 	at android.app.ContextImpl.startActivity(ContextImpl.java:940)
    E/AndroidRuntime(12273): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:383)
    E/AndroidRuntime(12273): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:383)
    E/AndroidRuntime(12273): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:383)
    E/AndroidRuntime(12273): 	at com.github.barteksc.pdfviewer.link.DefaultLinkHandler.handleUri(DefaultLinkHandler.java:52)
    E/AndroidRuntime(12273): 	at com.github.barteksc.pdfviewer.link.DefaultLinkHandler.handleLinkEvent(DefaultLinkHandler.java:41)
    E/AndroidRuntime(12273): 	at com.github.barteksc.pdfviewer.listener.Callbacks.callLinkHandler(Callbacks.java:177)
    E/AndroidRuntime(12273): 	at com.github.barteksc.pdfviewer.DragPinchManager.checkLinkTapped(DragPinchManager.java:110)
    E/AndroidRuntime(12273): 	at com.github.barteksc.pdfviewer.DragPinchManager.onSingleTapConfirmed(DragPinchManager.java:73)
    E/AndroidRuntime(12273): 	at android.view.GestureDetector$GestureHandler.handleMessage(GestureDetector.java:323)
    E/AndroidRuntime(12273): 	at android.os.Handler.dispatchMessage(Handler.java:107)
    E/AndroidRuntime(12273): 	at android.os.Looper.loop(Looper.java:214)
    E/AndroidRuntime(12273): 	at android.app.ActivityThread.main(ActivityThread.java:7695)
    E/AndroidRuntime(12273): 	at java.lang.reflect.Method.invoke(Native Method)
    E/AndroidRuntime(12273): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
    E/AndroidRuntime(12273): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
    I/Process (12273): Sending signal. PID: 12273 SIG: 9
    Lost connection to device.
    Exited (sigterm)
    
    

    Unfortunately I don't have the error (if any) for iOS right now, but when you click on a link there, nothing happens.

    opened by Hannnes1 1
  • Can't load pdf file on iOS simulator

    Can't load pdf file on iOS simulator

    I added this line to Info.plist file: <key>io.flutter.embedded_views_preview</key> <string>YES</string> I getting this error after open pdf file on iOS Simulator:

    [VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: PlatformException(unregistered_view_type, trying to create a view with an unregistered type, unregistered view type: 'pdf_viewer_plugin') #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7) #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33) <asynchronous suspension> #2 PlatformViewsService.initUiKitView (package:flutter/src/services/platform_views.dart:168:41) #3 _UiKitViewState._createNewUiKitView (package:flutter/src/widgets/platform_view.dart:621:71) #4 _UiKitViewState._initializeOnce (package:flutter/src/widgets/platform_view.dart:571:5) #5 _UiKitViewState.didChangeDependencies (package:flutter/src/widgets/platform_view.dart:581:5) #6 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4376:12) #7 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5) #8 Element.inflateWidget (p<…>

    opened by dochanhca 1
  • Is there any way to show only the first/last/x page? Landscape mode?

    Is there any way to show only the first/last/x page? Landscape mode?

    Is there any way to show only the first page/or the second etc, without a scolling thing??

    Also any way to show fullscreen that page when we are in landscape mode?

    opened by klaszlo8207 1
  • Flashing when load the pdf

    Flashing when load the pdf

    I am using a Transition widget to animate the pdf widget,

    But there is a lagg and a flashing between my animations, when the library load my pdf.

    Any way to handle that flashing?

    opened by klaszlo8207 1
  • Embed PdfView on a Gesture widget for handling tap up event it seems not working.

    Embed PdfView on a Gesture widget for handling tap up event it seems not working.

    It seems that PdfView is swallowing the on to up event. My intention is that when it is tapped then I can navigate to another screen.

    On the example the 'on tap up' is not printed on debug console.

    Example code:

    GestureDetector( child: PdfView( key: Key('a key'), path: 'a path', ), onTapUp: (_) { print('on tap up'); }, )

    opened by argbat 0
  • migrate to mavenCentral and update android sdk to com.github.mhiew:android-pdf-viewer:3.2.0-beta.3

    migrate to mavenCentral and update android sdk to com.github.mhiew:android-pdf-viewer:3.2.0-beta.3

    Hello,

    is it possible to perform migration to mavenCentral and use maven dependency com.github.mhiew:android-pdf-viewer:3.2.0-beta.3.

    I found this dependency in the discussion about the migration to maven and someone deployed to maven since git repository is not maintained.

    I have a fork with this change, but I would like to switch dependency in my project to the original.

    Thank you

    opened by boskokg 1
  • cannot find symbol pt.tribeiro.flutter_plugin_pdf_viewer.FlutterPluginPdfViewerPlugin.registerWith(shimPluginRegistry.registrarFor(

    cannot find symbol pt.tribeiro.flutter_plugin_pdf_viewer.FlutterPluginPdfViewerPlugin.registerWith(shimPluginRegistry.registrarFor("pt.tribeiro.flutter_plugin_pdf_viewer.FlutterPluginPdfViewerPlugin"));

    I am getting following error when i am running my flutter app

    Note: C:\src\flutter\.pub-cache\hosted\pub.flutter-io.cn\advance_pdf_viewer-1.2.1+2\android\src\main\java\pt\tribeiro\flutter_plugin_pdf_viewer\FlutterPluginPdfViewerPlugin.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: C:\src\flutter\.pub-cache\hosted\pub.flutter-io.cn\google_maps_flutter-1.1.1\android\src\main\java\io\flutter\plugins\googlemaps\Convert.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    E:\linkinvestor-flutterapp-v2\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java:18: error: cannot find symbol
          pt.tribeiro.flutter_plugin_pdf_viewer.FlutterPluginPdfViewerPlugin.registerWith(shimPluginRegistry.registrarFor("pt.tribeiro.flutter_plugin_pdf_viewer.FlutterPluginPdfViewerPlugin"));
                                               ^
      symbol:   class FlutterPluginPdfViewerPlugin
      location: package pt.tribeiro.flutter_plugin_pdf_viewer
    1 error
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':app:compileDebugJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 42s
    Exception: Gradle task assembleDebug failed with exit code 1
    

    I have tried flutter clean and flutter pub repair but nothing worked.

    opened by bipindubey-technoark 1
  • Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag - Android 10

    Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag - Android 10

    Flutter 1.22.3 Android 10 pdf_viewer_plugin: ^1.0.0+2

    Fatal Exception: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? at android.app.ContextImpl.startActivity(ContextImpl.java:995) at android.app.ContextImpl.startActivity(ContextImpl.java:971) at android.content.ContextWrapper.startActivity(ContextWrapper.java:389) at android.content.ContextWrapper.startActivity(ContextWrapper.java:389) at android.content.ContextWrapper.startActivity(ContextWrapper.java:389) at com.github.barteksc.pdfviewer.link.DefaultLinkHandler.handleUri(DefaultLinkHandler.java:52) at com.github.barteksc.pdfviewer.link.DefaultLinkHandler.handleLinkEvent(DefaultLinkHandler.java:41) at com.github.barteksc.pdfviewer.listener.Callbacks.callLinkHandler(Callbacks.java:177) at com.github.barteksc.pdfviewer.DragPinchManager.checkLinkTapped(DragPinchManager.java:110) at com.github.barteksc.pdfviewer.DragPinchManager.onSingleTapConfirmed(DragPinchManager.java:73) at android.view.GestureDetector$GestureHandler.handleMessage(GestureDetector.java:345) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:8167) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

    opened by mdmota 2
  • PDF Viewer Plugin fails to display complete PDF after Download at Random Times (iOS)

    PDF Viewer Plugin fails to display complete PDF after Download at Random Times (iOS)

    This issue is faced at random times on iOS, once the file is downloaded completely and opens, but it does not display the complete pdf, instead it opens up to the first page and displays the pages as 1/0.

    It does not occur at all times, but once it occurs you go back to the previous screen, open the pdf again and the pdf will be displayed normally. iOS PDF Error

    opened by manalfarooq 0
Owner
Lucas Britto
Software Engineer at Digital14
Lucas Britto
This library allows you to create editable tables and spreadsheets with ease, either by providing initial row and column count to display an empty table or use it with predefined rows and column data sets.

Editable ⚡️ A highly customizable, editable table package for Flutter projects. Specs This package allows you to create editable tables and spreadshee

Godwin Asuquo 94 Dec 7, 2022
It is a Mobile Application built with Flutter to help Instructors reach their students with the material needed for their course (Videos, PDFs, Exams)

Droos - Flutter Mobile Appliction It is a Mobile Application built with Flutter to help Instructors reach their students with the material needed for

Abdulrahman Emad 4 Oct 5, 2022
A wrapper around our Cocoa and Java client library SDKs, providing iOS and Android support for those using Flutter and Dart.

Ably Flutter Plugin A Flutter plugin wrapping the ably-cocoa (iOS) and ably-java (Android) client library SDKs for Ably, the platform that powers sync

Ably Realtime - our client library SDKs and libraries 46 Dec 13, 2022
A Flutter package providing an easy way to add floating ribbon to images.

Floating Ribbon A new Flutter package for creating floating ribbons on images. Dependency dependencies: floating_ribbon: any How To Use In order to

101Loop 12 Sep 26, 2022
Flutter plugin to display a simple numeric keyboard on Android & iOS

numeric_keyboard A simple numeric keyboard widget Installation Add numeric_keyboard: ^1.1.0 in your pubspec.yaml dependencies. And import it: import '

Hugo EXTRAT 16 Sep 27, 2022
Wraps Flutter shared_preferences plugin, providing a iOS Suite Name support, it's helpful for sharing data from App to Widget.

shared_preferences_ios_sn Wraps Flutter shared_preferences plugin and provides an iOS Suite Name support, it's helpful for sharing data from App to iO

null 3 Sep 14, 2022
Display images flutter - Simple app to display images in flutter

Display Images In Flutter Simple app to display images in a flutter. In this dem

Manish Ahire 1 Jan 29, 2022
Flutter ticket pass - A Flutter Widget to display the details of a ticket/pass purchased by customers and display the details of the purchase

ticket_pass_package A Flutter package to display the purchase of a ticket/pass along with additional details such as list of buyers. The source code i

null 40 Aug 13, 2022
Add features to the Android / iOS keyboard in a simple way.

Keyboard Actions Add features to the Android / iOS keyboard in a simple way. Because the keyboard that Android / iOS offers us specifically when we ar

Diego Velásquez López 641 Dec 27, 2022
A Flutter plugin providing signature pad for drawing smooth signatures.

A Flutter plugin providing Signature Pad for drawing smooth signatures. Library is written in pure Dart/Flutter environment to provide support for all

Roman Hornak 79 Dec 21, 2022
This is my way to build a Tagged Search Field that display a list with suggestions while the user type.

tagged_search_field This is my way to build a Tagged Search Field that display a list with suggestions while the user type. A regular search field at

Sherly Cabrera Sánchez 0 Nov 5, 2021
A Flutter step_tracker plugin is collect information from user and display progress through a sequence of steps. this plugin also have privilege for fully customization from user side. like flipkart, amazon, myntra, meesho.

step_tracker plugin A Flutter step_tracker plugin is collect information from user and display progress through a sequence of steps. this plugin also

Roshan nahak 5 Oct 21, 2022
Flutter simple image crop - A simple and easy to use flutter plugin to crop image on iOS and Android

Image Zoom and Cropping plugin for Flutter A simple and easy used flutter plugin to crop image on iOS and Android. Installation Add simple_image_crop

null 97 Dec 14, 2021
The easiest way to create your animated splash screen in a fully customizable way.

Animated Splash Screen Check it out at Pub.Dev Do it your way Assets image Custom Widget Url image IconData Or just change PageTransition and/or Splas

Clean Code 104 Nov 10, 2022
Voxxedapp - A Flutter app for iOS and Android that display details about upcoming Voxxed Days

voxxedapp - a Voxxed Days schedule app made with Flutter What is voxxedapp? It's an app that displays info about upcoming Voxxed Days conferences, inc

Andrew Brogdon 26 Oct 10, 2020
A simple library providing programmatic access to the iTunes search API for podcasts.

A library for searching for podcasts, parsing podcast RSS feeds and obtaining episodes details. Supports searching via iTunes and PodcastIndex (previe

Ben Hills 23 Dec 28, 2022
WooCommerce App template that uses Flutter. Integrated to work with WooCommerce stores, connect and create an IOS and Android app from Flutter for IOS and Android

WooCommerce App: Label StoreMax Label StoreMax - v5.3.1 Official WooSignal WooCommerce App About Label StoreMax Label StoreMax is an App Template for

WooSignal 314 Jan 9, 2023
Flutter plugin to display a simple steps indicator line widget

steps_indicator A simple steps indicator widget Installation Add steps_indicator: ^1.3.0 in your pubspec.yaml dependencies. And import it: import 'pac

Hugo EXTRAT 49 Oct 18, 2022