使用syncfusion_flutter_pdfviewer从URL文件加载PDF时出现问题

问题描述 投票:0回答:1

我正在使用syncfusion_flutter_pdfviewer库来加载pdf url文件并在日志中获取这些问题。 Android 和 iOS 设备中存在 PDF 问题,但图像正在加载。

获取这些错误日志:

E/MethodChannel#syncfusion_flutter_pdfviewer(24160): Failed to handle method call
E/MethodChannel#syncfusion_flutter_pdfviewer(24160): java.lang.NullPointerException
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at java.util.Objects.requireNonNull(Objects.java:220)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at com.syncfusion.flutter.pdfviewer.SyncfusionFlutterPdfViewerPlugin.closeDocument(SyncfusionFlutterPdfViewerPlugin.java:229)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at com.syncfusion.flutter.pdfviewer.SyncfusionFlutterPdfViewerPlugin.onMethodCall(SyncfusionFlutterPdfViewerPlugin.java:99)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at android.os.Handler.handleCallback(Handler.java:942)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at android.os.Looper.loopOnce(Looper.java:201)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at android.os.Looper.loop(Looper.java:288)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at android.app.ActivityThread.main(ActivityThread.java:7872)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/MethodChannel#syncfusion_flutter_pdfviewer(24160):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
E/flutter (24160): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, null, null, java.lang.NullPointerException
E/flutter (24160):  at java.util.Objects.requireNonNull(Objects.java:220)
E/flutter (24160):  at com.syncfusion.flutter.pdfviewer.SyncfusionFlutterPdfViewerPlugin.closeDocument(SyncfusionFlutterPdfViewerPlugin.java:229)
E/flutter (24160):  at com.syncfusion.flutter.pdfviewer.SyncfusionFlutterPdfViewerPlugin.onMethodCall(SyncfusionFlutterPdfViewerPlugin.java:99)
E/flutter (24160):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258)
E/flutter (24160):  at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295)
E/flutter (24160):  at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322)
E/flutter (24160):  at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/flutter (24160):  at android.os.Handler.handleCallback(Handler.java:942)
E/flutter (24160):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/flutter (24160):  at android.os.Looper.loopOnce(Looper.java:201)
E/flutter (24160):  at android.os.Looper.loop(Looper.java:288)
E/flutter (24160):  at android.app.ActivityThread.main(ActivityThread.java:7872)
E/flutter (24160):  at java.lang.reflect.Method.invoke(Native Method)
E/flutter (24160):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/flutter (24160):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
E/flutter (24160): )
E/flutter (24160): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:652:7)
E/flutter (24160): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:310:18)
E/flutter (24160): <asynchronous suspension>
E/flutter (24160): #2      PdfViewerPlugin.closeDocument (package:syncfusion_flutter_pdfviewer/src/common/pdfviewer_plugin.dart:154:7)
E/flutter (24160): <asynchronous suspension>
E/flutter (24160): 
E/flutter (24160): [ERROR:flutter/runtime/dart_isolate.cc(1097)] Unhandled exception:
E/flutter (24160): type 'Null' is not a subtype of type 'num'
E/flutter (24160): #0      SfPdfViewerState._extractTextAsync (package:syncfusion_flutter_pdfviewer/src/pdfviewer.dart:1704:40)
E/flutter (24160): <asynchronous suspension> 

依赖版本:
syncfusion_flutter_pdfviewer:^22.2.12

android flutter dart pdf syncfusion
1个回答
0
投票

要在 Android 发布模式下使用 SfPdfViewer.network 从网络位置加载 PDF 文档,必须为应用程序启用网络权限。这可以通过在 android pp\src\main\AndroidManifest.xml 文件中添加以下行来完成:

<uses-permission android:name="android.permission.INTERNET"/>
© www.soinside.com 2019 - 2024. All rights reserved.