如何使用 Java 获取 Word 文档表单值

主要观点:本文提供关于 Word DOCX 表单的背景知识,讨论如何在 Java 中以编程方式从已完成的 DOCX 表单中提取表单值(表单响应),包括表单在 DOCX 文件结构中的存储方式及对编程提取的影响,还介绍了在 Java 中构建快速 DOCX 表单值检索工作流可使用的不同 API。
关键信息

  • DOCX 格式可在模板表单文档中构建自定义表单字段,开发者模式启用时可用,管理员可共享表单收集信息,提交响应后可保存并提取响应内容。
  • DOCX 文件结构为一系列压缩的 XML 文件,可通过特定路径提取所需内容,表单字段以“内容控件”形式表示,在word/document.xml文件的<w:sdt>元素中,包含各种属性和实际内容。
  • 自动化获取 DOCX 表单内容相对简单,可使用 Apache POI 或免费 Web API,Apache POI 可用XWPFDocument类等操作,Web API 需安装 SDK 并进行配置和授权后调用editDocumentDocxGetFormFields方法获取响应。
    重要细节
  • Apache POI 中XWPFSDT类可检索<w:sdt>元素,isChecked()用于复选框字段,getText()用于文本字段。
  • Web API 安装 SDK 时在pom.xmlbuild.gradle中添加相应仓库和依赖,配置和授权需设置 API 密钥,调用editDocumentDocxGetFormFields方法可获取响应,响应模型包含ContentControlsHandlebarFormFields数组,本文只关注ContentControls值,其用于存储表单字段值,双花括号结构的HandlebarFormFields用于程序文本替换工作流。
阅读 5
0 条评论