开发环境:vs2015,mvc,razor
pageoffice版本:Server-Version=3.2.0.1 OCX-Version=2,0,4,6
开发模式:pageofficeLink方式
选用这么种模式的原因是:插件“谷歌在2015.4.15做了一次比较大的升级,内容是禁止了所有的插件”
1. 双击运行Setup.exe安装服务器组件。
2. 第一次运行包含PageOfficeLink组件的网页时,会弹出注册对话框,请输入注册信息注册。
3. 如果新建网站或集成PageOffice到您现有的网站里:
1) 双击运行Setup.exe安装服务器组件;
2) 拷贝“集成文件”目录下的“pageoffice”文件夹到您自己网站的根目录下;
3)前台:
第一种:<a href=‘@PageOffice.PageOfficeLink.OpenWindow("路径+参数", "width=1200px;height=1000px;")‘ ></a>
第二种:实例化的时候将参数设置为属性,调用的时候,只需要将属性取出后,将当前文档链接设置为该属性即可,具体如下:
<li url="@PageOffice.PageOfficeLink.OpenWindow("路径+参数", "width=1200px;height=1000px;")" onclick="openDoc(this)"></li>
js:document.location.href=$(obj).attr(url);
第三种:可以通过在控制器里拼接好a标签,在前台直接调用
后台:
主要分为打开文档、保存文档
1 public ActionResult Contact() 2 { 3 4 Page page = new Page(); 5 string controlOutput = string.Empty; 6 PageOffice.PageOfficeCtrl pc = new PageOffice.PageOfficeCtrl(); 7 pc.SaveFilePage = "/Home/SaveDoc";//设置保存时访问的路径 8 pc.ServerPage="/pageoffice/server.aspx";//pageoffice服务器页面 9 pc.WebOpen("/test.doc", PageOffice.OpenModeType.docAdmin,"s");//参数一:文档路径;参数二:文档打开模式;参数三:操作当前文档的用户名。一般来说,UserName 应该采用登录到您的Web应用程序的当前用户的名称 10 page.Controls.Add(pc); 11 StringBuilder sb = new StringBuilder(); 12 using (StringWriter sw = new StringWriter(sb)) 13 { 14 using (HtmlTextWriter htw = new HtmlTextWriter(sw)) 15 { 16 Server.Execute(page, htw, false); controlOutput = sb.ToString(); 17 } 18 } 19 ViewBag.EditorHtml = controlOutput;//控件字符串 20 21 22 return View(); 23 }
打开文档
保存文档
1 string filePath = Server.MapPath("/test.doc"); 2 PageOffice.FileSaver fs = new PageOffice.FileSaver(); 3 fs.SaveToFile(filePath); 4 fs.Close();
4)自定义按钮
后台:在打开文档的时候设置 pc.AddCustomToolButton("我的自定义按钮", "前台javascript调用函数名称()", 1(按钮样式));
前台:在打开文档的视图中定义好相应的js函数即可实现调用。
需要特别说明的是:在前台调用的过程中需要PageOffice控件的iD时,需要在打开文档时设置控件的ID属性,见右侧代码: pc.ID = "PageOfficeCtrl1";
插件属性见该插件的帮助文档即可。