首页 新闻 会员 周边

向高手请教C# WindowsForms中显示pdf文件?求方法

0
悬赏园豆:20 [已解决问题] 解决于 2009-04-27 20:30

向高手请教C# WindowsForms中显示pdf文件?求方法

小情的主页 小情 | 初学一级 | 园豆:29
提问于:2009-04-15 20:41
< >
分享
最佳答案
0

安装好Acrobat Reader后

.在工具箱中添加Adobe提供的ActiveX控件
拖一个Adobe PDF Reader控件到窗体上,双击窗体,在窗体加载时,弹出对话框,加载PDF文件:

Code
string fileName = MyOpenFileDialog();
axAcroPDF1.LoadFile(fileName);

MyOpenFileDialog()函数为:
string MyOpenFileDialog()
{
OpenFileDialog ofd
= new OpenFileDialog();
ofd.Filter
= "PDF文档(*.pdf)|*.pdf";

if (ofd.ShowDialog() == DialogResult.OK)
{
return ofd.FileName;
}
else
{
return null;
}
}


也可以用代码创建Adobe PDF Reader组件:

Code
string fileName = MyOpenFileDialog();
AxAcroPDFLib.AxAcroPDF axAcroPDF
= new AxAcroPDFLib.AxAcroPDF();
axAcroPDF.Location
= new System.Drawing.Point(0, 24);
axAcroPDF.Size
= new System.Drawing.Size(292, 242);
axAcroPDF.Dock
= DockStyle.Fill;
Controls.Add(axAcroPDF);
axAcroPDF.LoadFile(fileName);


不过要注意,在我们把Adobe PDF Reader组件拖到窗体上的时候,它会自动引用2个dll:AcroPDFLib和AcroPDFLib,
在编译的时候,VS会Adobe PDF Reader ActiveX组件转换为2个.net组件:AxInterop.AcroPDFLib.dll和Interop.AcroPDFLib.dll,
所以在写代码创建Adobe PDF Reader 组件的时候,需要手动把Adobe PDF Reader   ActiveX组件转换为.net组件并引用!最好的办法是,托一个Adobe PDF Reader 组件到窗体上,然后删除,这样就不需要手动了!

孙英雄 | 小虾三级 |园豆:857 | 2009-04-15 21:57
其他回答(1)
1

安装好Acrobat Reader后

在WinForm中拖入一个WebBrowser控件,

然后就Url中填入pdf路径就可以.

我的快手软件 www.kuaishou.net 就是这么做的

时空地图-TimeGIS-com | 园豆:205 (菜鸟二级) | 2009-04-15 21:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册