Docx4j开发手册-1|Docx4j对象解析

1.1、官方备忘纸条(翻译)

image-20231206102555516

1.2 WordprocessingMLPackage wordMLPackage

创建对象:WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File(“D:/xxx.docx”));

  • MainDocumentPart mainDoc:

    • 代表Word文档的主要内容。
    • 可以通过**wordMLPackage.getMainDocumentPart()**方法获取该对象。
  • DocumentModel documentModel:

    • 文档模型,表示整个文档的数据模型,包含了文档的各种部分和元素。
    • 可以通过**wordMLPackage.getDocumentModel()**方法获取该对象。
  • Parts parts:

    • 文档中的各个部分,如主文档部分、样式部分、编号定义部分等。
    • 可以通过**wordMLPackage.getParts()**方法获取该对象。
    • image-20231206102623507
  • DrawingPropsIdTracker drawingPropsIdTracker:

    • 绘图属性ID跟踪器,用于跟踪文档中绘图元素的属性ID。
    • 可以通过**wordMLPackage.getDrawingPropsIdTracker()**方法获取该对象。
  • DocPropsCorePart docPropsCorePart:

    • 文档核心属性部分,包含文档的核心属性信息,如标题、作者、主题等。
    • 可以通过**wordMLPackage.getDocPropsCorePart()**方法获取该对象。
  • DocPropsExtendedPart docPropsExtendedPart:

    • 文档扩展属性部分,包含文档的扩展属性信息,如自定义属性等。
    • 可以通过**wordMLPackage.getDocPropsExtendedPart()**方法获取该对象。
  • ContentType contentType:

    • 表示文档包的内容类型。

1.3、MainDocumentPart mainDoc

image-20231206102639944image-20231206102643408

主文档部分(Main Document Part)。Word文档的核心部分,包含了文档的内容、样式和结构。通过MainDocumentPart,可以访问和修改文档的段落、表格、图像等元素,并进行文档的创建和编辑操作。

  • List content:

    • 获取文档的内容列表
    • 这个列表包含了文档中所有的段落、表格、图像等元素的顺序集合。
    • 可以通过**mainDocumentPart.getContent()**方法获取该对象。
  • getStyleDefinitionsPart():

    • 获取文档的样式定义部分。
    • 样式定义部分包含了文档中使用的样式定义,如段落样式、字符样式、表格样式等。
    • 可以通过**mainDocumentPart.getStyleDefinitionsPart()**方法获取该对象。
  • getNumberingDefinitionsPart():

    • 获取文档的编号定义部分。
    • 编号定义部分包含了文档中使用的编号样式和列表定义。
    • 可以通过**mainDocumentPart.getNumberingDefinitionsPart()**方法获取该对象。
  • getFootnotesPart():

    • 获取文档的脚注部分。
    • 脚注部分包含了文档中使用的脚注内容。
    • 可以通过**mainDocumentPart.getFootnotesPart()**方法获取该对象。
  • getEndnotesPart():

    • 获取文档的尾注部分。
    • 尾注部分包含了文档中使用的尾注内容。
    • 可以通过**mainDocumentPart.getEndNotesPart()**方法获取该对象。
  • createParagraphOfText(String textContent):

    • 创建一个包含给定文本内容的段落
    • 可以使用这个方法来快速创建段落并设置内容。
  • addObject(Object object):

    • 文档中添加一个对象
    • 可以使用这个方法将段落、表格、图像等元素添加到文档中。

1.4、DocumentModel documentModel

整个文档模型(Document Model)。对文档的高级抽象,提供了更方便的方式来处理文档的结构和内容。DocumentModel封装了底层的XML结构,并提供了更高级的API来操作文档的元素,如段落、表格、标题等。它还提供了一些便捷的方法用于加载、保存和转换文档。

  • List sections

    • 文档的章节信息
    • 可以通过**documentModel.getSections()**方法获取该对象。

1.5、参考资料

https://learn.microsoft.com/zh-cn/dotnet/api/overview/openxml/?view=openxml-2.8.1