开发环境: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标签,在前台直接调用

后台:

主要分为打开文档、保存文档

    public ActionResult Contact()
{ Page page = new Page();
string controlOutput = string.Empty;
PageOffice.PageOfficeCtrl pc = new PageOffice.PageOfficeCtrl();
pc.SaveFilePage = "/Home/SaveDoc";//设置保存时访问的路径
pc.ServerPage="/pageoffice/server.aspx";//pageoffice服务器页面
pc.WebOpen("/test.doc", PageOffice.OpenModeType.docAdmin,"s");//参数一:文档路径;参数二:文档打开模式;参数三:操作当前文档的用户名。一般来说,UserName 应该采用登录到您的Web应用程序的当前用户的名称
page.Controls.Add(pc);
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
Server.Execute(page, htw, false); controlOutput = sb.ToString();
}
}
ViewBag.EditorHtml = controlOutput;//控件字符串 return View();
}

打开文档

保存文档
   string filePath = Server.MapPath("/test.doc");
PageOffice.FileSaver fs = new PageOffice.FileSaver();
fs.SaveToFile(filePath);
fs.Close();
4)自定义按钮

后台:在打开文档的时候设置    pc.AddCustomToolButton("我的自定义按钮", "前台javascript调用函数名称()", 1(按钮样式));

前台:在打开文档的视图中定义好相应的js函数即可实现调用。

需要特别说明的是:在前台调用的过程中需要PageOffice控件的iD时,需要在打开文档时设置控件的ID属性,见右侧代码: pc.ID = "PageOfficeCtrl1";

插件属性见该插件的帮助文档即可。

pageoffice 开发笔记的更多相关文章

  1. [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】

    原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...

  2. EasyUI 开发笔记(二)

    接上篇 :EasyUI 开发笔记(一)  (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...

  3. EasyUI 开发笔记(一)

    由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...

  4. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  5. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

    引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...

  6. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  7. 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新

    今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...

  8. Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)

    一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...

  9. [openwrt 项目开发笔记]: 传送门

    “Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...

随机推荐

  1. HttpMessageHandler管道[上篇]

    HttpMessageHandler管道[上篇] 整个ASP.NET Web API服务端框架采用管道式设计,这个用于“处理请求.响应回复”的管道本质上就是一组HttpMessageHandler的有 ...

  2. iMac 无线键盘 无法配对

    正好小编手里也有一个 Apple wireless keyboard 键盘,经测试发现确实有他所说的问题.在互联网上找了一圈儿都没找到解决方案,苹果官方也没有给出相关方案.只好自己琢磨,还好终于研究出 ...

  3. Linux进程同步之POSIX信号量

    POSIX信号量是属于POSIX标准系统接口定义的实时扩展部分.在SUS(Single UNIX Specification)单一规范中,定义的XSI IPC中也同样定义了人们通常称为System V ...

  4. Python爬虫学习——使用Cookie登录新浪微博

    1.首先在浏览器中进入WAP版微博的网址,因为手机版微博的内容较为简洁,方便后续使用正则表达式或者beautifulSoup等工具对所需要内容进行过滤 https://login.weibo.cn/l ...

  5. php 写商城网站的总结吧

    ---恢复内容开始--- 在兄弟连培训,这半个月在做一期项目,期间学到了很多东西,可是还有好多没有学会灵活运用.今天在登录界面加入验证码的时候,form提交不过去input里面的验证码,session ...

  6. 搭建PHP建站环境

    PHP是一种网站后端脚本语言,通常在web开发中使用apache+PHP+MYSQL这种黄金搭档来建立支持PHP的站点,PHP运行环境或者说任何技术的运行环境都不是简单的加法,即使是安装有apache ...

  7. CoreCRM 开发实录 —— 单元测试之 Mock UserManager 和 SignInManager

    单元测试的核心就是:只测试眼前的逻辑.这就要求所有的依赖项都要使用仿类来代替,也就是所谓的 Mock Object.在测试 ProfileRepository 和 AccountController ...

  8. Testlink1.9.14介绍及使用

    Testlink简介  今天在为部门培训testlink的使用,顺便把相关片段记录下来. TestLink是一款开源的测试管理工具,主要用于进行测试过程的管理,通过使用TestLink提供的功能,可以 ...

  9. java编程思想笔记(一)——面向对象导论

    1.1 抽象过程 1.所有编程语言都提供抽象编程机制. 2.人们所能够解决的问题的复杂性直接取决于抽象的类型(所抽象的是什么)和质量. 3."命令式"语言(basic,c等)都是对 ...

  10. JAVA 代码开发规范

    一.开发工具规范: 1. 开发工具经项目负责人调试后统一确定. 2. 开发工具一经确定不允许集成任何非统一插件,若有需要,经项目负责人同意后统一为 项目组成员添加. 3. 开发工具的编码格式不允许修改 ...