用PageOffice通過Js編程實現在Word中插入書籤

   在使用Word時,如果內容過多有時爲了快速定位到內容的某一處或某一部分怎會在該處添加書籤。Word中的書籤可以通過工具欄手動添加或刪除,其實也可以自己變成實現在當前光標處插入書籤,或根據書籤名稱刪除某個書籤。

通過後臺程序在當前光標處添加書籤的具體步驟如下:

第一步:請先安裝PageOffice的服務器端的安裝程序,之後在你的網站中根目錄下添加pageoffice文件夾(在PageOffice官方網站的“下載中心”中可下載相應的壓縮包,解壓之後直接將pageoffice文件夾拷貝到根目錄下就可以了)。

第二步:在網站中創建頁面WordAddBKMK.aspx

先在工具箱中拖動一個PageOfficeCtrl控件到頁面上(PageOfficeCtrl控件位於工具箱最下方),並設置控件所在層(<div></div>)的高和寬。

再在該頁面中添加兩個文本框,用於輸入書籤名稱和書籤文本內容,部分如下:

插入書籤時,請先輸入要插入的書籤名稱和文本;刪除書籤時,請先輸入相應的書籤名稱!<asp:LabelID="Label1"runat="server"Text="書籤名稱:"></asp:Label>

<inputid="txtBkName"type="text"value="test"/>

<asp:LabelID="Label2"runat="server"Text="書籤文本:"></asp:Label>

<inputid="txtBkText"type="text"value="[測試]"/>

第三步:WordAddBKMK.aspx.cs後臺編寫代碼。打開Word文件,部分代碼如下:

//設置服務器頁面

PageOfficeCtrl1.ServerPage = "pageoffice/server.aspx";

   PageOfficeCtrl1.AddCustomToolButton("插入書籤", "addBookMark()",7);

PageOfficeCtrl1.AddCustomToolButton("刪除書籤", "delBookMark()",7);

//打開文件

PageOfficeCtrl1.WebOpen("doc/template.doc",PageOffice.OpenModeType.docNormalEdit, "張佚名");

然後在WordAddBKMK.aspx添加JS函數,代碼如下:

var range;

function addBookMark()

   {

var obj = document.getElementById("PageOfficeCtrl1").Document;

var bkName = document.getElementById("txtBkName").value;

var bkText = document.getElementById("txtBkText").value;

       range =obj.Application.Selection.Range;

       range.Text = bkText;

       obj.Bookmarks.Add(bkName,  range);

       obj.Bookmarks(bkName).Select();

}


function delBookMark()

   {

var bkName = document.getElementById("txtBkName").value;

var obj = document.getElementById("PageOfficeCtrl1").Document;

       range =obj.Application.Selection.Range;

if(obj.Bookmarks.Exists(bkName)){

           obj.Bookmarks(bkName).Select();

          obj.Application.Selection.Range.Text = "";

       }

}

如上所述,即可用自己的程序實現添加刪除Word中的書籤了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章