2016.4.6 WinForm显示PDF两种方法

Posted mol1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016.4.6 WinForm显示PDF两种方法相关的知识,希望对你有一定的参考价值。

1、最直接的方法,添加webbrowser控件

webb.Url = new Uri(path);可显示pdf控件。

如果需要在打开时跳转到某页,可用在路径后直接加#page=,例如webb.Url = new Uri("d:\\a.pdf#page=5")

如果设置打开时的放大率,可用webb.Url = new Uri("d:\\a.pdf#page=5&room=120")

这种方法最简单,但在打开后无法控制页面跳转,页面布局等操作。

 

2、第二种方法,利用pdfreader自带的dll控件实现

在工具箱组件里选择添加项,在弹出的对话框中选择com,adobe arcobat reader,工具箱中会多出pdf控件

用axpdf.LoadFile(ep + "424-20.pdf");可显示pdf

用axpdf.setPageMode("none"); //控制页面显示none只显示页面包括工具栏,bookmarks显示书签和文档,thumbs显示缩略图

axpdf.goForwardStack(); //返回上一视图

axpdf.setCurrentPage(18); //跳转到指定页

 

在退出时会报错的解决方法:

//解决退出时报错的方法

[System.Runtime.InteropServices.DllImport("ole32.dll")]

static extern void CoFreeUnusedLibraries();       

private void MF_FormClosing(object sender, FormClosingEventArgs e)

{

    axpdf.Dispose();

    System.Windows.Forms.Application.DoEvents();

    CoFreeUnusedLibraries();

}

以上是关于2016.4.6 WinForm显示PDF两种方法的主要内容,如果未能解决你的问题,请参考以下文章

C# 在Winform中打开PDF

C#winform adobe PDF reader 控件

winform 把窗口上的全部信息生成PDF文件显示??

请教在WINFORM显示PDF文件用哪个控件

C# 基础— 解决 "winForm 引用 Adobe PDF Reader控件不显示pdf 文件" 问题

winform pdf浏览