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();
}