有关如何在WPF Windows应用程序中显示PDF文件的任何想法?
我使用以下代码来运行浏览器,但该Browser.Navigate
方法没有做任何事情!
WebBrowser browser = new WebBrowser(); browser.Navigate("http://www.google.com"); this.AddChild(browser); // this is the System.Windows.Window
小智.. 18
您可以使用WindowsFormHost控件在WPF应用程序中使用Acrobat Reader控件.我在这里有一篇关于它的博客文章:
http://hugeonion.com/2009/04/06/displaying-a-pdf-file-within-a-wpf-application/
我还有一个5分钟的截屏视频,我是如何在这里制作的:
http://www.screencast.com/t/JXRhGvzvB
您可以使用WindowsFormHost控件在WPF应用程序中使用Acrobat Reader控件.我在这里有一篇关于它的博客文章:
http://hugeonion.com/2009/04/06/displaying-a-pdf-file-within-a-wpf-application/
我还有一个5分钟的截屏视频,我是如何在这里制作的:
http://www.screencast.com/t/JXRhGvzvB
您只需在表单上托管Web浏览器控件并使用它来打开PDF.
在.NET 3.51中有一个新的本机WPF"WebBrowser"控件,或者您可以在WPF应用程序中托管Windows.Forms浏览器.
哎呀.这是一个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;
以下代码需要安装Adobe Reader并将Pdf扩展连接到此.它只是运行它:
String fileName = "FileName.pdf"; System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = fileName; process.Start(); process.WaitForExit();
试试MoonPdfPanel - A WPF-based PDF viewer control
http://www.codeproject.com/Articles/579878/MoonPdfPanel-A-WPF-based-PDF-viewer-control
GitHub:https://github.com/reliak/moonpdf
只需使用框架和web浏览器
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版本.如果我没有清理,我在.NET 3.5中看到了不良的内存泄漏.