首页 > 系统相关 >PageOffice6国产Linux系统最简集成代码(.NetCore)

PageOffice6国产Linux系统最简集成代码(.NetCore)

时间:2024-08-08 16:53:26浏览次数:9  
标签:文件 最简 NetCore 代码 PageOffice PageOffice6 安装程序 客户端

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

PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、longarch芯片架构。

  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(opens new window)

  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.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() {
            var saveUrl = "/Word/SaveFile";
            pageofficectrl.SaveFilePage = saveUrl;
            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的引用。
<script type="text/javascript" src="/pageoffice.js"></script>

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

  1. 然后在页面(比如:Views/Shared/_Layout.cshtml)中添加一个超链接,点击超链接调用POBrowser对象的openWindow方法,弹出新浏览器窗口访问“Word/Index”在线打开文件,代码如下:

    在线打开文档
  2. 启动项目,点击“在线打开文档”超链接,查看在线打开编辑保存Office文件的效果。

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

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

相关文章

  • Docker部署.netCore6
    Docker部署.netCore6第一步:在项目添加Docker支持第二步:选择Windows(如果是linx系统就选择linx)和Dockerfile第三步:生成Docker默认文件 把默认代码修改第四步:修改Dockerfile文件属性(如果不修改则会导致发布的时候Docker文件没有一起发布)第五步:把项目发布到文件夹在发......
  • netcore webapi部署到docker容器,api调用后显示中文乱码
    vs2022webapi部署到docker容器,api调用后显示中文乱码。原因是:源代码文件不是utf-8编码(用vscode打开是乱码,在vscode修改后,再提交,正常)解决方法一:在中文环境下用过微软家Visualstudio的都知道,新建文件的保存编码都默认为当前系统语言,所以你的文件编码永远都是GB2312,非常令人......
  • 自注意力机制最简单的示例
    自注意力机制示例自注意力机制示例1.输入序列假设我们有一个简单的输入序列,包含三个词(向量表示),每个词的维度是4: x1x2x3x4词11010词20101词311112.查询(Q)、键(K)和值(V)矩阵我们定义查询、键和值的权重矩阵如下: QKV权重矩阵......
  • .netCore System.Drawing.Common 发布,在CentOS 运行报错
    centos下要运行 System.Drawing.Common,需要先安装mono的  libgdiplus插件才可以。安装后,还报以下错误的,才是下文的内容。 报错:System.PlatformNotSupportedException:System.Drawing.Commonisnotsupportedonnon-Windowsplatforms.Seehttps://aka.ms/systemdra......
  • 模拟登录以在登录墙后进行数据抓取的最简单方法
    我正在尝试从雅虎财经抓取数据。我需要的数据只能通过我购买的高级订阅来访问。但是,每当我运行脚本来抓取网页时,它都是在我的登录之外完成的。因此我的脚本返回-{"finance":{"result":nullerror:{"code":"unauthorized"description:"用户未登录"}}}我想模拟我的登录通过......
  • LeetCode 热题 HOT 100 (017/100)【宇宙最简单版】
    【链表】No.0148排序链表【中等】......
  • 从零体检一个魔塔社区模型(modelscope)最简单demo
    从社区拿一个模型,比如以下这个链接https://www.modelscope.cn/models/iic/cv_mobilenet-v2_bad-image-detecting它的代码样例如下frommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTasksfrommodelscope.outputsimportOutputKeysimg='......
  • 使用 Alba 对 AspnetCore项目进行测试
    前言在AspnetCore生态系统中,我们测试项目一般使用Microsoft.AspNetCore.TestHost的TestServer到.NET6后提供的Microsoft.AspNetCore.Mvc.Testing的WebApplicationFactory,后者是前者的封装,专门用于测试ASP.NETCore应用程序。它简化了创建和配置测试服务器的过程。而Alba也......
  • LeetCode 热题 HOT 100 (015/100)【宇宙最简单版】
    【栈】No.0155最小栈【中等】......
  • Nginx最简学习网站——Nginx 极简教程
    教程地址https://dunwu.github.io/nginx-tutorial/#/nginx-quickstart以配置静态站点为例worker_processes1;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;sendfileon;......