今回はPDFファイルを表示する方法について見ていきます。
PDFファイルはImageコントロールへの表示が可能です。よってMainPageは以下のようにデザインします。
はじめに、今回のコードを示します。
// PDFドキュメント変数 private Windows.Data.Pdf.PdfDocument pdfDocument; private async void btnPdfOpen_Click(object sender, RoutedEventArgs e) { // PDFファイルを開くためのピッカーを準備 var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.FileTypeFilter.Add(".pdf"); Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { try { // PDFファイルを読み込む pdfDocument = await Windows.Data.Pdf.PdfDocument.LoadFromFileAsync(file); } catch { } } if ( pdfDocument != null) { // 1ページ目を読み込む using (Windows.Data.Pdf.PdfPage page = pdfDocument.GetPage(0)) { // ビットマップイメージの作成 var stream = new Windows.Storage.Streams.InMemoryRandomAccessStream(); await page.RenderToStreamAsync(stream); Windows.UI.Xaml.Media.Imaging.BitmapImage src = new Windows.UI.Xaml.Media.Imaging.BitmapImage(); // Imageオブジェクトにsrcをセット imgPdf.Source = src; // srcに作成したビットマップイメージを流し込む await src.SetSourceAsync(stream); } } }
それではコードを見ていきましょう。
PDFドキュメントは、Windows.Data.Pdf名前空間にあるPdfDocumentクラスで取り扱うことができます。
はじめにFilePickerを準備して、ユーザーにPDFファイルを選択させます。続いて、選択されたPDFファイルをPdfDocumentクラスが持つLoadFromFileAsyncメソッドで読み込みます。
読み込んだPdfDocumentがnullでないことを確認し、PDFの1ページ目を読み込みます。ページの読み込みは、PdfDocumentクラスのGetPageメソッドを使用します。
ページの読み込みが完了したら、Bitmapイメージにします。
Bitmapイメージが作成できたら、あとは画面に配置しているImageオブジェクトに表示をします。
実行例を以下に示します。
Please follow and like us:
コメント