Как использовать эту библиотеку, чтобы показать PDF, когда этот экран открыт во Flutter - PullRequest
0 голосов
/ 28 марта 2019

У меня есть файл pdf_screen.dart, который будет отображать PDF-файл непосредственно при открытии. Может ли кто-нибудь объяснить мне, как использовать функции этой библиотеки под названием flutter pdf viewer только для показа моего pdf?

Пример библиотеки средства просмотра PDF Flutter

    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 голосов
/ 28 марта 2019

Как говорится в readme, эта библиотека запускает новое намерение, поэтому она заменяет ваше приложение Flutter в стеке, пока вы не нажмете кнопку возврата.Пример ясен, как этого добиться.

Однако, поскольку readme продолжается, появляется подтверждение концепции, позволяющее вам визуализировать PDF внутри вашего приложения Flutter.Проверьте ветку с github, чтобы узнать больше.

Подтверждение концепции для встроенных PDF-файлов доступно в inline ветке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...