软件包
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
。我这样做了,但还是没用。
99% 的可能性您遇到 CORS 相关问题。 PDF 查看器尝试加载与您的应用程序(或本地主机)位于不同域的 PDF。
为了解决这个问题,你有几个选择:
基本上,您遇到了与在 canvaskit 渲染器上显示外部图像类似的问题。 (在您的情况下,这对于 HTML 渲染器来说也是实际的,因为它看起来像 PDF 查看器使用 AJAX 加载 PDF)。 详情请看这里
确保放置 `
pdfjsLib.GlobalWorkerOptions.workerSrc = "//cdnjs.cloudflare.com/ajax/libs/pdf.js/2.4.456/pdf.worker.min.js"; `在
index.html
代码的主体中,否则它将无法工作。