none
UWPのWebViewでローカルのPDFを表示したい RRS feed

  • 質問

  • お世話になります。

    UWPでPDFを表示する方法を探しています。

    PDFをUWPアプリで表示する手段として、PdfPageクラスを利用する方法があると思うのですが、
    PdfPageクラスを使わずにiOSのようにWebView内でローカルのPDFファイルを表示したいと思っています。
    (諸事情により、PdfPageクラスが使えない状況です…また、GoogleDriveに載せたり、サーバ上のPDFの参照もできません…)

     ・WebViewのUriに直接PDFファイル指定する
     ・NavigateToLocalStreamUriで読み込む
     ・objectタグやembedタグでHTMLの中にPDFファイルごと埋め込む

    などを試しましたが、PDFが表示できていません。
    なにか他に方法はありませんでしょうか?

    そもそも、UWPのWebViewクラスではPDFファイルの読み込みはできなかったりするのでしょうか?
    (WebViewクラスのリファレンスを見ると、「Windows8.x世代ではPDFは読み込めない」という
     記載はあるものの、Windows10に関しては記載がないので、大丈夫なのかなと思ったのですが…。)
    https://msdn.microsoft.com/library/windows/apps/windows.ui.xaml.controls.webview.aspx

    どなたかご存知でしたらご教授いただければ幸いです。
    よろしくお願い致します。



    • 編集済み flat8kiki 2016年6月23日 9:44
    2016年6月23日 9:44

回答

  • USのMSDNフォーラムでMS社員の方やstackoverflowでも「Windows.Data.Pdf」を使用するようにと書かれています。
    WebView内ではないですが、Launcher.LaunchUriAsyncに引き渡す方法を提示されている方もいらっしゃいました。
    現在のところWebViewで直接PDFの描画はできないのではないかと思われます。
    PdfPageクラスが使えないとなると状況にもよりますが「Syncfusion Essential Studio」の「SfPdfViewerControl」などサードパーティ製のものを使用するというのも手にはなりますが、書かれてる状況からすると難しいですよね。

    2016年6月23日 11:31

すべての返信

  • USのMSDNフォーラムでMS社員の方やstackoverflowでも「Windows.Data.Pdf」を使用するようにと書かれています。
    WebView内ではないですが、Launcher.LaunchUriAsyncに引き渡す方法を提示されている方もいらっしゃいました。
    現在のところWebViewで直接PDFの描画はできないのではないかと思われます。
    PdfPageクラスが使えないとなると状況にもよりますが「Syncfusion Essential Studio」の「SfPdfViewerControl」などサードパーティ製のものを使用するというのも手にはなりますが、書かれてる状況からすると難しいですよね。

    2016年6月23日 11:31
  • ご返信ありがとうございます!大変助かります。

    やはりWebViewでローカルPDFを開くのは無理そうなのですね…。
    Launcher.LaunchUriAsyncも直接はローカルのファイルを開けなさそうなので、
    SharedStorageAccessManagerを仲介して利用する形にするしかない気がしてきました。
    別アプリに連携する方向で考えてみます。ありがとうございます。


    2016年6月24日 6:42