首页 > 解决方案 > 在 Flutter 中打开此屏幕时如何使用此库显示 PDF

问题描述

我有一个 pdf_screen.dart 文件,打开时会直接显示 PDF,有人可以解释我如何使用这个名为 flutter pdf viewer 的库的功能来显示我的 pdf 吗?

Flutter PDF 查看器库示例

    class _PdfScreenState extends State<PdfScreen> {

      final DocumentSnapshot document;
      String path;
      var dir;

      _PdfScreenState(this.document);


      @override
      void initState() {
        super.initState();
        getPdf();
      }

      Future<void> getPdf() async {
        try {
          dir = await getApplicationDocumentsDirectory();
          setState(() {
            path = "${dir.path}/${document["title"]}.pdf";
          });
        } catch (e) {
          print(e);
        }
      }


      @override
      Widget build(BuildContext context) {

        if (path == null) {


   print("loading");
      return Container(
        color: Colors.white,
        child: Center(
          child: CircularProgressIndicator(backgroundColor: Colors.blueAccent,
          ),
        ),
      );
    } else {

      return Container(
             child: ??; // I need to show my PDF here, I need to pass the path 
                       // variable but PdfViewer is a function and it doesn't 
                       // return a widget, how to implement?
    }
  }
}

标签: androidpdfdartflutter

解决方案


正如自述文件所说,这个库启​​动了一个新的意图,因此它会替换堆栈中的 Flutter 应用程序,直到您使用后退按钮。这个例子很清楚如何实现这一点。

然而,随着自述文件的继续,一个概念验证可用,允许您在 Flutter 应用程序中呈现 PDF。查看来自 github 的分支以探索更多信息。

内联 PDF 的概念证明可在内分支获得。


推荐阅读