C#代码编写
.NetCore集成开发步骤:
拷贝ZDFOffice开发包中“集成文件” 目录下的“ZDFOffice6NetCore.dll” 文件到您自己的项目中,并添加引用;
修改Startup.cs文件,添加ZDFOffice服务器端程序的相关配置,代码如下:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env){ ... app.UseMiddleware<ZDFOfficeNetCore.ZDFServer.ServerHandlerMiddleware>(); }
在文档列表页面(包含打开文件超链接的页面)的
<head></head>
中添加zdfoffice.js的引用:<script type="text/javascript" src="/zdfoffice.js"></script>
在页面中添加打开文件的超链接或按钮,如下:
<a href="javascript:ZDFAPP.openWindow('/Home/MobOpen?fn=1.doc');">查看</a> <a href="javascript:ZDFAPP.openWindow('/Home/MobOpen?fn=2.doc');">编辑</a>
ZDFAPP的说明:
- ZDFAPP是zdfoffice.js中定义的一个js对象,此对象的openWindow方法是用来启动手机上ZDFOffice App的。
- openWindow方法的参数:此参数值是某个Controller中的一个函数方法的url地址,例如:/Home/MobOpen, 在此函数方法中创建ZDFOfficeCtrl对象控制手机上ZDFOffice App打开指定文件。 此地址中传递参数的方法与url传参数的方法一样,可以传递多个参数,但是不要用中文, 如果有中文值的参数一定要编码一下,在/Home/MobOpen中解码获取中文参数值。
实现HomeController中的MobOpen方法:
public async void MobOpen(){ string fileName = Request.Query["fn"]; // 获取自己在ZDFAPP.openWindow方法中传递的参数 string filePath = 具体业务逻辑(fn); // 根据业务逻辑和参数生成文件真正的url下载地址 ZDFOfficeNetCore.ZDFOfficeCtrl zdfCtrl = new ZDFOfficeNetCore.ZDFOfficeCtrl(HttpContext); zdfCtrl.SaveFilePage = "/Home/MobSave"; await zdfCtrl.WebOpen(filePath, ZDFOfficeNetCore.OpenModeType.docNormalEdit, "张三"); }
Asp.Net集成开发步骤:
拷贝ZDFOffice开发包中“集成文件” 目录下的“PageOffice6.dll”和“ZDFOffice6.dll” 文件到您自己网站的Bin目录下,并添加引用;
在当前项目的web.config中
标签中配置如下代码(详细代码请参考POMDemo6/web.config): <add name="zdfserver" path="/zdfserver.zz" verb="*" type="ZDFOffice.ZDFServer.ServerHandler" /> <add name="zdfoffice" path="/zdfoffice.js" verb="GET" type="ZDFOffice.ZDFServer.ServerHandler" /> <add name="poserver" path="/poserver.zz" verb="*" type="PageOffice.POServer.ServerHandler" /> <add name="poclient" path="/poclient" verb="GET" type="PageOffice.POServer.ServerHandler" /> <add name="sealsetup" path="/sealsetup.exe" verb="GET" type="PageOffice.POServer.ServerHandler" /> <add name="pageoffice" path="/pageoffice.js" verb="GET" type="PageOffice.POServer.ServerHandler" /> <add name="adminseal" path="/adminseal.zz" verb="*" type="PageOffice.POServer.AdminSealHandler" /> <add name="loginseal" path="/loginseal.zz" verb="*" type="PageOffice.POServer.AdminSealHandler" />
在文档列表aspx页面(包含打开文件超链接的aspx页面)的
<head></head>
中添加zdfoffice.js的引用:<script type="text/javascript" src="zdfoffice.js"></script>
在页面中添加打开文件的超链接或按钮,如下:
<a href="javascript:ZDFAPP.openWindow('opendoc.aspx?fn=1.doc');">查看</a> <a href="javascript:ZDFAPP.openWindow('opendoc.aspx?fn=2.doc');">编辑</a>
ZDFAPP的说明:
- ZDFAPP是zdfoffice.js中定义的一个js对象,此对象的openWindow方法是用来启动手机上ZDFOffice App的。
- openWindow方法的参数:此参数值是一个aspx页面的url地址,例如:opendoc.aspx, 在此aspx页面的.cs文件中创建ZDFOfficeCtrl对象控制手机上ZDFOffice App打开指定文件。 此属性中传递参数的方法与url传参数的方法一样,可以传递多个参数,但是不要用中文, 如果有中文值的参数一定要编码一下,在opendoc.aspx.cs中解码获取中文参数值。
实现“opendoc.aspx.cs”:
protected void Page_Load(object sender, EventArgs e){ string fileName = Request.QueryString["fn"]; // 获取自己在ZDFAPP.openWindow方法中传递的参数 string filePath = 具体业务逻辑(fn); // 根据业务逻辑和参数生成文件真正的url下载地址 ZDFOffice.ZDFOfficeCtrl zdfCtrl = new ZDFOffice.ZDFOfficeCtrl(); zdfCtrl.SaveFilePage = "savedoc.aspx"; zdfCtrl.WebOpen(filePath, ZDFOffice.OpenModeType.docNormalEdit, "张三"); }