環境
- 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ファイルを読み込みません
https:// kotaeta.com/53650825
※リンク切れ
コメント