flutter - 将 syncfusion_flutter_pdfviewer 与 flutter web 结合使用

标签 flutter dart

syncfusion_flutter_pdfviewer 刚刚于 5 月 19 日发布,我想用它来将我的应用程序移植到网络上,但它不起作用。我的代码如下所示:

class _VPMontagState extends State<VPMontag> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('mytext'),
      ),
      body: Container(
        child: SfPdfViewer.network('myurl'),
      )
    );
  }
}

他们还在他们的文档中写到你应该添加

<script src="//cdnjs.cloudflare.com/ajax/libs/pdf.js/2.4.456/pdf.min.js"></script>
<script type="text/javascript">
   pdfjsLib.GlobalWorkerOptions.workerSrc = "//cdnjs.cloudflare.com/ajax/libs/pdf.js/2.4.456/pdf.worker.min.js";
</script>

进入index.html。我这样做了,但还是没用。

最佳答案

您遇到 CORS 相关问题的可能性为 99%。 PDF 查看器尝试加载与您的应用程序(或本地主机)不同域的 PDF。

为了解决这个问题,您有几种选择:

  • 使用部署在与您相同的域中的代理,这将重新路由对 PDF 的调用
  • 如果您有权访问存储 PDF 的存储服务器,则可以在其上配置 CORS

基本上,您遇到与在 canvaskit 渲染器上显示外部图像类似的问题。 (在您的情况下,这对于 HTML 渲染器也是实际的,因为它看起来像 PDF 查看器使用 AJAX 加载 PDF)。 See here for details

关于flutter - 将 syncfusion_flutter_pdfviewer 与 flutter web 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67651884/

相关文章:

Dart polymer .dart dart2js

intellij-idea - 如何从 IDEA 在 Dartium 浏览器中正确运行 Angular2 dart 应用程序?

firebase - 如何在 Flutter 中查询其字段值包含在本地列表变量中的 Firestore 数据

firebase - Flutter:方法[]在null上被调用

tensorflow - 在 flutter 中运行 tensorflow-lite 的最佳选择是什么?

flutter - VSCode Ctrl+Space 不显示 Dart 的类选项

dart - 如何创建一个能够接受文本输入并显示 flutter 结果的对话框?

firebase - 在 flutter 中过滤来自 firebase 的数据

flutter - 使用不同名称的 setState 变量

flutter - Flutter: future builder 不会更新表单值