我想在WinForm上调用COM组件显示PDF(将PDF文件打开并且嵌入到WinForm界面上),遇到下面两个问题,请高人指点.
本机与测试程序的电脑上都正确安装了Adobe Reader 9.问题一:
在调用Adobe PDF Reader组件后,用其LoadFile(string fileName)能正确显示,但如果将程序放到另一台电脑上,即使对方已经安装了Adobe Reader 9,但如果其安装路径与我写程序那台电脑上的路径不一样,整个程序就打不开,什么提示也没有;如果安装路径一样,程序正确运行.问题二:
在调用Microsoft Web Browser组件后,用其Navigate(string uRL)方法后能正确执行,在测试电脑上,如果其PDF程序的安装路径与本机相同,程序正确运行;如果不同,则会弹出Adobe Reader 9的可执行程序,并将指定PDF文件打开(效果就像System.Diagnostics.Process.Start(string fileName)方法一样).
用该组件我测试WORD也同样是这样,WORD如果安装在C盘,无问题,在其它盘就会弹出WORD的执行程序.有人能帮忙给解决下不,非常感谢!!!!!!!!!!!!!!!!!
本机与测试程序的电脑上都正确安装了Adobe Reader 9.问题一:
在调用Adobe PDF Reader组件后,用其LoadFile(string fileName)能正确显示,但如果将程序放到另一台电脑上,即使对方已经安装了Adobe Reader 9,但如果其安装路径与我写程序那台电脑上的路径不一样,整个程序就打不开,什么提示也没有;如果安装路径一样,程序正确运行.问题二:
在调用Microsoft Web Browser组件后,用其Navigate(string uRL)方法后能正确执行,在测试电脑上,如果其PDF程序的安装路径与本机相同,程序正确运行;如果不同,则会弹出Adobe Reader 9的可执行程序,并将指定PDF文件打开(效果就像System.Diagnostics.Process.Start(string fileName)方法一样).
用该组件我测试WORD也同样是这样,WORD如果安装在C盘,无问题,在其它盘就会弹出WORD的执行程序.有人能帮忙给解决下不,非常感谢!!!!!!!!!!!!!!!!!
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;
}
}
http://www.codeproject.com/KB/applications/PDFViewerControl.aspx
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;
}
}
我把PDF阅读器卸载后按默认路径安装到C盘(原来装在D盘),问题竟然没有了
都没有搞懂什么意思.....汗