DelphiのFMXの開発を行っております。
iosでローカルストレージに保存されたPDFをTWebBrowserに表示する方法について、
教えていただければと思います。
インターネット上のPDFであれば開きますが、
WebBrowser1.Navigate('http://・・・/test.pdf');
ローカルストレージ上のPDFは「指定したファイルが見つかりません」とエラーになり、開きません。
WebBrowser1.Navigate('file:///private/var/mobile/Containers/Data/Application/・・・/test.pdf');
【バージョン】
RAD Studio 11 Alexandria
Embarcadero® Delphi 11.0 バージョン 28.0.42600.6491
留守中の Mr.XRAY です (笑)
HTTP, HTTPS は,インターネットにおいて,ウェブサーバとクライアント間で
情報をやりとりする時の通信手順 ( プロトコル ) のことです.
通常は,ローカル PC はサーバとしては機能していまません.
Windows では,ローカルファイルの場合,
file:///d:/testdir/WordTest.pdf
のようになります.
私は iOS / android におけるスストレージの操作に関する知識がありません.
しかし,おそらく iOS / android でも http, https は使用しないのではないかと思います.
Mr.XRAY さん
はじめまして、ホームページ大変参考にさせていただいております。
この場をお借りして感謝をお伝えいたします。
>私は iOS / android におけるスストレージの操作に関する知識がありません.
そうですか。
SwiftだとPDFKitフレームワークを使うみたいですね。
Delphiではサードパーティー製にPDFKitフレームワークを使ったものがみたいですね。
https://blogs.embarcadero.com/view-pdfs-on-ios-with-this-powerful-native-pdf-library-for-delphi-firemonkey-by-winsoft/
android のchromeはpdfファイルをそもそも表示出来ない(ブラウザからpdfファイルを開こうとすると、アプリの選択になる)ので、WebViewも表示出来ないと思います。昔のGoogleブラウザは表示出来たみたいですが。
intentを使って、インストールされているアプリを選択させるしかないかと。
iOSは私にはわからないです。すいません。
mamさん
ご返信ありがとうございます。
androidは確かにダウンロードの場合もインテントを使って別アプリで表示しますからね。
自社アプリで必須ではありませんので、今回は諦めることにします。
ただ、本投稿については、未解決の状態にさせていただこうと思います。
iOSではTWebBrowser.Navigateで、AndroidではTJIntentで扱えるようです。ちょっと古いですがSOにそんな情報がありました。
Delphi open PDF from ios/Android local storage - Stack Overflow
https://stackoverflow.com/questions/28699574/delphi-open-pdf-from-ios-android-local-storage
ツイート | ![]() |