在使用Word时,如果内容过多有时为了快速定位到内容的某一处或某一部分怎会在该处添加书签。Word中的书签可以通过工具栏手动添加或删除,也可以通过后台程序结合JS函数在当前光标处插入书签,或根据书签名称删除某个书签。

通过后台程序在当前光标处添加书签的具体步骤如下:

第一步:拷贝文件到WEB项目的“WEB-INF/lib”目录下。拷贝PageOffice示例中下的“WEB-INF/lib”路径中的pageoffice.cab和pageoffice.jar到新建项目的“WEB-INF/lib”目录下。

第二步:修改WEB项目的配置文件。将如下代码添加到配置文件中:

<!-- PageOffice Begin -->

<servlet>

<servlet-name>poserver</servlet-name><servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/poserver.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/pageoffice.cab</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/popdf.cab</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/sealsetup.exe</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>adminseal</servlet-name>

<servlet-class>com.zhuozhengsoft.pageoffice.poserver.AdminSeal

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/adminseal.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/loginseal.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/sealp_w_picpath.do</url-pattern>

</servlet-mapping>

<mime-mapping>

<extension>mht</extension>

<mime-type>message/rfc822</mime-type>

</mime-mapping>

<context-param>

<param-name>adminseal-password</param-name>

<param-value>123456</param-value>

</context-param>

<!-- PageOffice End -->

第三步:添加引用。在WEB项目的WebRoot目录下添加动态页面Word.jsp。在该页面后台代码中

添加自定义标签库:“<%@ taglib uri="http://java.pageoffice.cn" prefix="po"%>

引入PageOffice类库:“<%@page import=” com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*”%>”。

在HTML的<body>中添加PageOffice引用:

<po:PageOfficeCtrl  id="PageOfficeCtrl1"></po:PageOfficeCtrl>,并设置控件所在层(<div></div>)的高和宽。

再在<body>中添加两个文本框,用于输入书签名称和书签文本内容,部分如下:

插入书签时,请先输入要插入的书签名称和文本;删除书签时,请先输入相应的书签名称!<label>书签名称:</label>

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

<label>书签文本:</label>

inputid="txtBkText"type="text"value="[测试]"/>

第四步:WordAddBKMK.jsp后台编写代码。打开Word文件,部分代码如下:

//*******************卓正PageOffice组件的使用***********************

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);

poCtrl1.setServerPage("poserver.do"); //此行必须

//添加自定义按钮

poCtrl1.addCustomToolButton("插入书签","addBookMark",5);

poCtrl1.addCustomToolButton("删除书签","delBookMark",5);

poCtrl1.webOpen("doc/template.doc", OpenModeType.docNormalEdit, "张三");

poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须

然后在HTML页面添加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中的书签了。

转载于:https://blog.51cto.com/6949400/1195294

js在PageOffice打开的Word文档光标处插入书签相关推荐

  1. js将HTML导出生成word文档

    在项目开发中中,遇到将HTML导出生成word文档,刚开始在网上找了很多资料,基本都是jQuery中的插件jquery.wordexport.js,刚开始是不想用这个的,这个要引用另一个插件FileS ...

  2. 都什么年代了,打开个Word文档还能中毒!Locky病毒疯狂传播

    本文讲的是 都什么年代了,打开个Word文档还能中毒!Locky病毒疯狂传播,如果你收到的邮件假扮成某公司的发票单,包含 Word 附件,在打开它之前应当三思而后行. 如果打开,可能会使你的系统瘫痪, ...

  3. 排查在win10下面打开某些word文档“提示内存或磁盘空间不足”的原因

    排查在win10下面打开某些word文档"提示内存或磁盘空间不足"的原因 编者:李国帅 qq:9611153 微信lgs9611153 时间:2020-03-11 背景原因 在wi ...

  4. html中怎么插入文档,word如何输入引用 word文档中怎么插入参考文献

    Word添加论文引用标注2008-05-0600:08 word2013怎么插入和引用参考文献 怎么在word里做引用标注 光标移到要加入参考文献标注的地方 菜单中"引用"选项卡, ...

  5. Word文档中如何插入分数

    在用Word制作数学资料时,通常需要插入分数,那Word怎么敲出上下结构的分数呢?看看小编是怎么操作的吧 首先,用speedoffice软件打开Word文档,在"插入"选项中找到& ...

  6. 用freemarker生成word文档,并插入图片

    用freemarker生成word文档,并插入图片 最近需要做一个问卷功能,要求用户填写完问卷后,后台会生成一个word文档,将用户提交的数据插入到word中. 创建word模板 新建一个word文档 ...

  7. Word文档表格中插入图片无法完整显示解决办法

    如上图所示,Word文档表格中插入图片却只显示很窄一条边 解决办法:选中图片,菜单栏上点击段落右方小箭头扩展项 选择单倍行距,即可完整显示图片

  8. 在word文档表中插入图片不变形

    在word文档表中插入图片不变形 目录 在word文档表中插入图片不变形 1.点击左上角[全选图标 ]选中表格,鼠标右键点击[表格属性] 2.点击[选项]点击 取消勾选[自动重调尺寸以适应内容],最后 ...

  9. PageOffice实现js执行在线编辑时Word文档中的宏命令

    2019独角兽企业重金招聘Python工程师标准>>> 在对Word文档进行操作时有时会需要执行某些宏命令,但在系统中,若要执行宏命令,如果依然通过创建宏.编写宏.执行宏,来实现某些 ...

最新文章

  1. Effective C++ item01 尽量以const enum inline替换#define
  2. 解决注册并发问题并提高QPS
  3. C 类INI文本,可以添加注释(初步实现,可以添加更加复杂的通用化设计)
  4. Java设计模式-命令模式Command
  5. HTML5结合ajax实现文件上传以及进度显示
  6. 手把手教你如何扩展GridView之个性分页
  7. python显示图片固定大小
  8. 中国气象台API(2017.09)
  9. SWUN 1431 - 伊邪那美(Ⅱ)
  10. java ibm notes_使用Java API从Lotus Notes NSF文件中提取电子邮件
  11. xlsx文件 wps 可以打开 excel 打不开
  12. LeetCode LCP 03. 机器人大冒险(前缀和)
  13. 写在2016的最后一周
  14. 同态加密之Paillier算法
  15. 2022-2028全球与中国防爆照明LED灯市场现状及未来发展趋势
  16. ios开发 服务器通信协议,iOS开发网络篇—HTTP协议
  17. Oracle 、SqlServer 根据日期逐日、逐月递增累加、逐行累加
  18. java 基本数据类型的默认初始值
  19. [框架之谈]极佳的 JS 移动应用程序开发框架
  20. DB2 TSA资源查看

热门文章

  1. linux深度定制,Linux Deepin 12.06 beta1 发布
  2. [python教程入门学习]Python标准库映射类型与可散列数据类型的关系
  3. 想学Python,梦雅给你指一条明路!
  4. c语言小于n的素数和,关于求N以内素数的一点小问题(N小于一亿)
  5. 在 Ubuntu Linux 上从源代码构建 Qt 6.2.2的简短教程
  6. 这三个Python小技巧你要知道
  7. 介绍java -cp java -jar的区别
  8. HTML中checked1001无标题,是否可以一键切换两个CSS`:checked`伪类?
  9. HDU1878(判断一个无向图是否存在欧拉回路)
  10. Kruskal算法模版