找回密码
 立即注册

QQ登录

只需一步,快速开始

Alice
社区贡献组   /  发表于:2015-3-17 08:56:00
11#
回复 10楼holly.huang的帖子

是的,这是Silverlight平台下路径。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2015-3-17 10:18:00
12#
回复 11楼Alice的帖子

1、FileStream微软提供的文件读写类库
2、我这边使用FileStream fs = new FileStream(@"C:\Users\elwin\Documents\ComponentOne Samples\Studio for WPF\C1.WPF.PdfViewer\CS\PdfViewerSamples\C1PdfAcroForm.pdf", FileMode.Open);
提示:不允许进行文件操作。拒绝访问路径
请问一下您那边的运行环境是什么?

我这边是WIN7+VS2012
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-17 10:49:00
13#
回复 12楼holly.huang的帖子

我的测试环境是Win8+VS2012和VS2013,都进行了测试。
版本是:2014V3.

这个读写类库是.net framework的,不是c1提供的,使用这个类库读取文件的时候,请检查文件路径或是这个pdf文件本身是否是只读的,或是文件本身有限制。
附上我这里测试的pdf文件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2015-3-17 10:51:00
14#
回复 13楼Alice的帖子

谢谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-17 13:43:00
15#
回复 14楼holly.huang的帖子

不用客气。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-19 09:56:00
16#
回复 12楼holly.huang的帖子

你好。
请问问题解决了么?
我又和产品组对该问题进行了确定。
在Silverlight中,使用FileStream传path的方式来实例化,会引起security exception。
如果是 Out-Of-Browser Silverlight Application是可以通过这样的方式来实例化FileStream的。

因此建议使用我们示例中采用的方法打开pdf文件。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2015-3-20 13:45:00
17#
回复 16楼Alice的帖子

还没解决呢

用你们DEMO的方式,我不清楚假如我的PDF文件跟项目不在同个文件夹下面,如何读取?你能解决一下吗?
如果不明白我的意思,我给你电话可以吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-20 17:10:00
18#
回复 17楼holly.huang的帖子

根据你的需求,你需要读取特定的文件夹下的文件。
在Silverlight程序中,不管是否使用我们的控件,访问本地资源,用OpenFileDialog是最常用、最安全,值得推荐的方法。

这个方法的参考示例:C1.Silverlight.PdfViewer\CS\PdfViewerSamples\PdfViewerSamples

里面的关键代码,使用方法如下:
  1. void LoadPdf(object sender, RoutedEventArgs args)
  2.         {
  3.             var dialog = new OpenFileDialog
  4.             {
  5.                 Filter = "PDF files|*.pdf"
  6.             };

  7.             if (dialog.ShowDialog() == true)
  8.             {
  9.                 using (var fileStream = dialog.File.OpenRead())
  10.                 {
  11.                     try
  12.                     {
  13.                         pdfViewer.LoadDocument(fileStream);
  14.                     }
  15.                     catch (Exception ex)
  16.                     {
  17.                         C1MessageBox.Show("Could not load PDF file:\r\n" + ex.Message);
  18.                     }
  19.                 }
  20.             }
  21.         }
复制代码


如果是理解上有误,你可以拨打我们的售后服务电话:029-88331988-620。也可以私信我你的电话,我打给你。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2015-3-23 09:40:00
19#
回复 18楼Alice的帖子

理解没有问题,
但我不需要用到OpenFileDialog,我是希望能给PdfViewer传递一个参数,此参数可以确定在PDF文件的路径,从而PdfViewer可以读取到PDF文件。。。

这也就是为什么我要用
FileStream fs = new FileStream(@"E:\学习\Silverlight学习\SilverlightApplication1\Bookmarks.pdf", FileMode.Open);
            this.c1PdfViewer1.LoadDocument(fs);
这种方式的原因啦

不知道表达是否有清楚,如不清楚,我给你电话。。。
回复 使用道具 举报
Antihero
中级会员   /  发表于:2015-3-23 09:45:00
20#
回复 19楼holly.huang的帖子

在Silverlight程序中,你不可以通过文件路径访问文件,除非你是Out-Of-Browser Application,这是silverlight的安全机制。
FileStream fs = new FileStream(@"E:\学习\Silverlight学习\SilverlightApplication1\Bookmarks.pdf", FileMode.Open);
这句话应该会报security exception 吧?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部