在Flutter中打开此屏幕时,如何使用该库显示PDF

时间:2019-03-27 22:15:52

标签: android pdf dart flutter

我有一个pdf_screen.dart文件,该文件在打开时将直接显示PDF,有人可以向我解释如何使用称为flutter pdf查看器的该库的功能来显示我的pdf吗?

Flutter PDF Viewer Library Example

    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?
    }
  }
}

1 个答案:

答案 0 :(得分:0)

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

但是,随着自述文件的继续,概念验证可用,您可以在Flutter应用程序中渲染PDF。查看github上的分支以探索更多内容。

  

在线 分支中提供了嵌入式PDF的概念证明。