27

WPF WindowsアプリケーションでPDFファイルを表示する方法について何かアイデアはありますか?


次のコードを使用してブラウザを実行していますが、このBrowser.Navigateメソッドは何も実行しません。

WebBrowser browser = new WebBrowser();
browser.Navigate("http://www.google.com");
this.AddChild(browser); // this is the System.Windows.Window
4

9 に答える 9

18

WindowsFormHostコントロールを使用すると、AcrobatReaderコントロールをWPFアプリで機能させることができます。ここにそれについてのブログ投稿があります:

http://hugeonion.com/2009/04/06/displaying-a-pdf-file-within-a-wpf-application/

また、ここでどのように作成したかについての5分間のスクリーンキャストもあります。

http://www.screencast.com/t/JXRhGvzvB

于 2009-04-06T06:25:06.023 に答える
13

フォームでWebブラウザコントロールをホストし、それを使用してPDFを開くことができます。

.NET 3.51には新しいネイティブWPF「WebBrowser」コントロールがあります。または、WPFアプリでWindows.Formsブラウザーをホストすることもできます。

于 2008-09-10T19:25:07.680 に答える
9

おっとっと。これはwinformsアプリ用です。WPF 用ではありません。とにかくこれを投稿します。

これを試して

private AxAcroPDFLib.AxAcroPDF axAcroPDF1;
this.axAcroPDF1 = new AxAcroPDFLib.AxAcroPDF();
this.axAcroPDF1.Dock = System.Windows.Forms.DockStyle.Fill;
this.axAcroPDF1.Enabled = true;
this.axAcroPDF1.Name = "axAcroPDF1";
this.axAcroPDF1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axAcroPDF1.OcxState")));
axAcroPDF1.LoadFile(DownloadedFullFileName);
axAcroPDF1.Visible = true;
于 2008-09-10T20:04:59.020 に答える
9

http://www.codeproject.com/Articles/579878/MoonPdfPanel-A-WPF-based-PDF-viewer-controlを試してくださいMoonPdfPanel - A WPF-based PDF viewer control

GitHub: https://github.com/reliak/moonpdf

于 2013-06-29T15:11:59.027 に答える
8

次のコードは、Adobe Reader がインストールされていること、および Pdf 拡張機能がこれに接続されていることを前提としています。それは単にそれを実行します:

String fileName = "FileName.pdf";
System.Diagnostics.Process process = new System.Diagnostics.Process(); 
process.StartInfo.FileName = fileName;
process.Start();
process.WaitForExit();
于 2009-02-24T14:44:18.323 に答える
7

フレームとそのようなウェブブラウザを使用するだけです

Frame frame = new Frame();
WebBrowserbrowser = new WebBrowser();
browser.Navigate(new Uri(filename));
frame.Content = browser;

次に、それがもう必要なくなったら、これを実行してクリーンアップします。

WebBrowser browser = frame.Content as WebBrowser;
browser.Dispose();
frame.Content = null;

クリーンアップしないと、使用している.NETのバージョンによっては、メモリリークの問題が発生する可能性があります。クリーンアップしないと、.NET3.5で悪いメモリリークが発生しました。

于 2011-04-22T19:14:02.833 に答える
-1

これをチェックしてください:http://itextsharp.sourceforge.net/ WindowsFormsHostを使用する必要があるかもしれませんが、オープンソースであるため、WPFでもう少しエレガントにすることができるかもしれません。

于 2008-09-10T19:21:22.557 に答える