PageOffice6国产Linux系统最简集成代码(Asp.Net)
本文描述了 PageOffice 产品在普通的 Asp.Net 项目中如何集成调用。
PageOffice 国产版 :支持信创系统,支持银河麒麟 V10 和统信 UOS,支持 X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)、longarch 芯片架构。
- 新建 Asp.Net 项目:PageOffice6-Net-Simple
- 在您的 web 项目的“依赖项 - 包 - 管理 NuGet 程序包”中搜索到“Zhuozhengsoft.PageOfficeNet" 程序后安装最新版本。
- 拷贝 pageoffice 客户端安装程序到项目的 bin 文件夹下。
- 客户端是 windows 环境:拷贝 posetup_6.x.x.x.exe 到 bin 文件夹下;
- 客户端是国产操作系统环境:拷贝对应芯片的 PageOffice 客户端 deb 安装包到 bin 文件夹下;
PageOffice 客户端安装程序下载地址:https://gitee.com/pageoffice/pageoffice6-client/releases
- 配置 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>
- 在 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.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() {
var saveUrl = "/SaveFile.aspx";
pageofficectrl.SaveFilePage = saveUrl;
pageofficectrl.WebSave();
}
function OnPageOfficeCtrlInit() {
pageofficectrl.AddCustomToolButton("保存", "Save", 1);
}
</script>
</head>
<body>
<div style="width:auto;height:98vh;">
<%=poCtrl.GetHtmlCode()%>
</div>
</body>
</html>
- 新建 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();
}
}
}
- 在需要点击超链接实现在线打开文件的页面(比如:index.html)中添加 pageoffice.js 文件的引用。
<script type="text/javascript" src="/pageoffice.js"></script>
注意
pageoffice.js 文件来自于 Web.Config 配置的 handler。
- 然后在页面中添加一个超链接,点击超链接调用 POBrowser 对象的 openWindow 方法,弹出新浏览器窗口访问 Word.aspx 在线打开文件,代码如下:
<a href="javascript:POBrowser.openWindow('Word.aspx','width=1150px;height=900px;');">
在线打开文档
</a>
- 启动项目,点击“在线打开文档”超链接,查看在线打开编辑保存 Office 文件的效果。