Windowsストアアプリで同梱のPDFファイルを開く
WindowsストアアプリにPDFファイルを同梱して、それを当該アプリから開くやり方です。気合の入ったREADMEをPDF化してアプリに同梱して、開くボタンを付けるなんて良いですね!それでWindowsストアの審査に通るかどうか知らんけど。
PDFファイルを同梱するには
PDFファイルをプロジェクトに含めて、プロパティのビルド アクションを「コンテンツ」にします。
アプリから開くには
こんな感じのコードで開けます。
private async void ExecuteOpenPdfCommand() { // プロジェクトフォルダー直下の Assets フォルダー内にある Sample.pdf を表示する。 var uri = new Uri("ms-appx:///Assets/Sample.pdf"); var file = await StorageFile.GetFileFromApplicationUriAsync(uri); // PDF ファイルに関連付けられたアプリが起動して、画面の半分を使って表示される。 // デスクトップアプリが関連付けられていると…。 await Launcher.LaunchFileAsync(file, new LauncherOptions { DesiredRemainingView = ViewSizePreference.UseHalf }); }
こんな感じ。*1
ポイントは:
- URIの指定方法
- StorageFileの取得方法
- Launcherクラスを使用すること
応用
ちょっと工夫すれば次のようなことができます:
- 同梱のテキストファイルを読み込む:こちらの記事に詳しいです。
- URIを開く:Launcher.LaunchUriAsyncメソッドを使います。
→http://...
やhttps://...
なら既定のブラウザーが起動します。
*1:左側に起動元アプリが表示されています。