本文描述了PageOffice產品在普通的Asp.Net項目中如何集成調用。
- 新建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.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>
- 新建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文件的效果。