簡體   English   中英

如何在 Flutter_webview 中顯示或下載 pdf 文件?

[英]How can I show or download pdf files inside a Flutter_webview?

我想在我的 webview 中打開或下載 PDF 文件。 我嘗試在 webview 社區版本中啟用FilesURl,但它不起作用。

最好的問候福爾克

Future<File> createFileOfPdfUrl({String urlP = ''}) async {
                            final url = urlP;
                            String filename = '${DateTime.now().microsecondsSinceEpoch}';
                            var request = await HttpClient()?.getUrl(Uri.parse(url));
                            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);
                            return file;
                          }

. .

createFileOfPdfUrl(urlP: '${jsonRes['m']}').then((res) {
                                    Navigator.push(context, MaterialPageRoute(builder: (context) => PDFScreen(res.path)));
                                  });

. . .

class PDFScreen extends StatelessWidget {
  String pathPDF = "";

  PDFScreen(this.pathPDF);

  @override
  Widget build(BuildContext context) {

    return PDFViewerScaffold(
        appBar: AppBar(
          leading: IconButton(
            onPressed: () {
              Navigator.pop(context);
            },
            icon: Icon(Icons.arrow_back_ios),
          ),
          centerTitle: true,
          title: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              Text(
                "PDF",
                style: TextStyle(
                  fontSize: 16,
                  color: Theme.of(context).accentColor,
                ),
              ),
              Text("Önizleme", style: TextStyle(color: Theme.of(context).accentTextTheme.subtitle.color, fontSize: 14)),
            ],
          ),
          actions: <Widget>[
            IconButton(
              icon: Icon(Icons.share),
              onPressed: () {
                Share.share('$pathPDF');
              },
            ),
          ],
        ),
        path: pathPDF);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM