首页 > 解决方案 > 从 url 加载 pdf 文件

问题描述

我有来自服务器 https://xxxx.pdf20200529的这个 url 。如何在我的颤振应用程序中将它加载为 pdf?

我使用这个插件,但什么也没发生。

代码

OpenFile.open(value);  // value is https://xxxx.pdf20200529

编辑

 generatePDF(dynamic value) async {
    final filename = value.substring(value.lastIndexOf("/") + 1);
    var request = await HttpClient().getUrl(Uri.parse(value));
    var response = await request.close();
    var bytes = await consolidateHttpClientResponseBytes(response);
    String dir = (await getApplicationDocumentsDirectory()).path;
    File file = new File('$dir/$filename');
    await file.writeAsBytes(bytes);
    OpenFile.open(file.path);
  }

标签: flutterpdfdart

解决方案


在 Flutter 中打开 PDF 非常简单。所以我建议你使用一个包。flutter_full_pdf_viewer 工作得很好并且易于使用,但还有其他的。

https://pub.dev/packages/flutter_full_pdf_viewer

这将是您的 PDF 屏幕:

class PDFScreen extends StatelessWidget {
  String pathPDF = "";
  PDFScreen(this.pathPDF);

  @override
  Widget build(BuildContext context) {
    return PDFViewerScaffold(
        appBar: AppBar(
          title: Text("Document"),
          actions: <Widget>[
            IconButton(
              icon: Icon(Icons.share),
              onPressed: () {},
            ),
          ],
        ),
        path: pathPDF);
  }
}

像这样导航到它。确保将本地路径传递到屏幕。:

Navigator.push(context, MaterialPageRoute(builder: (context) => PDFScreen(pathPDF)),

推荐阅读