首页 > 其他分享 >PageOffice6最简集成代码(.NetCore)

PageOffice6最简集成代码(.NetCore)

时间:2024-04-11 11:37:18浏览次数:10  
标签:文件 最简 NetCore 代码 PageOffice PageOffice6 安装程序 客户端

本文描述了PageOffice产品在.NetCore项目中如何集成调用。

  1. 新建.NetCore项目:PageOffice6-Net-Core-Simple
  2. 在此项目的“依赖项-包-管理NuGet程序包”中搜索到“Zhuozhengsoft.PageOffice"程序后安装最新版本。
  3. 下载PageOffice客户端安装程序。
  • windows客户端安装程序:posetup_6.x.x.x.exe;
  • 国产操作系统客户端安装程序:对应芯片的PageOffice客户端deb安装包;

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

  1. 拷贝PageOffice客户端安装程序到项目的bin目录下(项目的生成目录,比如:bin\Debug\net5.0)

  2. 修改Startup.cs文件,添加PageOffice服务器端程序的相关配置,代码如下:

  public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  {
      ...
      app.UseMiddleware<PageOfficeNetCore.POServer.ServerHandlerMiddleware>();
  }

如果是.Net6项目,就在Program.cs文件中添加代码:app.UseMiddleware<PageOfficeNetCore.POServer.ServerHandlerMiddleware>();

  1. 在D盘根目录下准备一个有内容的test.docx文件。
  2. 新建WordController,并编写代码在线打开test.docx。WordController.cs代码如下:
public class WordController : Controller
{
    public IActionResult Index()
    {
        PageOfficeNetCore.PageOfficeCtrl poCtrl = new PageOfficeNetCore.PageOfficeCtrl(Request);
        poCtrl.SaveFilePage = "/Word/SaveFile"; //设置处理保存客户端上传文件流的Action方法
        poCtrl.WebOpen("D:\\test.docx", PageOfficeNetCore.OpenModeType.docNormalEdit, "tom");
        ViewBag.POCtrl = poCtrl.GetHtmlCode();
        return View();
    }

    //接收客户端上传的文件流,并保存到文件
    public async Task<ActionResult> SaveFile()
    {
        PageOfficeNetCore.FileSaver fs = new PageOfficeNetCore.FileSaver(Request, Response);
        await fs.LoadAsync();
        fs.SaveToFile("D:\\" + fs.FileName);
        return fs.Close();
    }
}
  1. 编写“Word/Index”的view视图文件Index.cshtml,代码如下:
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head lang="en">
    <meta 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;">
        @Html.Raw(ViewBag.POCtrl)
    </div>
</body>
</html>
  1. 在需要实现“点击超链接在线打开文件”的页面(比如:Views/Shared/_Layout.cshtml)中添加对pageoffice.js的引用。

注意
项目中并不存在pageoffice.js文件,此文件来自于Startup.cs中配置的PageOffice服务器端程序,此程序中封装了pageoffice.js。

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

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

标签:文件,最简,NetCore,代码,PageOffice,PageOffice6,安装程序,客户端
From: https://www.cnblogs.com/qq742655/p/18128643

相关文章

  • 最简单的 FLV 封装格式解析程序
    最简单的FLV封装格式解析程序最简单的FLV封装格式解析程序原理源程序结果下载链接参考最简单的FLV封装格式解析程序参考雷霄骅博士的文章:视音频数据处理入门:FLV封装格式解析本文中的程序是一个FLV封装格式解析程序。该程序可以从FLV中分析得到它的基本单元Ta......
  • 最简洁的Docker环境配置
    Docker环境配置Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Mac、Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。总之它加快构建、共享和运行现代......
  • .NetCore在跨域时设置自定义响应头的注意事项
      现在B/S开发基本都是前后端分离的方式了吧,那么这往往会涉及到一个跨域的问题,为了安全,跨域访问往往做了很多的限制,这里对跨域时自定义响应头做个笔记。  当我们在.NetCore的后端给请求添加了一个自定义的响应头的时候,通过api调用,响应头完美的返回:  publicclassHome......
  • PageOffice6 实现 word 全文检索
    在文档服务器中存储有成千上万个文档的情况下,用户想要找到并打开包含特定关键字的文档,无疑是一项艰巨的任务。如何高效地管理和检索大量的Word文档呢?在现有的技术解决方案中,许多方法都依赖于服务器端的ApachePOI技术。这种技术的基本原理是,先将所有文档的文本内容提取出来,然后存......
  • Microsoft.AspNetCore 已被弃用
    <ProjectSdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net8.0</TargetFramework><ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable></PropertyGroup&g......
  • 最简单知识点PyTorch中的nn.Linear(1, 1)
    一、nn.Linear(1,1)nn.Linear(1,1) 是PyTorch中的一个线性层(全连接层)的定义。nn 是PyTorch的神经网络模块(torch.nn)的常用缩写。nn.Linear(1,1) 的含义如下:第一个参数 1:输入特征的数量。这表示该层接受一个长度为1的向量作为输入。第二个参数 1:输出特征的数量......
  • 苹果手机越狱,iPhone绕ID越狱,苹果手机最简单的越狱方法
    CheckRa1n越狱支持设备:iPhone5S-iPhoneX,兼容系统:iOS12.3~iOS14.8,所以一些iPhone5S以前的老设备(可以通过往期教程老设备越狱)以及iPhoneX以后的新设备都是无法通过heckRa1n越狱,更别说绕ID的,其中iPhoneX以后的新设备目前无法破解ID,某宝、某多的破解ID更多的是硬解换主......
  • PA1: 开天辟地的篇章: 最简单的计算机
    frompixiv非改源码,配置命令记录gitcommit--allow-empty-am"beforestartingpa1"gitcheckoutmastergitmergepa0gitcheckout-bpa1/**PA1:在开始愉快的PA之旅之前*在这个[网站](https://box.nju.edu.cn/f/3e56938d9d8140a7bb75/?dl=1)上下载游戏的rom......
  • 基于donetcore/CAP实现分布式事务一致性
    官网:https://cap.dotnetcore.xyz相关介绍CAP是一个EventBus,同时也是一个在微服务或者SOA系统中解决分布式事务问题的一个框架。它有助于创建可扩展,可靠并且易于更改的微服务系统。在微软的 eShop 微服务示例项目中,推荐使用CAP作为生产环境可用的EventBus。什么是Event......
  • springboot实战---5.最简单最高效的后台管理系统开发
    ......