Silverlightアプリ内でPDFを表示できるかを調べたところ、以下の条件が必要なようです。
- 表示するマシンにAdobe Readerがインストールされている。
- WebBrowserコントロールを使用する。
- この時点で自動的にSilverlightのOut Of Browserが必須になります。
下記のサイトを参考にしました。
- [igdd] COM AutomationでPDFを開くことは可能ですか?Acrobatを使用すればPDFとして印刷することは可能ですか。 – Akira Onishi's weblog
- WebBrowser クラス (System.Windows.Controls)
アジェンダ
- 検証コード
- ブラウザ内実行時にPDFを表示する。
- まとめ
検証コード
MainPage.xamlにWebBrowserを定義します。
<Grid x:Name="LayoutRoot" Background="White"> <WebBrowser Source="http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/iac_developer_guide.pdf"/> </Grid>
これを通常のSilverlightアプリとして実行すると下記のようになります。
ブラウザ内実行時にPDFを表示する。
ブラウザ上で実行している時は諦めて別ウィンドウにPDFを表示します。
System.Windows.Browser.HtmlPage.PopupWindow( new Uri("http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/iac_developer_guide.pdf", UriKind.Absolute), "_blank", null);
まとめ
- Out Of Browserで実行すればSilverlightアプリ内にPDFを表示できる。
- ブラウザ内実行時は諦めて別ウィンドウで表示する。