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

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

时间:2024-08-30 09:47:15浏览次数:4  
标签:文件 最简 Asp PageOffice PageOffice6 Net aspx 客户端

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

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

  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/18388064

相关文章

  • 【C#】【WinForm】asp.net Files 的值 "***" 的解决办法(乱码)
    asp.net项目,在生成解决方法过程中,出现“Files的值"***"”解决方案生成失败。解决:例:项目名称为:ABC在项目目录下的“ABC\obj\Debug\”的文件夹中找到与项目同名的“.csproj.FileListAbsolute.txt”文件,即“ABC.csproj.FileListAbsolute.txt”,打开后会看到部分文字乱码,删除掉......
  • Serilog文档翻译系列(二) - 设置AspNetCore应用程序
     Serilog日志记录适用于ASP.NETCore。此包将ASP.NETCore的日志消息通过Serilog进行路由,使你可以将有关ASP.NET内部操作的信息写入与应用程序事件相同的Serilog接收器中。安装并配置了Serilog.AspNetCore后,你可以直接通过Serilog或ASP.NET注入的任何ILogger......
  • ASP.NET WebApi + Autofac 实现依赖注入
    方法11.1、项目情况框架:.NETFramework4.5Autofac3.5.0Autofac.WebApi24.3.0 1.2、定义接口与对应实现//接口1publicinterfaceIBaseUserService{List<BaseUser>GetBaseUserList();}//接口2publicinterfaceIBaseCloseLoopService{List<BaseCloseLoop>GetBase......
  • 最简最速!C++版OpenCV安装配置教程Win/Mac!!!
    Clion+OpenCV(C++版)开发环境配置教程Win/Mac        平时在学习和比赛的时候都是使用的Python版本的OpenCV,最近遇到了一个项目使用的上位机性能有限于是决定视觉方面使用C++的OpenCV来节约上位机资源提高运行的速度,在查阅了网上的各种资料后发现这些资料参差不齐......
  • ASP.NET Core 入门教程三 结合 EFCore 和 SQLite
    ASP.NETCore是一个开源的Web框架,它允许开发者轻松地构建现代、高性能的Web应用程序。EntityFrameworkCore(EFCore)是一个轻量级、可扩展的ORM(对象关系映射)框架,它支持多种数据库。SQLite是一个轻量级的嵌入式数据库,适用于小型应用程序。在本篇文章中,我们将学习如何......
  • @aspectJ机制剖析
    @aspectJ机制剖析@aspectj通过修改字节码文件来实现目标方法的增强。org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitializationorg.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator#postProcessAfterInitializationA......
  • 【音视频通话】使用asp.net core 8+vue3 实现高效音视频通话
    引言在三年前,写智能小车的时候,当时小车上有一个摄像头需要采集,实现推拉流的操作,技术选型当时第一版用的是nginx的rtmp的推拉流,服务器的配置环境是centos,2H4G3M的一个配置,nginx的rtmp的延迟是20秒,超慢,后来研究了SRS以及ZLMediaKit这两个开源的推拉流服务器,没记错的话,两个......
  • Asp.Net Core中Typed HttpClient高级用法
    另一个常见的需求是根据不同的服务接口创建不同的HttpClient实例。为了实现这一点,ASP.NETCore提供了TypedHttpClient的支持。下面是使用TypedHttpClient的示例代码:publicinterfaceIExampleService{Task<string>GetData();}publicclassExampleService:IExampl......
  • 界面控件Telerik UI for ASP.NET Core 2024 Q2亮点 - AI与UI的融合
    TelerikUIforASP.NETCore是用于跨平台响应式Web和云开发的最完整的UI工具集,拥有超过60个由KendoUI支持的ASP.NET核心组件。它的响应式和自适应的HTML5网格,提供从过滤、排序数据到分页和分层数据分组等100多项高级功能。本文将介绍界面组件TelerikUIforASP.NETCore在今年......
  • 驾驭ASP.NET MVC:C# Web开发的精粹
    标题:驾驭ASP.NETMVC:C#Web开发的精粹摘要ASP.NETMVC是微软提供的一个用于构建动态网站的服务器端框架,它遵循模型-视图-控制器(MVC)设计模式,以实现代码的高内聚低耦合。本文将深入探讨如何在C#中使用ASP.NETMVC框架进行Web应用程序开发,包括项目结构、路由、控制器、视图和......