今回は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:


コメント