当前位置: 首页 > news >正文

南通网站建设推广优化黑河做网站的

南通网站建设推广优化,黑河做网站的,建设工程司法解释,关键词调词平台使用 Apache POI 创建带编辑限制的 Word 文档 在日常工作中,我们可能需要生成一些带有编辑限制的 Word 文档,例如某些段落只能被查看,而其他段落可以自由编辑。本文介绍如何使用 Apache POI 创建这样的文档,并通过代码实现相应的…

使用 Apache POI 创建带编辑限制的 Word 文档

在日常工作中,我们可能需要生成一些带有编辑限制的 Word 文档,例如某些段落只能被查看,而其他段落可以自由编辑。本文介绍如何使用 Apache POI 创建这样的文档,并通过代码实现相应的编辑权限。

示例代码

以下代码演示了如何使用 Apache POI 设置 Word 文档的部分段落为只读,同时创建可以自由编辑的区域。

import org.apache.poi.wp.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.poifs.crypt.HashAlgorithm;import java.io.FileOutputStream;
import java.util.Random;public class WordEditingRestriction {public static void main(String[] args) throws Exception {XWPFDocument document = new XWPFDocument();// 创建一个不可编辑的段落XWPFParagraph lockedParagraph = document.createParagraph();XWPFRun lockedRun = lockedParagraph.createRun();lockedRun.setText("本段已被程序锁定,解锁密码是000000。");// 创建可编辑区域createEditableRegion(document, "这是可以自由编辑的区域");// 再添加一个不可编辑的段落XWPFParagraph anotherLockedParagraph = document.createParagraph();XWPFRun anotherLockedRun = anotherLockedParagraph.createRun();anotherLockedRun.setText("这也是被锁定的内容。");// 设置文档编辑限制document.enforceReadonlyProtection("000000", HashAlgorithm.sha512);String outputPath = "/Users/wtm/Desktop/output/" + System.currentTimeMillis() + ".docx";try (FileOutputStream out = new FileOutputStream(outputPath)) {document.write(out);}System.out.println("Word document created with editing restrictions.");}/*** 创建可编辑区域。** @param document Word 文档对象* @param text     可编辑区域中的文本内容*/private static void createEditableRegion(XWPFDocument document, String text) {// 随机生成一个唯一的权限 IDString id = String.valueOf(new Random().nextInt());// 选择一个段落,创建运行对象并设置文本XWPFParagraph paragraph = document.createParagraph();XWPFRun run = paragraph.createRun();run.setText(text);// 获取段落和运行的底层 XML 节点Node paragraphNode = paragraph.getCTP().getDomNode();Node runNode = run.getCTR().getDomNode();// 添加权限开始标记CTPermStart permStart = paragraph.getCTP().addNewPermStart();permStart.setId(id); // 设置权限 IDpermStart.setEdGrp(STEdGrp.EVERYONE); // 设置编辑权限为所有人Node permStartNode = permStart.getDomNode();// 添加权限结束标记CTPerm permEnd = paragraph.getCTP().addNewPermEnd();permEnd.setId(id); // 设置权限 IDNode permEndNode = permEnd.getDomNode();// 将权限开始标记插入到段落节点中运行节点之前paragraphNode.insertBefore(permStartNode, runNode);// 将权限结束标记插入到段落节点中运行节点的下一个兄弟节点之前paragraphNode.insertBefore(permEndNode, runNode.getNextSibling());}
}

导出效果

在这里插入图片描述

http://www.yayakq.cn/news/412881/

相关文章:

  • 自学编程的网站wordpress单用户商城
  • 不会网站维护可以做吗网络建设费是什么费用
  • 医疗网站的建设设计要注意什么为什么现在建设银行要下载网站激活
  • 鞍山网站制作公司wordpress写公式
  • 商业网站的建设临海建设局网站
  • 望牛墩东莞网站建设中国建设银行个人网上登录入口
  • wordpress小说站模板上海做网站公司做网站的公司
  • 网站设计与实现作业多个域名指定同一个网站好处
  • 企业网站建设ejiew福州企业建站服务
  • 浙江省建设投资集团有限公司网站网站建设工作进度计划表
  • 嘉兴网站建设能不能把wordpress程序转到帝国
  • 程序员 创业做网站电商网站建设论文参考文献
  • 网站海报是怎么做的wordpress仿魔客吧
  • 新手做亚马逊要逛哪些网站用模板做网站需要懂代码吗
  • 有风格的网站wordpress 判断加密
  • 银川哪家网络公司做网站做得好网站项目建设的必要性
  • 网站各个阶段推广wordpress 移动端适配
  • 校史网站开发技术手机怎么做三个视频网站
  • 做网站开发要具备什么知识网站开发的兼职网站
  • 南京建设工程交易中心网站海口有哪几家是做网站的
  • 都哪些网站可以做gif全网营销型网站建设公司
  • 制作html购物网站源代码重庆招生官网
  • iis添加网站建设中wordpress导航图片
  • 哪个网站可以做奖状wordpress做博客好吗
  • 微商城网站建设行情合肥公司做网站
  • 企业网站推广设计企业定制网站开发维护合同
  • 石家庄市做网站网站怎么做解析
  • 做网站用dw还是vsdream网站怎么做框架
  • wordpress语言系统seo专业培训机构
  • 北京网站建设聚通达网站建设