Skip to content

Latest commit

 

History

History
117 lines (94 loc) · 2.25 KB

渲染流程.md

File metadata and controls

117 lines (94 loc) · 2.25 KB

docx全流程

架构图

架构

术语

  • word document: 解析word形成的结构化数据
 "word_document": [
    {
    // word内容
    "type": "documentPart",
        "props": {},
        // 解析的是那个xml
        "path": "word/document.xml" 
    },
    {   
        // word扩展属性
        "type": "extendedPropsPart",
        "props": {},
        "path": "docProps/app.xml"
    },
    {
        // word核心属性
        "type": "corePropsPart",
        "props": {},
        "path": "docProps/core.xml"
    },
    {
        // 页眉
        "type": "footnotesPart",
        "props": {},
        "path": {}
    },
    {
        // 页脚
        "type": "endnotesPart",
        "props": {},
        "path": {}
    },
    {
        // 主题
        "type": "themePart",
        "props": {},
        "path": {}
    },
],
  • word render tree: word 渲染树形结构,其实就是word_document里documentPart的数据

  • docx entity:算法根据段落信息抽取出的实体数据

[
    {
        entity: '合同名称',
        value: '《货物买卖合同》',
        id: 3,
    }
]

整体流程

整体流程

word render tree

quanbu

节点的更新有三种情况

渲染的流程

  • 将tree按照分页符标识,分为不同的页子树
  • 前序遍历页子树,(根节点 左子树 右子树)
  • 对应的节点渲染为对应的标签

现阶段项目功能

支持

  • 支持纯文本word渲染
  • 支持一段话抽取多个实体
  • 实体颜色标注内置130个色值
  • 支持分页渲染
  • 支持图片

不支持

  • 不支持 图形 脚注 尾注
  • 不支持抽取的实体重复
我爱北京

[
    {
        value: '北京'
        entity:'地址'
    },
    {
        value: '北京'
        entity:'首都'
    },
]
  • 渲染精细化(有些样式渲染效果不好)