我是apache poi的新手,有人可以在docx文档中创建复选框和可填充字段(纯文本,富文本)吗?我看到了docx的xml表示形式,我认为这是元素描述复选框
<w:fldChar w:fldCharType="begin">
<w:ffData>
<w:name w:val="Check59"/>
<w:enabled/>
<w:calcOnExit w:val="0"/>
<w:checkBox>
<w:sizeAuto/>
<w:default w:val="0"/>
</w:checkBox>
</w:ffData>
</w:fldChar>
</w:r>
<w:bookmarkStart w:id="6" w:name="Check59"/>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
</w:rPr>
<w:instrText xml:space="preserve">FORMCHECKBOX</w:instrText>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
</w:rPr>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
</w:rPr>
<w:fldChar w:fldCharType="end"/>
</w:r>
并且该xml元素描述了输入文本:
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:fldChar w:fldCharType="begin">
<w:ffData>
<w:name w:val="Text1"/>
<w:enabled/>
<w:calcOnExit w:val="0"/>
<w:textInput/>
</w:ffData>
</w:fldChar>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:instrText xml:space="preserve">FORMTEXT</w:instrText>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:fldChar w:fldCharType="separate"/>
</w:r>
<w:r>
<w:rPr>
<w:noProof/>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
<w:r>
<w:rPr>
<w:noProof/>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
<w:r>
<w:rPr>
<w:noProof/>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
<w:r>
<w:rPr>
<w:noProof/>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
<w:r>
<w:rPr>
<w:noProof/>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:fldChar w:fldCharType="end"/>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:tab/>
</w:r>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
</w:rPr>
<w:t xml:space="preserve">,“Seller” whether one or more, and</w:t>
</w:r>
</w:p>
但是从apache poi那里获得还是创建相同的东西?
答案 0 :(得分:0)
据您所知XML
Office Open XML
文档中需要的Word
,您也可以使用apache poi
创建它。 Apache poi
基于ooxml-schemas
,它们是根据Java
的{{1}}模式定义创建的XML
类。这就是为什么这些架构定义中描述的每个Office Open XML
元素都有类。
不幸的是,没有可用的关于ooxml模式公开的任何文档。因此,我们需要下载ooxml-schemas的源代码,然后以XML
的形式进行获取以获得描述类和方法的API文档。
然后我们找到javadoc
类,它们是org.openxmlformats.schemas.wordprocessingml.x2006.main.*
的文字处理部分。
注意Office Open XML
版本ooxml-schemas
与1.4
或更高版本一起使用。对于旧版本apache poi 4.0.0
,需要版本ooxml-schemas
。
要在1.3
中插入表单字段,我们需要Word
,Interface CTFldChar
和Interface STFldCharType
。
示例代码:
Interface CTString