[Flutter]PDFを開く方法まとめ

スポンサーリンク

環境

  • Windows10
  • Flutter 1.12.13+hotfix.5

前提

  • PDFはネットにあるものを開く
  • PDFはダウンロードしない
  • よそのWebサービスで開くPDFを開きたい
  • urlの形式が"https://examlpe.com/sample"のような形式(このあたりは知見がない)
    "https://examlpe.com/sample.pdf"のような形式ではない。httpのgetで取ってきている?

考えて調べた順

FlutterのPDFViewerライブラリを使う

pub.dev で、pdf viewerと検索して、relevance(関連性)が高いものを試した。
※なんかGoogle検索だと事例が少ないので、パッケージのReadmeを見た方がよさげ。

  • flutter_full_pdf_viewer
  • pdf_viewer_plugin
  • flutter_plugin_pdf_viewer

WebViewで開く

pub.dev で、以下のパッケージを探して使った。

  • webview_flutter

試した

WebViewで開くことにした

URLリンクさえわかれば、単純に表示できるWebViewの表示方法を選びました。
注意点がありました。

Android側は、googleDocsビューアを使用する必要があった。
iOS側は、そのままで問題ない。

例:PDFのURL:https://sample.com/samplepdf

Androidの場合
https://docs.google.com/viewer?url=https://sample.com/samplepdf
iOSの場合
https://sample.com/samplepdf

変換用のDartメソッド

  final String googleDocs = "https://docs.google.com/viewer?url=";
  static String createLoadUrl(String url) {
    if (Platform.isAndroid) {
      return googleDocs + url;
    } else {
      return url;
    }
  }

参考

android – WebView内でPDFファイルを開く
https://tutorialmore.com/questions-1125477.htm

webviewはリンククリックでpdfファイルを読み込みません

コメント

タイトルとURLをコピーしました