找回密码
 立即注册

QQ登录

只需一步,快速开始

holly.huang

初级会员

34

主题

125

帖子

365

积分

初级会员

积分
365

活字格认证微信认证勋章

holly.huang
初级会员   /  发表于:2015-3-12 17:26  /   查看:20172  /  回复:23
测试环境:VS2010
代码:
  1. FileStream fs = new FileStream(@"E:\学习\Silverlight学习\SilverlightApplication1\Bookmarks.pdf", FileMode.Open);
  2.             this.c1PdfViewer1.LoadDocument(fs);

  3.             c1PdfViewer1.RequestNavigate += (s, e) =>
  4.             {
  5.                 if (HtmlPage.IsEnabled)
  6.                 {
  7.                     try
  8.                     {
  9.                         // HtmlPage.PopupWindow doesn't work for email addresses.
  10.                         // HtmlPage.Window.Navigate seems to work both for webpages and emails.

  11.                         HtmlPage.Window.Navigate(e.Uri, "_blank");
  12.                     }
  13.                     catch { }
  14.                 }
  15.             };
复制代码


结果:文件没有加载出来,请教原因!

23 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-3-13 09:24:00
沙发
回复 1楼holly.huang的帖子

PdfViewer展示pdf文件的方式如代码所示:
  1. var dlg = new Microsoft.Win32.OpenFileDialog();
  2.             dlg.Filter = "PDF files (*.pdf)|*.pdf";
  3.             if (dlg.ShowDialog().Value)
  4.             {
  5.                 c1PdfViewer1.LoadDocument(dlg.FileName);
  6.             }
复制代码


具体可以参考随机安装示例,里面有详细的代码演示:
C:\Users\【username】\Documents\ComponentOne Samples\Studio for WPF\C1.WPF.PdfViewer\CS\PdfViewerSamples
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2015-3-13 09:48:00
板凳
回复 2楼Alice的帖子

我这样写不可以吗?我用是Silverlight平台

FileStream fs = new FileStream(@"E:\学习\Silverlight学习\SilverlightApplication1\Bookmarks.pdf", FileMode.Open);
            this.c1PdfViewer1.LoadDocument(fs);
回复 使用道具 举报
holly.huang
初级会员   /  发表于:2015-3-13 15:17:00
地板
盼美女给我一个可以使用的DEMO
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-13 15:34:00
5#
回复 4楼holly.huang的帖子

我们silverlight平台下的随机安装示例,地址如下:
C:\Users\aliceyue\Documents\ComponentOne Samples\Studio for Silverlight\C1.Silverlight.PdfViewer

PdfViewerSamples演示了如何导入pdf文件。
如果你查看了示例,依然出现你上述所说到的问题,请将出错的Demo发给我,我可以帮你调查下,看看没有加载成功的原因是什么。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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

我的DEMO和官方的DEMO唯一的区别是:

FileStream fs = new FileStream(@"E:\学习\Silverlight学习\SilverlightApplication1\Bookmarks.pdf", FileMode.Open);
            this.c1PdfViewer1.LoadDocument(fs);

官方的是:
var resource = Application.GetResourceStream(new Uri("QuickStart;component/C1XapOptimizer.pdf", UriKind.Relative));
    this.C1PdfViewer1.LoadDocument(resource.Stream);

同样是加载流,为何我这样加载不行呢?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-13 17:20:00
7#
回复 6楼holly.huang的帖子

仅从这句代码来看,没有语法错误。
请问,filestream会创建的这个bookmarks.paf文件,在e盘这个路径下能够找到么?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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

文件肯定存在啊,你可以写一个小示例DEMO,几行代码而已
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-16 18:45:00
9#
回复 8楼holly.huang的帖子

将随机安装示例中的C1PdfViewerPage.xamll.cs文件中的Application.GEtResourceStream用FileStream替换,没有重现你的问题。

替换代码如下:
  1. FileStream fs = new FileStream(@"C:\Users\aliceyue\Documents\ComponentOne Samples\Studio for WPF\C1.WPF.PdfViewer\CS\PdfViewerSamples\C1PdfAcroForm.pdf", FileMode.Open);
  2.        pdfViewer.LoadDocument(fs);
复制代码


可以正常打开文档。
如果你的问题出在FileStream这里,FileStream并不是C1的接口,这是微软的接口,建议你检查文档本身或路径是否有问题,不符合微软的规范。或是文档是否是只读的文档。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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

C:\Users\aliceyue\Documents\ComponentOne Samples\Studio for Silverlight\C1.Silverlight.PdfViewer

是这个DEMO吗?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部