2016.4.6 WinForm显示PDF两种方法

时间:2022-06-01 18:44:17

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两种方法