首页 > 编程语言 >PageOffice6最简集成代码(Asp.Net)

PageOffice6最简集成代码(Asp.Net)

时间:2024-04-18 17:35:33浏览次数:18  
标签:文件 最简 Asp PageOffice PageOffice6 Net aspx 客户端

本文描述了PageOffice产品在普通的Asp.Net项目中如何集成调用。

  1. 新建Asp.Net项目:PageOffice6-Net-Simple
  2. 在您的web项目的“依赖项-包-管理NuGet程序包”中搜索到“Zhuozhengsoft.PageOfficeNet"程序后安装最新版本。
  3. 拷贝pageoffice客户端安装程序到项目的bin文件夹下。
  • 客户端是windows环境:拷贝posetup_6.x.x.x.exe到bin文件夹下;
  • 客户端是国产操作系统环境:拷贝对应芯片的PageOffice客户端deb安装包到bin文件夹下;

PageOffice客户端安装程序下载地址:https://gitee.com/pageoffice/pageoffice6-client/releases

  1. 配置Web.Config文件,添加PageOffice相关的handler
<system.webServer>
  <handlers>
    <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"/>
  </handlers>
</system.webServer>
  1. 在D盘根目录下准备一个有内容的test.docx文件,新建Word.aspx并调用PageOffice在线打开此文件。

Word.aspx.cs代码如下:

namespace PageOffice6_Net_Simple
{
    public partial class Word : System.Web.UI.Page
    {
        public PageOffice.PageOfficeCtrl poCtrl = new PageOffice.PageOfficeCtrl();
        protected void Page_Load(object sender, EventArgs e)
        {
            poCtrl.SaveFilePage = "SaveFile.aspx";// 设置处理文件保存的页面
            poCtrl.WebOpen("D:\\test.docx", PageOffice.OpenModeType.docNormalEdit, "Tom");
        }
    }
}

Word.aspx中的html代码如下:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title></title>
  <script type="text/javascript">
      function Save() {
          pageofficectrl.WebSave();
      }
      function OnPageOfficeCtrlInit() {
          pageofficectrl.AddCustomToolButton("保存", "Save", 1);
      }
  </script>
</head>
<body>
  <div style="width:auto;height:98vh;">
    <%=poCtrl.GetHtmlCode()%> 
  </div>
</body>
</html>
  1. 新建SaveFile.aspx处理客户端保存上传的文件流。SaveFile.aspx.cs文件的代码如下:
namespace PageOffice6_Net_Simple
{
    public partial class SaveFile : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            PageOffice.FileSaver fs = new PageOffice.FileSaver();
            fs.SaveToFile("D:\\" + fs.FileName);
            fs.Close();
        }
    }
}
  1. 在需要点击超链接实现在线打开文件的页面(比如:index.html)中添加pageoffice.js文件的引用。
<script type="text/javascript" src="/pageoffice.js"></script>

注意
pageoffice.js文件来自于Web.Config配置的handler。

  1. 然后在页面中添加一个超链接,点击超链接调用POBrowser对象的openWindow方法,弹出新浏览器窗口访问Word.aspx在线打开文件,代码如下:
<a href="javascript:POBrowser.openWindow('Word.aspx','width=1150px;height=900px;');">
    在线打开文档
</a>
  1. 启动项目,点击“在线打开文档”超链接,查看在线打开编辑保存Office文件的效果。

参考链接:PageOffice最简集成代码(Asp.Net)

标签:文件,最简,Asp,PageOffice,PageOffice6,Net,aspx,客户端
From: https://www.cnblogs.com/qq742655/p/18144027

相关文章

  • OWASP TOP 10
    OWASPTOP102021年版Top10有哪些变化?2021年版Top10产生了三个新类别,原有四个类别的命名和范围也发生了变化,且进行了一些整合。2017年TOP10top01:注入(2017-Injection)top02:失效的身份认证(2017-BrokenAuthentication)top03:敏感信息泄漏(2017-SensitiveDataExposure)......
  • ASP.NET Core 8 EntityFrameworkCore 初体验
    介绍EntityFramework(EF)Core是轻量化、可扩展、开源和跨平台版的常用EntityFramework数据访问技术。EFCore可用作对象关系映射程序(O/RM),这可以实现以下两点:使.NET开发人员能够使用.NET对象处理数据库。无需再像通常那样编写大部分数据访问代码。先决条件V......
  • ASP.NET Core 8 Swagger UI 入门使用
    介绍Swashbuckle有三个主要组成部分:Swashbuckle.AspNetCore.Swagger:将SwaggerDocument对象公开为JSON终结点的Swagger对象模型和中间件。Swashbuckle.AspNetCore.SwaggerGen:从路由、控制器和模型直接生成SwaggerDocument对象的Swagger生成器。它通常与Swagger终......
  • Asp
    Asp.NetCore(EfCore+serilog+hangfire)实践起因在这周开始的时候,由于某个厂的数据库和服务器更换,由我负责的模块有10余个同步程序需要丢到新服务器上去,采用IIS的计划任务,就这样,一上午的时间差不多就消耗完了,中间还有人抢服务器用。我能不能把他们整合呢?首先确认用什么,都2024......
  • SpringBoot项目中对定义的多个Aspect类排序
    代码示例@ConfigurationpublicclassAspectConfig{@Aspect@Component@Order(Ordered.HIGHEST_PRECEDENCE)publicstaticclassLogAspect{@Pointcut("execution(public*com.imooc.spring.web..*.*(..))")publicvoidwe......
  • aspcore+jenkins+iis+window实现自动化部署
    一、准备工作1、Windowsserver2106操作系统2、Git 链接:https://pan.baidu.com/s/1s_3kKe5GWxJx1twggjk6Qg提取码:mayx3、IIS10确保已安装4、.netcoresdk6 https://download.visualstudio.microsoft.com/download/pr/9cac8293-8......
  • windows下的重装是最笨也是最简单的重复解决问题的方法,解决goldendict的qt库链接问题
    goldendict✔goldendict:symbollookuperror:goldendict:undefinedsymbol:_ZN10QAudioSink12stateChangedEN6QAudio5StateE,versionQt_6~yay-Sgoldendict......
  • Asp .Net Core 系列:集成 Refit 和 RestEase 声明式 HTTP 客户端库
    背景.NET中有没有类似Java中Feign这样的框架?经过查找和实验,发现在.NET平台上,虽然没有直接的Feign框架的端口,但是有一些类似的框架和库,它们提供了类似的功能和设计理念。下面是一些在.NET中用于声明式HTTP客户端的框架和库:Refit:Refit是一个用于构建声明式、类型......
  • Asp.Net Core造轮之旅:逐步构建自己的开发框架-目录
    合集-Asp.NetCore造轮之旅:逐步构建自己的开发框架(38) 1.Asp.NetCore造轮之旅:逐步构建自己的开发框架-目录2023-07-242.asp.netcore之Startup2023-07-243.asp.netcore之依赖注入2023-07-254.asp.netcore之中间件2023-07-265.asp.netcore之Host2023-07-276.asp.net......
  • Asp.Net Core WebApi使用Swagger分组展示接口
    先通过Nuget包管理器安装Swashbuckle.AspNetCore包,然后修改Startup.cs的ConfigureServices方法:services.AddSwaggerGen(c=>{//添加swagger文档c.SwaggerDoc("system",newOpenApiInfo(){......