pageoffice 开发笔记
开发环境: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();
后台:在打开文档的时候设置 pc.AddCustomToolButton("我的自定义按钮", "前台javascript调用函数名称()", 1(按钮样式));
前台:在打开文档的视图中定义好相应的js函数即可实现调用。
需要特别说明的是:在前台调用的过程中需要PageOffice控件的iD时,需要在打开文档时设置控件的ID属性,见右侧代码: pc.ID = "PageOfficeCtrl1";
插件属性见该插件的帮助文档即可。
pageoffice 开发笔记的更多相关文章
- [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】
原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...
- EasyUI 开发笔记(二)
接上篇 :EasyUI 开发笔记(一) (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...
- EasyUI 开发笔记(一)
由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
- Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
- 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新
今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...
- Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)
一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...
- [openwrt 项目开发笔记]: 传送门
“Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...
随机推荐
- 使用WPF教你一步一步实现连连看
使用WPF教你一步一步实现连连看(一) 第一步: 问题,怎样动态的建立一个10*10的grid(布局) for (int i = 0; i < 10; i++){ RowDefinition r ...
- 性能测试工具比较:LoadRunner vs JMeter - 测试结果数据比较
对web请求(HTTP/HTML)进行性能测试,确认请求响应时间.分别使用Loadrunner和JMeter进行测试,比较测试结果. 1.LoadRunner测试web请求响应时间 1.1 编制(录 ...
- escape,encodeURI,encodeURIComponent函数比较
escape,encodeURI,encodeURIComponent函数比较 js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数 ...
- http概览
http概览 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少.它不仅 ...
- ClassLoader的等级加载机制
摘自深入分析java web技术内幕
- Oracle多关键字查询
因项目需要,在某查询页面的查询字段支持多关键字查询,支持空格隔开查询条件,故实现如下: 使用的原理是:ORACLE中的支持正则表达式的函数REGEXP_LIKE, '|' 指明两项之间的一个选择.例子 ...
- php集成环境和自己配置的区别,php集成环境、php绿色集成环境、php独立安装版环境这三者的区别
最近有学生问我,直接使用PHP集成环境和我们自己独立安装的php环境有什么不一样吗? 答:PHP集成环境,和自己安装的php环境实际上没啥区别的,只不过大部分的集成环境进行了一些绿化操作,本质上没啥区 ...
- 设计模式(二)单例模式Singleton(创建型)
几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的.您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销.再如大家最经常用的IM, ...
- Mybatis第二天(其他)
Mybatis第二天 框架课程 课程计划 动态sql If标签 Where标签 Sql片段 Foreach标签 关联查询 一对一关联 一对多关联 Mybatis整合spring 如何整合spring ...
- JavaScript(暂时弃坑...)
简单数据类型:字符串型.布尔型.数值型 变量名可以包含数字.字母.下划线.$,但不能以数字开头,大小写敏感,不能是JavaScript关键字.避开保留字 //JavaScript保留字 break e ...