docx4j 移动段落

docx4j move around paragraphs

假设文档为 docx4j:

Headline1
Headline2
 blebleble
  Headline3 
   subtext

所有标题都是段落,如何将标题 2 及其所有子内容移动到标题 1 的前面?

docx xml 中的段落结构在最简单的情况下是扁平的,而不是 hierarchical/nested,因此由您来确定 "subcontents" 是什么。一切都取决于您的下一个标题 1 吗?那些标题样式,或大纲级别,还是其他什么?

无论如何,内容只是一个 Java 列表,所以一旦您知道要移动的内容的开始和结束索引,剩下的就很容易了。

我说 docx xml 中的段落结构是扁平的 "in the simplest case",因为表格和内容控件等改变了这一点。