首页 新闻 搜索 专区 学院

WPF关于WebBrowser , PDF , windowsformshost

0
悬赏园豆:50 [已解决问题] 解决于 2013-09-12 08:17

在windowsformshost用webbrowser打开PDF文件

webbrowserOne = new System.Windows.Forms.WebBrowser();
windowsFormsHost1.Child = webbrowserOne;
webbrowserOne.Url = new Uri(str);

当文件名是全英、全数或英加数的时候,可以打开显示,而文件名为中文的时候打不开页面,我猜测是编码问题,求教

问题补充:

在使用AdobeReaderControl时,打开当地文本可以实现,打开FTP上时不能打开,代码如下:

string openFileName ="ftp://pdf:123456@192.168.1.14/2.pdf"; //"e:\\text\\dian\\pdf\\2.pdf";//
AdobeReaderControl pdfCtl = new AdobeReaderControl(openFileName);
winFormHost.Child = pdfCtl;

 

用openFileDialog打开FTP时,可以打开,但是发现路径为在本地的缓存文件路径,而我想做的是不使用openFileDialog的选择框,我想实现的是先把指定文件夹里的文件列出在treeview上,用selectchange获取文件名+指定FTP路径来打开此文件

iEvent的主页 iEvent | 小虾三级 | 园豆:529
提问于:2013-09-10 10:37
< >
分享
最佳答案
0

把你的地址用urlencode编码一下试试,参考:http://msdn.microsoft.com/en-us/library/4fkewx0t.aspx

收获园豆:50
天方 | 大侠五级 |园豆:5266 | 2013-09-10 17:16

求语句,求代码,地址是str

iEvent | 园豆:529 (小虾三级) | 2013-09-10 17:21

@chous: 

那个地址已经是官方的api的说明了,非要看例子的话参考这篇文章即可:

http://www.cnblogs.com/TianFang/archive/2006/07/28/399842.html

使用的时候注意添加System.Web.dll的引用,否则编译不过去。

另外,你也可以使用在线urlencode试试有没有效果:http://tool.chinaz.com/Tools/URLEncode.aspx

天方 | 园豆:5266 (大侠五级) | 2013-09-10 20:19

@chous: 

看了你的问题补充说明,

不想看到openFileDialog的话,先用WebClient 把ftp文件下载到本地来,然后用AdobeReaderControl 打开本地文件不就可以了。

天方 | 园豆:5266 (大侠五级) | 2013-09-11 20:20

@天方: 嗯,正考虑往这方面走了,不过要是新文件每次都下载,会积压很多文件,所以如果能不走就尽量不走,最想解决的还是webbrowser的编码问题,谢谢你!如果有后续方案和解决方法,希望早点分享给我。

iEvent | 园豆:529 (小虾三级) | 2013-09-12 08:14

@天方: 结贴了,如果后面的园友有不同的解决方法,希望能分享!

iEvent | 园豆:529 (小虾三级) | 2013-09-12 08:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册