From e2482a2ada52b2b8a41c4402b27e125adbe4385f Mon Sep 17 00:00:00 2001 From: Maxim Lysak <101627549+maxmnemonic@users.noreply.github.com> Date: Mon, 22 Sep 2025 16:41:59 +0200 Subject: [PATCH] feat: Rich tables for MSWord backend (#2291) * Adding support of rich table cells to MSWord backend Signed-off-by: Maksym Lysak * Fixes for properly accounting lists, pictures and headers in rich table cells Signed-off-by: Maksym Lysak * Cleaned up msword backend, re-generated docx tests Signed-off-by: Maksym Lysak * Added detection of simple table cells in word backend Signed-off-by: Maksym Lysak * Cleaned up Signed-off-by: Maksym Lysak --------- Signed-off-by: Maksym Lysak Co-authored-by: Maksym Lysak --- docling/backend/msword_backend.py | 251 ++++++--- .../docling_v2/equations.docx.itxt | 56 +- .../docling_v2/equations.docx.json | 58 +- .../docling_v2/lorem_ipsum.docx.itxt | 18 +- .../docling_v2/lorem_ipsum.docx.json | 20 +- .../docling_v2/table_with_equations.docx.itxt | 2 +- .../docling_v2/table_with_equations.docx.json | 28 +- .../docling_v2/tablecell.docx.itxt | 10 +- .../docling_v2/tablecell.docx.json | 66 ++- .../docling_v2/test_emf_docx.docx.itxt | 8 +- .../docling_v2/test_emf_docx.docx.json | 10 +- .../groundtruth/docling_v2/textbox.docx.itxt | 120 ++-- .../groundtruth/docling_v2/textbox.docx.json | 122 ++-- .../docling_v2/unit_test_formatting.docx.itxt | 28 +- .../docling_v2/unit_test_formatting.docx.json | 30 +- .../docling_v2/unit_test_headers.docx.itxt | 76 +-- .../docling_v2/unit_test_headers.docx.json | 78 +-- .../unit_test_headers_numbered.docx.itxt | 76 +-- .../unit_test_headers_numbered.docx.json | 78 +-- .../docling_v2/unit_test_lists.docx.itxt | 28 +- .../docling_v2/unit_test_lists.docx.json | 30 +- .../docling_v2/word_image_anchors.docx.itxt | 18 +- .../docling_v2/word_image_anchors.docx.json | 20 +- .../docling_v2/word_sample.docx.itxt | 22 +- .../docling_v2/word_sample.docx.json | 96 ++-- .../docling_v2/word_tables.docx.itxt | 22 +- .../docling_v2/word_tables.docx.json | 519 ++++++++++++------ 27 files changed, 1103 insertions(+), 787 deletions(-) diff --git a/docling/backend/msword_backend.py b/docling/backend/msword_backend.py index c29abb77..53653f5e 100644 --- a/docling/backend/msword_backend.py +++ b/docling/backend/msword_backend.py @@ -12,8 +12,11 @@ from docling_core.types.doc import ( ImageRef, ListGroup, NodeItem, + RefItem, + RichTableCell, TableCell, TableData, + TextItem, ) from docling_core.types.doc.document import Formatting from docx import Document @@ -128,7 +131,8 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): doc = DoclingDocument(name=self.file.stem or "file", origin=origin) if self.is_valid(): assert self.docx_obj is not None - doc = self._walk_linear(self.docx_obj.element.body, self.docx_obj, doc) + doc, _ = self._walk_linear(self.docx_obj.element.body, self.docx_obj, doc) + # doc, _ = doc_info return doc else: raise RuntimeError( @@ -172,7 +176,9 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): body: BaseOxmlElement, docx_obj: DocxDocument, doc: DoclingDocument, - ) -> DoclingDocument: + # parent: + ) -> tuple[DoclingDocument, list[RefItem]]: + added_elements = [] for element in body: tag_name = etree.QName(element).localname # Check for Inline Images (blip elements) @@ -230,8 +236,9 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): parent=self.parents[level - 1], name="shape-text", ) + added_elements.append(shape_group.get_ref()) doc.add_text( - label=DocItemLabel.PARAGRAPH, + label=DocItemLabel.TEXT, parent=shape_group, text=text_content, ) @@ -246,23 +253,27 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): _log.debug( f"Found textbox content with {len(textbox_elements)} elements" ) - self._handle_textbox_content(textbox_elements, docx_obj, doc) + tbc = self._handle_textbox_content(textbox_elements, docx_obj, doc) + added_elements.extend(tbc) # Check for Tables if element.tag.endswith("tbl"): try: - self._handle_tables(element, docx_obj, doc) + t = self._handle_tables(element, docx_obj, doc) + added_elements.extend(t) except Exception: _log.debug("could not parse a table, broken docx table") # Check for Image elif drawing_blip: - self._handle_pictures(docx_obj, drawing_blip, doc) + pics = self._handle_pictures(docx_obj, drawing_blip, doc) + added_elements.extend(pics) # Check for Text after the Image if ( tag_name in ["p"] and element.find(".//w:t", namespaces=namespaces) is not None ): - self._handle_text_elements(element, docx_obj, doc) + te1 = self._handle_text_elements(element, docx_obj, doc) + added_elements.extend(te1) # Check for the sdt containers, like table of contents elif tag_name in ["sdt"]: sdt_content = element.find(".//w:sdtContent", namespaces=namespaces) @@ -270,15 +281,17 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): # Iterate paragraphs, runs, or text inside . paragraphs = sdt_content.findall(".//w:p", namespaces=namespaces) for p in paragraphs: - self._handle_text_elements(p, docx_obj, doc) + te = self._handle_text_elements(p, docx_obj, doc) + added_elements.extend(te) # Check for Text elif tag_name in ["p"]: # "tcPr", "sectPr" - self._handle_text_elements(element, docx_obj, doc) + te = self._handle_text_elements(element, docx_obj, doc) + added_elements.extend(te) else: _log.debug(f"Ignoring element in DOCX with tag: {tag_name}") - return doc + return doc, added_elements def _str_to_int( self, s: Optional[str], default: Optional[int] = 0 @@ -674,14 +687,15 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): textbox_elements: list, docx_obj: DocxDocument, doc: DoclingDocument, - ) -> None: + ) -> List[RefItem]: + elem_ref: List[RefItem] = [] """Process textbox content and add it to the document structure.""" level = self._get_level() # Create a textbox group to contain all text from the textbox textbox_group = doc.add_group( label=GroupLabel.SECTION, parent=self.parents[level - 1], name="textbox" ) - + elem_ref.append(textbox_group.get_ref()) # Set this as the current parent to ensure textbox content # is properly nested in document structure original_parent = self.parents[level] @@ -729,11 +743,11 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): # Mark this paragraph as processed processed_paragraphs.add(paragraph_id) - self._handle_text_elements(p, docx_obj, doc) + elem_ref.extend(self._handle_text_elements(p, docx_obj, doc)) # Restore original parent self.parents[level] = original_parent - return + return elem_ref def _handle_equations_in_text(self, element, text): only_texts = [] @@ -803,7 +817,8 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): element: BaseOxmlElement, docx_obj: DocxDocument, doc: DoclingDocument, - ) -> None: + ) -> List[RefItem]: + elem_ref: List[RefItem] = [] paragraph = Paragraph(element, docx_obj) paragraph_elements = self._get_paragraph_elements(paragraph) text, equations = self._handle_equations_in_text( @@ -811,7 +826,7 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): ) if text is None: - return + return elem_ref text = text.strip() # Common styles for bullet and numbered lists. @@ -832,15 +847,16 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): # Check if this is actually a numbered list by examining the numFmt is_numbered = self._is_numbered_list(docx_obj, numid, ilevel) - self._add_list_item( + li = self._add_list_item( doc=doc, numid=numid, ilevel=ilevel, elements=paragraph_elements, is_numbered=is_numbered, ) + elem_ref.extend(li) # MUST BE REF!!! self._update_history(p_style_id, p_level, numid, ilevel) - return + return elem_ref elif ( numid is None and self._prev_numid() is not None @@ -860,9 +876,9 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): if p_style_id in ["Title"]: for key in range(len(self.parents)): self.parents[key] = None - self.parents[0] = doc.add_text( - parent=None, label=DocItemLabel.TITLE, text=text - ) + te = doc.add_text(parent=None, label=DocItemLabel.TITLE, text=text) + self.parents[0] = te + elem_ref.append(te.get_ref()) elif "Heading" in p_style_id: style_element = getattr(paragraph.style, "element", None) if style_element is not None: @@ -871,7 +887,8 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): ) else: is_numbered_style = False - self._add_header(doc, p_level, text, is_numbered_style) + h1 = self._add_header(doc, p_level, text, is_numbered_style) + elem_ref.extend(h1) elif len(equations) > 0: if (paragraph.text is None or len(paragraph.text.strip()) == 0) and len( @@ -879,15 +896,17 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): ) > 0: # Standalone equation level = self._get_level() - doc.add_text( + t1 = doc.add_text( label=DocItemLabel.FORMULA, parent=self.parents[level - 1], text=text.replace("", "").replace("", ""), ) + elem_ref.append(t1.get_ref()) else: # Inline equation level = self._get_level() inline_equation = doc.add_inline_group(parent=self.parents[level - 1]) + elem_ref.append(inline_equation.get_ref()) text_tmp = text for eq in equations: if len(text_tmp) == 0: @@ -899,23 +918,26 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): text_tmp = "" if len(split_text_tmp) == 1 else split_text_tmp[1] if len(pre_eq_text) > 0: - doc.add_text( - label=DocItemLabel.PARAGRAPH, + e1 = doc.add_text( + label=DocItemLabel.TEXT, parent=inline_equation, text=pre_eq_text, ) - doc.add_text( + elem_ref.append(e1.get_ref()) + e2 = doc.add_text( label=DocItemLabel.FORMULA, parent=inline_equation, text=eq.replace("", "").replace("", ""), ) + elem_ref.append(e2.get_ref()) if len(text_tmp) > 0: - doc.add_text( - label=DocItemLabel.PARAGRAPH, + e3 = doc.add_text( + label=DocItemLabel.TEXT, parent=inline_equation, text=text_tmp.strip(), ) + elem_ref.append(e3.get_ref()) elif p_style_id in [ "Paragraph", @@ -934,13 +956,14 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): paragraph_elements=paragraph_elements, ) for text, format, hyperlink in paragraph_elements: - doc.add_text( - label=DocItemLabel.PARAGRAPH, + t2 = doc.add_text( + label=DocItemLabel.TEXT, parent=parent, text=text, formatting=format, hyperlink=hyperlink, ) + elem_ref.append(t2.get_ref()) else: # Text style names can, and will have, not only default values but user values too @@ -952,16 +975,17 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): paragraph_elements=paragraph_elements, ) for text, format, hyperlink in paragraph_elements: - doc.add_text( - label=DocItemLabel.PARAGRAPH, + t3 = doc.add_text( + label=DocItemLabel.TEXT, parent=parent, text=text, formatting=format, hyperlink=hyperlink, ) + elem_ref.append(t3.get_ref()) self._update_history(p_style_id, p_level, numid, ilevel) - return + return elem_ref def _add_header( self, @@ -969,17 +993,21 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): curr_level: Optional[int], text: str, is_numbered_style: bool = False, - ) -> None: + ) -> List[RefItem]: + elem_ref: List[RefItem] = [] level = self._get_level() if isinstance(curr_level, int): if curr_level > level: # add invisible group for i in range(level, curr_level): - self.parents[i] = doc.add_group( + gr1 = doc.add_group( parent=self.parents[i - 1], label=GroupLabel.SECTION, name=f"header-{i}", ) + elem_ref.append(gr1.get_ref()) + self.parents[i] = gr1 + elif curr_level < level: # remove the tail for key in range(len(self.parents)): @@ -1019,12 +1047,14 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): text = f"{self.numbered_headers[previous_level]}.{text}" previous_level -= 1 - self.parents[current_level] = doc.add_heading( + hd = doc.add_heading( parent=self.parents[parent_level], text=text, level=add_level, ) - return + self.parents[current_level] = hd + elem_ref.append(hd.get_ref()) + return elem_ref def _add_formatted_list_item( self, @@ -1033,12 +1063,13 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): marker: str, enumerated: bool, level: int, - ) -> None: + ) -> List[RefItem]: + elem_ref: List[RefItem] = [] # This should not happen by construction if not isinstance(self.parents[level], ListGroup): - return + return elem_ref if not elements: - return + return elem_ref if len(elements) == 1: text, format, hyperlink = elements[0] @@ -1068,6 +1099,7 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): formatting=format, hyperlink=hyperlink, ) + return elem_ref def _add_list_item( self, @@ -1077,10 +1109,11 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): ilevel: int, elements: list, is_numbered: bool = False, - ) -> None: - # TODO: this method is always called with is_numbered. Numbered lists should be properly addressed. + ) -> List[RefItem]: + elem_ref: List[RefItem] = [] + # this method is always called with is_numbered. Numbered lists should be properly addressed. if not elements: - return None + return elem_ref enum_marker = "" level = self._get_level() @@ -1091,9 +1124,9 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): # Reset counters for the new numbering sequence self._reset_list_counters_for_new_sequence(numid) - self.parents[level] = doc.add_list_group( - name="list", parent=self.parents[level - 1] - ) + list_gr = doc.add_list_group(name="list", parent=self.parents[level - 1]) + self.parents[level] = list_gr + elem_ref.append(list_gr.get_ref()) # Set marker and enumerated arguments if this is an enumeration element. if is_numbered: @@ -1114,9 +1147,9 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): self.level_at_new_list + prev_indent + 1, self.level_at_new_list + ilevel + 1, ): - self.parents[i] = doc.add_list_group( - name="list", parent=self.parents[i - 1] - ) + list_gr1 = doc.add_list_group(name="list", parent=self.parents[i - 1]) + self.parents[i] = list_gr1 + elem_ref.append(list_gr1.get_ref()) # TODO: Set marker and enumerated arguments if this is an enumeration element. if is_numbered: @@ -1156,7 +1189,7 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): ) elif self._prev_numid() == numid or prev_indent == ilevel: - # TODO: Set marker and enumerated arguments if this is an enumeration element. + # Set marker and enumerated arguments if this is an enumeration element. if is_numbered: counter = self._get_list_counter(numid, ilevel) enum_marker = str(counter) + "." @@ -1165,15 +1198,15 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): self._add_formatted_list_item( doc, elements, enum_marker, is_numbered, level - 1 ) - - return + return elem_ref def _handle_tables( self, element: BaseOxmlElement, docx_obj: DocxDocument, doc: DoclingDocument, - ) -> None: + ) -> List[RefItem]: + elem_ref: List[RefItem] = [] table: Table = Table(element, docx_obj) num_rows = len(table.rows) num_cols = len(table.columns) @@ -1184,9 +1217,13 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): # In case we have a table of only 1 cell, we consider it furniture # And proceed processing the content of the cell as though it's in the document body self._walk_linear(cell_element._element, docx_obj, doc) - return + return elem_ref data = TableData(num_rows=num_rows, num_cols=num_cols) + level = self._get_level() + docling_table = doc.add_table(data=data, parent=self.parents[level - 1]) + elem_ref.append(docling_table.get_ref()) + cell_set: set[CT_Tc] = set() for row_idx, row in enumerate(table.rows): _log.debug(f"Row index {row_idx} with {len(row.cells)} populated cells") @@ -1223,27 +1260,87 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): else: text = text.replace("", "$").replace("", "$") - table_cell = TableCell( - text=text, - row_span=spanned_idx - row_idx, - col_span=cell.grid_span, - start_row_offset_idx=row.grid_cols_before + row_idx, - end_row_offset_idx=row.grid_cols_before + spanned_idx, - start_col_offset_idx=col_idx, - end_col_offset_idx=col_idx + cell.grid_span, - column_header=row.grid_cols_before + row_idx == 0, - row_header=False, - ) - data.table_cells.append(table_cell) - col_idx += cell.grid_span + provs_in_cell: List[RefItem] = [] + _, provs_in_cell = self._walk_linear(cell._element, docx_obj, doc) + ref_for_rich_cell = provs_in_cell[0] + rich_table_cell = False - level = self._get_level() - doc.add_table(data=data, parent=self.parents[level - 1]) - return + def group_cell_elements( + group_name: str, doc: DoclingDocument, provs_in_cell: List[RefItem] + ) -> RefItem: + group_element = doc.add_group( + label=GroupLabel.UNSPECIFIED, + name=group_name, + parent=docling_table, + ) + for prov in provs_in_cell: + group_element.children.append(prov) + pr_item = prov.resolve(doc) + item_parent = pr_item.parent.resolve(doc) + if pr_item.get_ref() in item_parent.children: + item_parent.children.remove(pr_item.get_ref()) + pr_item.parent = group_element.get_ref() + ref_for_rich_cell = group_element.get_ref() + return ref_for_rich_cell + + if len(provs_in_cell) > 1: + # Cell has multiple elements, we need to group them + rich_table_cell = True + group_name = f"rich_cell_group_{len(doc.tables)}_{col_idx}_{row.grid_cols_before + row_idx}" + ref_for_rich_cell = group_cell_elements( + group_name, doc, provs_in_cell + ) + + elif len(provs_in_cell) == 1: + item_ref = provs_in_cell[0] + pr_item = item_ref.resolve(doc) + if isinstance(pr_item, TextItem): + # Cell has only one element and it's just a text + rich_table_cell = False + doc.delete_items(node_items=[pr_item]) + else: + rich_table_cell = True + group_name = f"rich_cell_group_{len(doc.tables)}_{col_idx}_{row.grid_cols_before + row_idx}" + ref_for_rich_cell = group_cell_elements( + group_name, doc, provs_in_cell + ) + else: + rich_table_cell = False + + if rich_table_cell: + rich_cell = RichTableCell( + text=text, + row_span=spanned_idx - row_idx, + col_span=cell.grid_span, + start_row_offset_idx=row.grid_cols_before + row_idx, + end_row_offset_idx=row.grid_cols_before + spanned_idx, + start_col_offset_idx=col_idx, + end_col_offset_idx=col_idx + cell.grid_span, + column_header=row.grid_cols_before + row_idx == 0, + row_header=False, + ref=ref_for_rich_cell, # points to an artificial group around children + ) + doc.add_table_cell(table_item=docling_table, cell=rich_cell) + col_idx += cell.grid_span + else: + simple_cell = TableCell( + text=text, + row_span=spanned_idx - row_idx, + col_span=cell.grid_span, + start_row_offset_idx=row.grid_cols_before + row_idx, + end_row_offset_idx=row.grid_cols_before + spanned_idx, + start_col_offset_idx=col_idx, + end_col_offset_idx=col_idx + cell.grid_span, + column_header=row.grid_cols_before + row_idx == 0, + row_header=False, + ) + doc.add_table_cell(table_item=docling_table, cell=simple_cell) + col_idx += cell.grid_span + return elem_ref def _handle_pictures( self, docx_obj: DocxDocument, drawing_blip: Any, doc: DoclingDocument - ) -> None: + ) -> List[RefItem]: def get_docx_image(drawing_blip: Any) -> Optional[bytes]: image_data: Optional[bytes] = None rId = drawing_blip[0].get( @@ -1255,28 +1352,32 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend): image_data = image_part.blob # Get the binary image data return image_data + elem_ref: List[RefItem] = [] level = self._get_level() # Open the BytesIO object with PIL to create an Image image_data: Optional[bytes] = get_docx_image(drawing_blip) if image_data is None: _log.warning("Warning: image cannot be found") - doc.add_picture( + p1 = doc.add_picture( parent=self.parents[level - 1], caption=None, ) + elem_ref.append(p1.get_ref()) else: try: image_bytes = BytesIO(image_data) pil_image = Image.open(image_bytes) - doc.add_picture( + p2 = doc.add_picture( parent=self.parents[level - 1], image=ImageRef.from_pil(image=pil_image, dpi=72), caption=None, ) + elem_ref.append(p2.get_ref()) except (UnidentifiedImageError, OSError): _log.warning("Warning: image cannot be loaded by Pillow") - doc.add_picture( + p3 = doc.add_picture( parent=self.parents[level - 1], caption=None, ) - return + elem_ref.append(p3.get_ref()) + return elem_ref diff --git a/tests/data/groundtruth/docling_v2/equations.docx.itxt b/tests/data/groundtruth/docling_v2/equations.docx.itxt index c1c68fb6..6d3b2e30 100644 --- a/tests/data/groundtruth/docling_v2/equations.docx.itxt +++ b/tests/data/groundtruth/docling_v2/equations.docx.itxt @@ -1,40 +1,40 @@ item-0 at level 0: unspecified: group _root_ item-1 at level 1: inline: group group - item-2 at level 2: paragraph: This is a word document and this is an inline equation: + item-2 at level 2: text: This is a word document and this is an inline equation: item-3 at level 2: formula: A= \pi r^{2} - item-4 at level 2: paragraph: . If instead, I want an equation by line, I can do this: - item-5 at level 1: paragraph: + item-4 at level 2: text: . If instead, I want an equation by line, I can do this: + item-5 at level 1: text: item-6 at level 1: formula: a^{2}+b^{2}=c^{2} \text{ \texttimes } 23 - item-7 at level 1: paragraph: And that is an equation by itself. Cheers! - item-8 at level 1: paragraph: - item-9 at level 1: paragraph: This is another equation: + item-7 at level 1: text: And that is an equation by itself. Cheers! + item-8 at level 1: text: + item-9 at level 1: text: This is another equation: item-10 at level 1: formula: f\left(x\right)=a_{0}+\sum_{n=1} ... })+b_{n}\sin(\frac{n \pi x}{L})\right) - item-11 at level 1: paragraph: - item-12 at level 1: paragraph: This is text. This is text. This ... s is text. This is text. This is text. - item-13 at level 1: paragraph: - item-14 at level 1: paragraph: + item-11 at level 1: text: + item-12 at level 1: text: This is text. This is text. This ... s is text. This is text. This is text. + item-13 at level 1: text: + item-14 at level 1: text: item-15 at level 1: inline: group group - item-16 at level 2: paragraph: This is a word document and this is an inline equation: + item-16 at level 2: text: This is a word document and this is an inline equation: item-17 at level 2: formula: A= \pi r^{2} - item-18 at level 2: paragraph: . If instead, I want an equation by line, I can do this: - item-19 at level 1: paragraph: + item-18 at level 2: text: . If instead, I want an equation by line, I can do this: + item-19 at level 1: text: item-20 at level 1: formula: \left(x+a\right)^{n}=\sum_{k=0}^ ... ac{}{}{0pt}{}{n}{k}\right)x^{k}a^{n-k} - item-21 at level 1: paragraph: - item-22 at level 1: paragraph: And that is an equation by itself. Cheers! - item-23 at level 1: paragraph: - item-24 at level 1: paragraph: This is another equation: - item-25 at level 1: paragraph: + item-21 at level 1: text: + item-22 at level 1: text: And that is an equation by itself. Cheers! + item-23 at level 1: text: + item-24 at level 1: text: This is another equation: + item-25 at level 1: text: item-26 at level 1: formula: \left(1+x\right)^{n}=1+\frac{nx} ... ght)x^{2}}{2!}+ \text{ \textellipsis } - item-27 at level 1: paragraph: - item-28 at level 1: paragraph: This is text. This is text. This ... s is text. This is text. This is text. - item-29 at level 1: paragraph: - item-30 at level 1: paragraph: + item-27 at level 1: text: + item-28 at level 1: text: This is text. This is text. This ... s is text. This is text. This is text. + item-29 at level 1: text: + item-30 at level 1: text: item-31 at level 1: inline: group group - item-32 at level 2: paragraph: This is a word document and this is an inline equation: + item-32 at level 2: text: This is a word document and this is an inline equation: item-33 at level 2: formula: A= \pi r^{2} - item-34 at level 2: paragraph: . If instead, I want an equation by line, I can do this: - item-35 at level 1: paragraph: + item-34 at level 2: text: . If instead, I want an equation by line, I can do this: + item-35 at level 1: text: item-36 at level 1: formula: e^{x}=1+\frac{x}{1!}+\frac{x^{2} ... xtellipsis } , - \infty < x < \infty - item-37 at level 1: paragraph: - item-38 at level 1: paragraph: And that is an equation by itself. Cheers! - item-39 at level 1: paragraph: \ No newline at end of file + item-37 at level 1: text: + item-38 at level 1: text: And that is an equation by itself. Cheers! + item-39 at level 1: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/equations.docx.json b/tests/data/groundtruth/docling_v2/equations.docx.json index 084ccc7d..8b045f83 100644 --- a/tests/data/groundtruth/docling_v2/equations.docx.json +++ b/tests/data/groundtruth/docling_v2/equations.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "equations", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -182,7 +182,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is a word document and this is an inline equation: ", "text": "This is a word document and this is an inline equation: " @@ -206,7 +206,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": ". If instead, I want an equation by line, I can do this:", "text": ". If instead, I want an equation by line, I can do this:" @@ -218,7 +218,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -242,7 +242,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "And that is an equation by itself. Cheers!", "text": "And that is an equation by itself. Cheers!", @@ -261,7 +261,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -273,7 +273,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is another equation:", "text": "This is another equation:", @@ -304,7 +304,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -316,7 +316,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text.", "text": "This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text.", @@ -335,7 +335,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -347,7 +347,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -359,7 +359,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is a word document and this is an inline equation: ", "text": "This is a word document and this is an inline equation: " @@ -383,7 +383,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": ". If instead, I want an equation by line, I can do this:", "text": ". If instead, I want an equation by line, I can do this:" @@ -395,7 +395,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -419,7 +419,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -431,7 +431,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "And that is an equation by itself. Cheers!", "text": "And that is an equation by itself. Cheers!", @@ -450,7 +450,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -462,7 +462,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is another equation:", "text": "This is another equation:", @@ -481,7 +481,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -505,7 +505,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -517,7 +517,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text.", "text": "This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text. This is text.", @@ -536,7 +536,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -548,7 +548,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -560,7 +560,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is a word document and this is an inline equation: ", "text": "This is a word document and this is an inline equation: " @@ -584,7 +584,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": ". If instead, I want an equation by line, I can do this:", "text": ". If instead, I want an equation by line, I can do this:" @@ -596,7 +596,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -620,7 +620,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -632,7 +632,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "And that is an equation by itself. Cheers!", "text": "And that is an equation by itself. Cheers!", @@ -651,7 +651,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" diff --git a/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.itxt b/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.itxt index 2513a58d..27343a3b 100644 --- a/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.itxt +++ b/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.itxt @@ -1,10 +1,10 @@ item-0 at level 0: unspecified: group _root_ - item-1 at level 1: paragraph: Lorem ipsum dolor sit amet, cons ... quam non, sodales sem. Nulla facilisi. - item-2 at level 1: paragraph: - item-3 at level 1: paragraph: Duis condimentum dui eget ullamc ... cus tempor, et tristique ante aliquet. - item-4 at level 1: paragraph: - item-5 at level 1: paragraph: Maecenas id neque pharetra, elei ... ulla faucibus eu. Donec ut nisl metus. - item-6 at level 1: paragraph: - item-7 at level 1: paragraph: Duis ac tellus sed turpis feugia ... pellentesque rhoncus, blandit eu nisl. - item-8 at level 1: paragraph: - item-9 at level 1: paragraph: Nunc vehicula mattis erat ac con ... udin, vehicula turpis eu, tempus nibh. \ No newline at end of file + item-1 at level 1: text: Lorem ipsum dolor sit amet, cons ... quam non, sodales sem. Nulla facilisi. + item-2 at level 1: text: + item-3 at level 1: text: Duis condimentum dui eget ullamc ... cus tempor, et tristique ante aliquet. + item-4 at level 1: text: + item-5 at level 1: text: Maecenas id neque pharetra, elei ... ulla faucibus eu. Donec ut nisl metus. + item-6 at level 1: text: + item-7 at level 1: text: Duis ac tellus sed turpis feugia ... pellentesque rhoncus, blandit eu nisl. + item-8 at level 1: text: + item-9 at level 1: text: Nunc vehicula mattis erat ac con ... udin, vehicula turpis eu, tempus nibh. \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.json b/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.json index 67e2ca3b..9c50b915 100644 --- a/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.json +++ b/tests/data/groundtruth/docling_v2/lorem_ipsum.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "lorem_ipsum", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -58,7 +58,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin elit mi, fermentum vitae dolor facilisis, porttitor mollis quam. Cras quam massa, venenatis faucibus libero vel, euismod sollicitudin ipsum. Aliquam semper sapien leo, ac ultrices nibh mollis congue. Cras luctus ultrices est, ut scelerisque eros euismod ut. Curabitur ac tincidunt felis, non scelerisque lectus. Praesent sollicitudin vulputate est id consequat. Vestibulum pharetra ligula sit amet varius porttitor. Sed eros diam, gravida non varius at, scelerisque in libero. Ut auctor finibus mauris sit amet ornare. Sed facilisis leo at urna rhoncus, in facilisis arcu eleifend. Sed tincidunt lacinia fermentum. Cras non purus fringilla, semper quam non, sodales sem. Nulla facilisi.", "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin elit mi, fermentum vitae dolor facilisis, porttitor mollis quam. Cras quam massa, venenatis faucibus libero vel, euismod sollicitudin ipsum. Aliquam semper sapien leo, ac ultrices nibh mollis congue. Cras luctus ultrices est, ut scelerisque eros euismod ut. Curabitur ac tincidunt felis, non scelerisque lectus. Praesent sollicitudin vulputate est id consequat. Vestibulum pharetra ligula sit amet varius porttitor. Sed eros diam, gravida non varius at, scelerisque in libero. Ut auctor finibus mauris sit amet ornare. Sed facilisis leo at urna rhoncus, in facilisis arcu eleifend. Sed tincidunt lacinia fermentum. Cras non purus fringilla, semper quam non, sodales sem. Nulla facilisi.", @@ -77,7 +77,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -89,7 +89,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Duis condimentum dui eget ullamcorper maximus. Nulla tortor lectus, hendrerit at diam fermentum, euismod ornare orci. Integer ac mauris sed augue ultricies pellentesque. Etiam condimentum turpis a risus dictum, sed tempor arcu vestibulum. Quisque at venenatis tellus. Morbi id lobortis elit. In gravida metus at ornare suscipit. Donec euismod nibh sit amet commodo porttitor. Integer commodo sit amet nisi vel accumsan. Donec lacinia posuere porta. Pellentesque vulputate porta risus, vel consectetur nisl gravida sit amet. Nam scelerisque enim sodales lacus tempor, et tristique ante aliquet.", "text": "Duis condimentum dui eget ullamcorper maximus. Nulla tortor lectus, hendrerit at diam fermentum, euismod ornare orci. Integer ac mauris sed augue ultricies pellentesque. Etiam condimentum turpis a risus dictum, sed tempor arcu vestibulum. Quisque at venenatis tellus. Morbi id lobortis elit. In gravida metus at ornare suscipit. Donec euismod nibh sit amet commodo porttitor. Integer commodo sit amet nisi vel accumsan. Donec lacinia posuere porta. Pellentesque vulputate porta risus, vel consectetur nisl gravida sit amet. Nam scelerisque enim sodales lacus tempor, et tristique ante aliquet.", @@ -108,7 +108,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -120,7 +120,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Maecenas id neque pharetra, eleifend lectus a, vehicula sapien. Aliquam erat volutpat. Ut arcu erat, blandit id elementum at, aliquet pretium mauris. Nulla at semper orci. Nunc sed maximus metus. Duis eget tristique arcu. Phasellus fringilla augue est, ut bibendum est bibendum vitae. Nam et urna interdum, egestas velit a, consectetur metus. Pellentesque facilisis vehicula orci, eu posuere justo imperdiet non. Vestibulum tincidunt orci ac lorem consequat semper. Fusce semper sollicitudin orci, id lacinia nulla faucibus eu. Donec ut nisl metus.", "text": "Maecenas id neque pharetra, eleifend lectus a, vehicula sapien. Aliquam erat volutpat. Ut arcu erat, blandit id elementum at, aliquet pretium mauris. Nulla at semper orci. Nunc sed maximus metus. Duis eget tristique arcu. Phasellus fringilla augue est, ut bibendum est bibendum vitae. Nam et urna interdum, egestas velit a, consectetur metus. Pellentesque facilisis vehicula orci, eu posuere justo imperdiet non. Vestibulum tincidunt orci ac lorem consequat semper. Fusce semper sollicitudin orci, id lacinia nulla faucibus eu. Donec ut nisl metus.", @@ -139,7 +139,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -151,7 +151,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Duis ac tellus sed turpis feugiat aliquam sed vel justo. Fusce sit amet volutpat massa. Duis tristique finibus metus quis tincidunt. Etiam dapibus fringilla diam at pharetra. Vivamus dolor est, hendrerit ac ligula nec, pharetra lacinia sapien. Phasellus at malesuada orci. Maecenas est justo, mollis non ultrices ut, sagittis commodo odio. Integer viverra mauris pellentesque bibendum vestibulum. Sed eu felis mattis, efficitur justo non, finibus lorem. Phasellus viverra diam et sapien imperdiet interdum. Cras a convallis libero. Integer maximus dui vel lorem hendrerit, sit amet convallis ligula lobortis. Duis eu lacus elementum, scelerisque nunc eget, dignissim libero. Suspendisse mi quam, vehicula sit amet pellentesque rhoncus, blandit eu nisl.", "text": "Duis ac tellus sed turpis feugiat aliquam sed vel justo. Fusce sit amet volutpat massa. Duis tristique finibus metus quis tincidunt. Etiam dapibus fringilla diam at pharetra. Vivamus dolor est, hendrerit ac ligula nec, pharetra lacinia sapien. Phasellus at malesuada orci. Maecenas est justo, mollis non ultrices ut, sagittis commodo odio. Integer viverra mauris pellentesque bibendum vestibulum. Sed eu felis mattis, efficitur justo non, finibus lorem. Phasellus viverra diam et sapien imperdiet interdum. Cras a convallis libero. Integer maximus dui vel lorem hendrerit, sit amet convallis ligula lobortis. Duis eu lacus elementum, scelerisque nunc eget, dignissim libero. Suspendisse mi quam, vehicula sit amet pellentesque rhoncus, blandit eu nisl.", @@ -170,7 +170,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -182,7 +182,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Nunc vehicula mattis erat ac consectetur. Etiam pharetra mauris ut tempor pellentesque. Sed vel libero vitae ante tempus sagittis vel sit amet dolor. Etiam faucibus viverra sodales. Pellentesque ullamcorper magna libero, non malesuada dui bibendum quis. Donec sed dolor non sem luctus volutpat. Morbi vel diam ut urna euismod gravida a id lectus. Vestibulum vel mauris eu tellus hendrerit dapibus. Etiam scelerisque lacus vel ante ultricies vulputate. In ullamcorper malesuada justo, vel scelerisque nisl lacinia at. Donec sodales interdum ipsum, ac bibendum ipsum pharetra interdum. Vivamus condimentum ac ante vel aliquam. Ut consectetur eu nibh nec gravida. Vestibulum accumsan, purus at mollis rutrum, sapien tortor accumsan purus, vitae fermentum urna mauris ut lacus. Fusce vitae leo sollicitudin, vehicula turpis eu, tempus nibh.", "text": "Nunc vehicula mattis erat ac consectetur. Etiam pharetra mauris ut tempor pellentesque. Sed vel libero vitae ante tempus sagittis vel sit amet dolor. Etiam faucibus viverra sodales. Pellentesque ullamcorper magna libero, non malesuada dui bibendum quis. Donec sed dolor non sem luctus volutpat. Morbi vel diam ut urna euismod gravida a id lectus. Vestibulum vel mauris eu tellus hendrerit dapibus. Etiam scelerisque lacus vel ante ultricies vulputate. In ullamcorper malesuada justo, vel scelerisque nisl lacinia at. Donec sodales interdum ipsum, ac bibendum ipsum pharetra interdum. Vivamus condimentum ac ante vel aliquam. Ut consectetur eu nibh nec gravida. Vestibulum accumsan, purus at mollis rutrum, sapien tortor accumsan purus, vitae fermentum urna mauris ut lacus. Fusce vitae leo sollicitudin, vehicula turpis eu, tempus nibh.", diff --git a/tests/data/groundtruth/docling_v2/table_with_equations.docx.itxt b/tests/data/groundtruth/docling_v2/table_with_equations.docx.itxt index 8b54db7c..54743e2f 100644 --- a/tests/data/groundtruth/docling_v2/table_with_equations.docx.itxt +++ b/tests/data/groundtruth/docling_v2/table_with_equations.docx.itxt @@ -1,3 +1,3 @@ item-0 at level 0: unspecified: group _root_ item-1 at level 1: table with [2x2] - item-2 at level 1: paragraph: \ No newline at end of file + item-2 at level 1: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/table_with_equations.docx.json b/tests/data/groundtruth/docling_v2/table_with_equations.docx.json index a5b15a92..5799e5f8 100644 --- a/tests/data/groundtruth/docling_v2/table_with_equations.docx.json +++ b/tests/data/groundtruth/docling_v2/table_with_equations.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "table_with_equations", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -37,7 +37,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -69,7 +69,8 @@ "text": "The next cell has an equation", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -81,7 +82,8 @@ "text": "$A= \\pi r^{2}$", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -93,7 +95,8 @@ "text": "The next cell has another equation", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -105,7 +108,8 @@ "text": "$x=\\frac{-b \\pm \\sqrt{b^{2}-4ac}}{2a}$", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 2, @@ -122,7 +126,8 @@ "text": "The next cell has an equation", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -134,7 +139,8 @@ "text": "$A= \\pi r^{2}$", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -148,7 +154,8 @@ "text": "The next cell has another equation", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -160,7 +167,8 @@ "text": "$x=\\frac{-b \\pm \\sqrt{b^{2}-4ac}}{2a}$", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ] diff --git a/tests/data/groundtruth/docling_v2/tablecell.docx.itxt b/tests/data/groundtruth/docling_v2/tablecell.docx.itxt index f972efcd..0c5a360a 100644 --- a/tests/data/groundtruth/docling_v2/tablecell.docx.itxt +++ b/tests/data/groundtruth/docling_v2/tablecell.docx.itxt @@ -2,9 +2,9 @@ item-0 at level 0: unspecified: group _root_ item-1 at level 1: list: group list item-2 at level 2: list_item: Hello world1 item-3 at level 2: list_item: Hello2 - item-4 at level 1: paragraph: - item-5 at level 1: paragraph: Some text before + item-4 at level 1: text: + item-5 at level 1: text: Some text before item-6 at level 1: table with [3x3] - item-7 at level 1: paragraph: - item-8 at level 1: paragraph: - item-9 at level 1: paragraph: Some text after \ No newline at end of file + item-7 at level 1: text: + item-8 at level 1: text: + item-9 at level 1: text: Some text after \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/tablecell.docx.json b/tests/data/groundtruth/docling_v2/tablecell.docx.json index ac585735..44710c2d 100644 --- a/tests/data/groundtruth/docling_v2/tablecell.docx.json +++ b/tests/data/groundtruth/docling_v2/tablecell.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "tablecell", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -112,7 +112,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -124,7 +124,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Some text before", "text": "Some text before", @@ -143,7 +143,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -155,7 +155,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -167,7 +167,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Some text after", "text": "Some text after", @@ -206,7 +206,8 @@ "text": "Tab1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -218,7 +219,8 @@ "text": "Tab2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -230,7 +232,8 @@ "text": "Tab3", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -242,7 +245,8 @@ "text": "A", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -254,7 +258,8 @@ "text": "B", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -266,7 +271,8 @@ "text": "C", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -278,7 +284,8 @@ "text": "D", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -290,7 +297,8 @@ "text": "E", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -302,7 +310,8 @@ "text": "F", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 3, @@ -319,7 +328,8 @@ "text": "Tab1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -331,7 +341,8 @@ "text": "Tab2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -343,7 +354,8 @@ "text": "Tab3", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -357,7 +369,8 @@ "text": "A", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -369,7 +382,8 @@ "text": "B", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -381,7 +395,8 @@ "text": "C", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -395,7 +410,8 @@ "text": "D", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -407,7 +423,8 @@ "text": "E", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -419,7 +436,8 @@ "text": "F", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ] diff --git a/tests/data/groundtruth/docling_v2/test_emf_docx.docx.itxt b/tests/data/groundtruth/docling_v2/test_emf_docx.docx.itxt index 220b5533..7d4aff73 100644 --- a/tests/data/groundtruth/docling_v2/test_emf_docx.docx.itxt +++ b/tests/data/groundtruth/docling_v2/test_emf_docx.docx.itxt @@ -1,8 +1,8 @@ item-0 at level 0: unspecified: group _root_ - item-1 at level 1: paragraph: Test with three images in unusual formats - item-2 at level 1: paragraph: Raster in emf: + item-1 at level 1: text: Test with three images in unusual formats + item-2 at level 1: text: Raster in emf: item-3 at level 1: picture - item-4 at level 1: paragraph: Vector in emf: + item-4 at level 1: text: Vector in emf: item-5 at level 1: picture - item-6 at level 1: paragraph: Raster in webp: + item-6 at level 1: text: Raster in webp: item-7 at level 1: picture \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/test_emf_docx.docx.json b/tests/data/groundtruth/docling_v2/test_emf_docx.docx.json index cd904d63..e6109397 100644 --- a/tests/data/groundtruth/docling_v2/test_emf_docx.docx.json +++ b/tests/data/groundtruth/docling_v2/test_emf_docx.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "test_emf_docx", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -52,7 +52,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Test with three images in unusual formats", "text": "Test with three images in unusual formats", @@ -71,7 +71,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Raster in emf:", "text": "Raster in emf:", @@ -90,7 +90,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Vector in emf:", "text": "Vector in emf:", @@ -109,7 +109,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Raster in webp:", "text": "Raster in webp:", diff --git a/tests/data/groundtruth/docling_v2/textbox.docx.itxt b/tests/data/groundtruth/docling_v2/textbox.docx.itxt index 4558be5e..47e8871b 100644 --- a/tests/data/groundtruth/docling_v2/textbox.docx.itxt +++ b/tests/data/groundtruth/docling_v2/textbox.docx.itxt @@ -1,90 +1,90 @@ item-0 at level 0: unspecified: group _root_ - item-1 at level 1: paragraph: Chiayi County Shuishang Township ... mentary School Affiliated Kindergarten - item-2 at level 1: paragraph: Infectious Disease Reporting Pro ... r the 113th Academic Year Kindergarten - item-3 at level 1: paragraph: + item-1 at level 1: text: Chiayi County Shuishang Township ... mentary School Affiliated Kindergarten + item-2 at level 1: text: Infectious Disease Reporting Pro ... r the 113th Academic Year Kindergarten + item-3 at level 1: text: item-4 at level 1: section: group textbox - item-5 at level 2: paragraph: Student falls ill - item-6 at level 2: paragraph: + item-5 at level 2: text: Student falls ill + item-6 at level 2: text: item-7 at level 2: list: group list item-8 at level 3: list_item: Suggested Reportable Symptoms: * ... sh * Blisters * Headache * Sore throat - item-9 at level 1: paragraph: - item-10 at level 1: paragraph: + item-9 at level 1: text: + item-10 at level 1: text: item-11 at level 1: section: group textbox - item-12 at level 2: paragraph: If a caregiver suspects that wit ... the same suggested reportable symptoms - item-13 at level 1: paragraph: - item-14 at level 1: paragraph: - item-15 at level 1: paragraph: - item-16 at level 1: paragraph: + item-12 at level 2: text: If a caregiver suspects that wit ... the same suggested reportable symptoms + item-13 at level 1: text: + item-14 at level 1: text: + item-15 at level 1: text: + item-16 at level 1: text: item-17 at level 1: section: group textbox - item-18 at level 2: paragraph: Yes - item-19 at level 1: paragraph: - item-20 at level 1: paragraph: + item-18 at level 2: text: Yes + item-19 at level 1: text: + item-20 at level 1: text: item-21 at level 1: section: group textbox item-22 at level 2: list: group list item-23 at level 3: list_item: A report must be submitted withi ... saster Prevention Information Network. item-24 at level 3: list_item: A report must also be submitted ... d Infectious Disease Reporting System. - item-25 at level 2: paragraph: + item-25 at level 2: text: item-26 at level 1: list: group list - item-27 at level 1: paragraph: - item-28 at level 1: paragraph: - item-29 at level 1: paragraph: - item-30 at level 1: paragraph: - item-31 at level 1: paragraph: + item-27 at level 1: text: + item-28 at level 1: text: + item-29 at level 1: text: + item-30 at level 1: text: + item-31 at level 1: text: item-32 at level 1: section: group textbox - item-33 at level 2: paragraph: Health Bureau: - item-34 at level 2: paragraph: Upon receiving a report from the ... rt to the Centers for Disease Control. + item-33 at level 2: text: Health Bureau: + item-34 at level 2: text: Upon receiving a report from the ... rt to the Centers for Disease Control. item-35 at level 2: list: group list item-36 at level 3: list_item: If necessary, provide health edu ... vidual to undergo specimen collection. item-37 at level 3: list_item: Implement appropriate epidemic p ... the Communicable Disease Control Act. - item-38 at level 2: paragraph: + item-38 at level 2: text: item-39 at level 1: list: group list - item-40 at level 1: paragraph: + item-40 at level 1: text: item-41 at level 1: section: group textbox - item-42 at level 2: paragraph: Department of Education: + item-42 at level 2: text: Department of Education: Collabo ... vention measures at all school levels. - item-43 at level 1: paragraph: - item-44 at level 1: paragraph: - item-45 at level 1: paragraph: - item-46 at level 1: paragraph: - item-47 at level 1: paragraph: - item-48 at level 1: paragraph: - item-49 at level 1: paragraph: + item-43 at level 1: text: + item-44 at level 1: text: + item-45 at level 1: text: + item-46 at level 1: text: + item-47 at level 1: text: + item-48 at level 1: text: + item-49 at level 1: text: item-50 at level 1: section: group textbox item-51 at level 2: inline: group group - item-52 at level 3: paragraph: The Health Bureau will handle - item-53 at level 3: paragraph: reporting and specimen collection - item-54 at level 3: paragraph: . - item-55 at level 2: paragraph: - item-56 at level 1: paragraph: - item-57 at level 1: paragraph: - item-58 at level 1: paragraph: + item-52 at level 3: text: The Health Bureau will handle + item-53 at level 3: text: reporting and specimen collection + item-54 at level 3: text: . + item-55 at level 2: text: + item-56 at level 1: text: + item-57 at level 1: text: + item-58 at level 1: text: item-59 at level 1: section: group textbox - item-60 at level 2: paragraph: Whether the epidemic has eased. - item-61 at level 2: paragraph: - item-62 at level 1: paragraph: + item-60 at level 2: text: Whether the epidemic has eased. + item-61 at level 2: text: + item-62 at level 1: text: item-63 at level 1: section: group textbox - item-64 at level 2: paragraph: Whether the test results are pos ... legally designated infectious disease. - item-65 at level 2: paragraph: No - item-66 at level 1: paragraph: - item-67 at level 1: paragraph: + item-64 at level 2: text: Whether the test results are pos ... legally designated infectious disease. + item-65 at level 2: text: No + item-66 at level 1: text: + item-67 at level 1: text: item-68 at level 1: section: group textbox - item-69 at level 2: paragraph: Yes - item-70 at level 1: paragraph: + item-69 at level 2: text: Yes + item-70 at level 1: text: item-71 at level 1: section: group textbox - item-72 at level 2: paragraph: Yes - item-73 at level 1: paragraph: - item-74 at level 1: paragraph: + item-72 at level 2: text: Yes + item-73 at level 1: text: + item-74 at level 1: text: item-75 at level 1: section: group textbox - item-76 at level 2: paragraph: Case closed. - item-77 at level 2: paragraph: - item-78 at level 2: paragraph: The Health Bureau will carry out ... ters for Disease Control if necessary. - item-79 at level 1: paragraph: + item-76 at level 2: text: Case closed. + item-77 at level 2: text: + item-78 at level 2: text: The Health Bureau will carry out ... ters for Disease Control if necessary. + item-79 at level 1: text: item-80 at level 1: section: group textbox - item-81 at level 2: paragraph: No - item-82 at level 1: paragraph: - item-83 at level 1: paragraph: - item-84 at level 1: paragraph: \ No newline at end of file + item-81 at level 2: text: No + item-82 at level 1: text: + item-83 at level 1: text: + item-84 at level 1: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/textbox.docx.json b/tests/data/groundtruth/docling_v2/textbox.docx.json index 055e03a6..ae124047 100644 --- a/tests/data/groundtruth/docling_v2/textbox.docx.json +++ b/tests/data/groundtruth/docling_v2/textbox.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "textbox", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -491,7 +491,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Chiayi County Shuishang Township Nanjing Elementary School Affiliated Kindergarten", "text": "Chiayi County Shuishang Township Nanjing Elementary School Affiliated Kindergarten", @@ -510,7 +510,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Infectious Disease Reporting Procedure for the 113th Academic Year Kindergarten", "text": "Infectious Disease Reporting Procedure for the 113th Academic Year Kindergarten", @@ -529,7 +529,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -541,7 +541,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Student falls ill", "text": "Student falls ill", @@ -560,7 +560,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -593,7 +593,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -605,7 +605,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -617,7 +617,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "If a caregiver suspects that within one week, a fifth of the class (for classes with more than 15 students) or more than three students (for classes with 15 or fewer students)\nshow the same suggested reportable symptoms", "text": "If a caregiver suspects that within one week, a fifth of the class (for classes with more than 15 students) or more than three students (for classes with 15 or fewer students)\nshow the same suggested reportable symptoms", @@ -636,7 +636,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -648,7 +648,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -660,7 +660,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -672,7 +672,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -684,7 +684,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Yes", "text": "Yes", @@ -703,7 +703,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -715,7 +715,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -769,7 +769,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -781,7 +781,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -793,7 +793,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -805,7 +805,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -817,7 +817,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -829,7 +829,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -841,7 +841,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Health Bureau:", "text": "Health Bureau:", @@ -860,7 +860,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Upon receiving a report from the kindergarten, conduct a preliminary assessment of the case, and depending on the situation and type of illness, carry out an epidemiological investigation and report to the Centers for Disease Control.", "text": "Upon receiving a report from the kindergarten, conduct a preliminary assessment of the case, and depending on the situation and type of illness, carry out an epidemiological investigation and report to the Centers for Disease Control.", @@ -921,7 +921,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -933,7 +933,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -945,7 +945,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Department of Education:\nCollaborate with the Health Bureau in conducting epidemiological investigations and assist Health Bureau personnel in implementing necessary epidemic prevention measures at all school levels.", "text": "Department of Education:\nCollaborate with the Health Bureau in conducting epidemiological investigations and assist Health Bureau personnel in implementing necessary epidemic prevention measures at all school levels.", @@ -964,7 +964,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -976,7 +976,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -988,7 +988,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1000,7 +1000,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1012,7 +1012,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1024,7 +1024,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1036,7 +1036,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1048,7 +1048,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "The Health Bureau will handle", "text": "The Health Bureau will handle", @@ -1067,7 +1067,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "reporting and specimen collection", "text": "reporting and specimen collection", @@ -1086,7 +1086,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": ".", "text": ".", @@ -1105,7 +1105,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1117,7 +1117,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1129,7 +1129,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1141,7 +1141,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1153,7 +1153,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Whether the epidemic has eased.", "text": "Whether the epidemic has eased.", @@ -1172,7 +1172,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1184,7 +1184,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1196,7 +1196,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Whether the test results are positive for a legally designated infectious disease.", "text": "Whether the test results are positive for a legally designated infectious disease.", @@ -1215,7 +1215,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "No", "text": "No", @@ -1234,7 +1234,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1246,7 +1246,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1258,7 +1258,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Yes", "text": "Yes", @@ -1277,7 +1277,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1289,7 +1289,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Yes", "text": "Yes", @@ -1308,7 +1308,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1320,7 +1320,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1332,7 +1332,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Case closed.", "text": "Case closed.", @@ -1351,7 +1351,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1363,7 +1363,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "The Health Bureau will carry out subsequent related epidemic prevention measures and follow-up, and will request assistance from the Centers for Disease Control if necessary.", "text": "The Health Bureau will carry out subsequent related epidemic prevention measures and follow-up, and will request assistance from the Centers for Disease Control if necessary.", @@ -1382,7 +1382,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1394,7 +1394,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "No", "text": "No", @@ -1413,7 +1413,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1425,7 +1425,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1437,7 +1437,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" diff --git a/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.itxt b/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.itxt index fccb44c6..f968494e 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.itxt +++ b/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.itxt @@ -1,18 +1,18 @@ item-0 at level 0: unspecified: group _root_ - item-1 at level 1: paragraph: italic - item-2 at level 1: paragraph: bold - item-3 at level 1: paragraph: underline - item-4 at level 1: paragraph: hyperlink - item-5 at level 1: paragraph: italic and bold hyperlink + item-1 at level 1: text: italic + item-2 at level 1: text: bold + item-3 at level 1: text: underline + item-4 at level 1: text: hyperlink + item-5 at level 1: text: italic and bold hyperlink item-6 at level 1: inline: group group - item-7 at level 2: paragraph: Normal - item-8 at level 2: paragraph: italic - item-9 at level 2: paragraph: bold - item-10 at level 2: paragraph: underline - item-11 at level 2: paragraph: and - item-12 at level 2: paragraph: hyperlink - item-13 at level 2: paragraph: on the same line - item-14 at level 1: paragraph: + item-7 at level 2: text: Normal + item-8 at level 2: text: italic + item-9 at level 2: text: bold + item-10 at level 2: text: underline + item-11 at level 2: text: and + item-12 at level 2: text: hyperlink + item-13 at level 2: text: on the same line + item-14 at level 1: text: item-15 at level 1: list: group list item-16 at level 2: list_item: Italic bullet 1 item-17 at level 2: list_item: Bold bullet 2 @@ -29,4 +29,4 @@ item-0 at level 0: unspecified: group _root_ item-28 at level 5: text: Nested item-29 at level 5: text: italic item-30 at level 5: text: bold - item-31 at level 1: paragraph: \ No newline at end of file + item-31 at level 1: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.json b/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.json index 8a4caf43..c0a63738 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.json +++ b/tests/data/groundtruth/docling_v2/unit_test_formatting.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "unit_test_formatting", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -174,7 +174,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "italic", "text": "italic", @@ -193,7 +193,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "bold", "text": "bold", @@ -212,7 +212,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "underline", "text": "underline", @@ -231,7 +231,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "hyperlink", "text": "hyperlink", @@ -251,7 +251,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "italic and bold hyperlink", "text": "italic and bold hyperlink", @@ -271,7 +271,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Normal", "text": "Normal", @@ -290,7 +290,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "italic", "text": "italic", @@ -309,7 +309,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "bold", "text": "bold", @@ -328,7 +328,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "underline", "text": "underline", @@ -347,7 +347,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "and", "text": "and", @@ -366,7 +366,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "hyperlink", "text": "hyperlink", @@ -386,7 +386,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "on the same line", "text": "on the same line", @@ -405,7 +405,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -649,7 +649,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" diff --git a/tests/data/groundtruth/docling_v2/unit_test_headers.docx.itxt b/tests/data/groundtruth/docling_v2/unit_test_headers.docx.itxt index 7b6b7543..1a113a9b 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_headers.docx.itxt +++ b/tests/data/groundtruth/docling_v2/unit_test_headers.docx.itxt @@ -1,48 +1,48 @@ item-0 at level 0: unspecified: group _root_ item-1 at level 1: title: Test Document - item-2 at level 2: paragraph: + item-2 at level 2: text: item-3 at level 2: section_header: Section 1 - item-4 at level 3: paragraph: - item-5 at level 3: paragraph: Paragraph 1.1 - item-6 at level 3: paragraph: - item-7 at level 3: paragraph: Paragraph 1.2 - item-8 at level 3: paragraph: + item-4 at level 3: text: + item-5 at level 3: text: Paragraph 1.1 + item-6 at level 3: text: + item-7 at level 3: text: Paragraph 1.2 + item-8 at level 3: text: item-9 at level 3: section_header: Section 1.1 - item-10 at level 4: paragraph: - item-11 at level 4: paragraph: Paragraph 1.1.1 - item-12 at level 4: paragraph: - item-13 at level 4: paragraph: Paragraph 1.1.2 - item-14 at level 4: paragraph: + item-10 at level 4: text: + item-11 at level 4: text: Paragraph 1.1.1 + item-12 at level 4: text: + item-13 at level 4: text: Paragraph 1.1.2 + item-14 at level 4: text: item-15 at level 3: section_header: Section 1.2 - item-16 at level 4: paragraph: - item-17 at level 4: paragraph: Paragraph 1.1.1 - item-18 at level 4: paragraph: - item-19 at level 4: paragraph: Paragraph 1.1.2 - item-20 at level 4: paragraph: + item-16 at level 4: text: + item-17 at level 4: text: Paragraph 1.1.1 + item-18 at level 4: text: + item-19 at level 4: text: Paragraph 1.1.2 + item-20 at level 4: text: item-21 at level 4: section_header: Section 1.2.3 - item-22 at level 5: paragraph: - item-23 at level 5: paragraph: Paragraph 1.2.3.1 - item-24 at level 5: paragraph: - item-25 at level 5: paragraph: Paragraph 1.2.3.1 - item-26 at level 5: paragraph: - item-27 at level 5: paragraph: + item-22 at level 5: text: + item-23 at level 5: text: Paragraph 1.2.3.1 + item-24 at level 5: text: + item-25 at level 5: text: Paragraph 1.2.3.1 + item-26 at level 5: text: + item-27 at level 5: text: item-28 at level 2: section_header: Section 2 - item-29 at level 3: paragraph: - item-30 at level 3: paragraph: Paragraph 2.1 - item-31 at level 3: paragraph: - item-32 at level 3: paragraph: Paragraph 2.2 - item-33 at level 3: paragraph: + item-29 at level 3: text: + item-30 at level 3: text: Paragraph 2.1 + item-31 at level 3: text: + item-32 at level 3: text: Paragraph 2.2 + item-33 at level 3: text: item-34 at level 3: section: group header-2 item-35 at level 4: section_header: Section 2.1.1 - item-36 at level 5: paragraph: - item-37 at level 5: paragraph: Paragraph 2.1.1.1 - item-38 at level 5: paragraph: - item-39 at level 5: paragraph: Paragraph 2.1.1.1 - item-40 at level 5: paragraph: + item-36 at level 5: text: + item-37 at level 5: text: Paragraph 2.1.1.1 + item-38 at level 5: text: + item-39 at level 5: text: Paragraph 2.1.1.1 + item-40 at level 5: text: item-41 at level 3: section_header: Section 2.1 - item-42 at level 4: paragraph: - item-43 at level 4: paragraph: Paragraph 2.1.1 - item-44 at level 4: paragraph: - item-45 at level 4: paragraph: Paragraph 2.1.2 - item-46 at level 4: paragraph: - item-47 at level 4: paragraph: \ No newline at end of file + item-42 at level 4: text: + item-43 at level 4: text: Paragraph 2.1.1 + item-44 at level 4: text: + item-45 at level 4: text: Paragraph 2.1.2 + item-46 at level 4: text: + item-47 at level 4: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/unit_test_headers.docx.json b/tests/data/groundtruth/docling_v2/unit_test_headers.docx.json index e96e33ef..2b490978 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_headers.docx.json +++ b/tests/data/groundtruth/docling_v2/unit_test_headers.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "unit_test_headers", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -71,7 +71,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -118,7 +118,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -130,7 +130,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1", "text": "Paragraph 1.1", @@ -149,7 +149,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -161,7 +161,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.2", "text": "Paragraph 1.2", @@ -180,7 +180,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -221,7 +221,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -233,7 +233,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.1", "text": "Paragraph 1.1.1", @@ -252,7 +252,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -264,7 +264,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.2", "text": "Paragraph 1.1.2", @@ -283,7 +283,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -327,7 +327,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -339,7 +339,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.1", "text": "Paragraph 1.1.1", @@ -358,7 +358,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -370,7 +370,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.2", "text": "Paragraph 1.1.2", @@ -389,7 +389,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -433,7 +433,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -445,7 +445,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.2.3.1", "text": "Paragraph 1.2.3.1", @@ -464,7 +464,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -476,7 +476,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.2.3.1", "text": "Paragraph 1.2.3.1", @@ -495,7 +495,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -507,7 +507,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -554,7 +554,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -566,7 +566,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1", "text": "Paragraph 2.1", @@ -585,7 +585,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -597,7 +597,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.2", "text": "Paragraph 2.2", @@ -616,7 +616,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -657,7 +657,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -669,7 +669,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.1.1", "text": "Paragraph 2.1.1.1", @@ -688,7 +688,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -700,7 +700,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.1.1", "text": "Paragraph 2.1.1.1", @@ -719,7 +719,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -763,7 +763,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -775,7 +775,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.1", "text": "Paragraph 2.1.1", @@ -794,7 +794,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -806,7 +806,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.2", "text": "Paragraph 2.1.2", @@ -825,7 +825,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -837,7 +837,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" diff --git a/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.itxt b/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.itxt index 8b916d5c..a88f1e20 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.itxt +++ b/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.itxt @@ -1,52 +1,52 @@ item-0 at level 0: unspecified: group _root_ item-1 at level 1: title: Test Document - item-2 at level 2: paragraph: + item-2 at level 2: text: item-3 at level 2: section_header: 1 Section 1 - item-4 at level 1: paragraph: - item-5 at level 1: paragraph: Paragraph 1.1 - item-6 at level 1: paragraph: - item-7 at level 1: paragraph: Paragraph 1.2 - item-8 at level 1: paragraph: + item-4 at level 1: text: + item-5 at level 1: text: Paragraph 1.1 + item-6 at level 1: text: + item-7 at level 1: text: Paragraph 1.2 + item-8 at level 1: text: item-9 at level 1: section: group header-0 item-10 at level 2: section: group header-1 item-11 at level 3: section_header: 1.1 Section 1.1 - item-12 at level 4: paragraph: - item-13 at level 4: paragraph: Paragraph 1.1.1 - item-14 at level 4: paragraph: - item-15 at level 4: paragraph: Paragraph 1.1.2 - item-16 at level 4: paragraph: + item-12 at level 4: text: + item-13 at level 4: text: Paragraph 1.1.1 + item-14 at level 4: text: + item-15 at level 4: text: Paragraph 1.1.2 + item-16 at level 4: text: item-17 at level 3: section_header: 1.2 Section 1.2 - item-18 at level 4: paragraph: - item-19 at level 4: paragraph: Paragraph 1.1.1 - item-20 at level 4: paragraph: - item-21 at level 4: paragraph: Paragraph 1.1.2 - item-22 at level 4: paragraph: + item-18 at level 4: text: + item-19 at level 4: text: Paragraph 1.1.1 + item-20 at level 4: text: + item-21 at level 4: text: Paragraph 1.1.2 + item-22 at level 4: text: item-23 at level 4: section_header: 1.2.1 Section 1.2.3 - item-24 at level 5: paragraph: - item-25 at level 5: paragraph: Paragraph 1.2.3.1 - item-26 at level 5: paragraph: - item-27 at level 5: paragraph: Paragraph 1.2.3.1 - item-28 at level 5: paragraph: - item-29 at level 5: paragraph: + item-24 at level 5: text: + item-25 at level 5: text: Paragraph 1.2.3.1 + item-26 at level 5: text: + item-27 at level 5: text: Paragraph 1.2.3.1 + item-28 at level 5: text: + item-29 at level 5: text: item-30 at level 2: section_header: 2 Section 2 - item-31 at level 1: paragraph: - item-32 at level 1: paragraph: Paragraph 2.1 - item-33 at level 1: paragraph: - item-34 at level 1: paragraph: Paragraph 2.2 - item-35 at level 1: paragraph: + item-31 at level 1: text: + item-32 at level 1: text: Paragraph 2.1 + item-33 at level 1: text: + item-34 at level 1: text: Paragraph 2.2 + item-35 at level 1: text: item-36 at level 1: section: group header-0 item-37 at level 2: section: group header-1 item-38 at level 3: section: group header-2 item-39 at level 4: section_header: 2.1.1 Section 2.1.1 - item-40 at level 5: paragraph: - item-41 at level 5: paragraph: Paragraph 2.1.1.1 - item-42 at level 5: paragraph: - item-43 at level 5: paragraph: Paragraph 2.1.1.1 - item-44 at level 5: paragraph: + item-40 at level 5: text: + item-41 at level 5: text: Paragraph 2.1.1.1 + item-42 at level 5: text: + item-43 at level 5: text: Paragraph 2.1.1.1 + item-44 at level 5: text: item-45 at level 3: section_header: 2.2 Section 2.1 - item-46 at level 4: paragraph: - item-47 at level 4: paragraph: Paragraph 2.1.1 - item-48 at level 4: paragraph: - item-49 at level 4: paragraph: Paragraph 2.1.2 - item-50 at level 4: paragraph: - item-51 at level 4: paragraph: \ No newline at end of file + item-46 at level 4: text: + item-47 at level 4: text: Paragraph 2.1.1 + item-48 at level 4: text: + item-49 at level 4: text: Paragraph 2.1.2 + item-50 at level 4: text: + item-51 at level 4: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.json b/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.json index 31f7a78f..eed58d66 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.json +++ b/tests/data/groundtruth/docling_v2/unit_test_headers_numbered.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "unit_test_headers_numbered", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -169,7 +169,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -194,7 +194,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -206,7 +206,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1", "text": "Paragraph 1.1", @@ -225,7 +225,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -237,7 +237,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.2", "text": "Paragraph 1.2", @@ -256,7 +256,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -297,7 +297,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -309,7 +309,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.1", "text": "Paragraph 1.1.1", @@ -328,7 +328,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -340,7 +340,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.2", "text": "Paragraph 1.1.2", @@ -359,7 +359,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -403,7 +403,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -415,7 +415,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.1", "text": "Paragraph 1.1.1", @@ -434,7 +434,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -446,7 +446,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.1.2", "text": "Paragraph 1.1.2", @@ -465,7 +465,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -509,7 +509,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -521,7 +521,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.2.3.1", "text": "Paragraph 1.2.3.1", @@ -540,7 +540,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -552,7 +552,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 1.2.3.1", "text": "Paragraph 1.2.3.1", @@ -571,7 +571,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -583,7 +583,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -608,7 +608,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -620,7 +620,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1", "text": "Paragraph 2.1", @@ -639,7 +639,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -651,7 +651,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.2", "text": "Paragraph 2.2", @@ -670,7 +670,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -711,7 +711,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -723,7 +723,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.1.1", "text": "Paragraph 2.1.1.1", @@ -742,7 +742,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -754,7 +754,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.1.1", "text": "Paragraph 2.1.1.1", @@ -773,7 +773,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -817,7 +817,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -829,7 +829,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.1", "text": "Paragraph 2.1.1", @@ -848,7 +848,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -860,7 +860,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.2", "text": "Paragraph 2.1.2", @@ -879,7 +879,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -891,7 +891,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" diff --git a/tests/data/groundtruth/docling_v2/unit_test_lists.docx.itxt b/tests/data/groundtruth/docling_v2/unit_test_lists.docx.itxt index edf6335c..2099b625 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_lists.docx.itxt +++ b/tests/data/groundtruth/docling_v2/unit_test_lists.docx.itxt @@ -1,25 +1,25 @@ item-0 at level 0: unspecified: group _root_ item-1 at level 1: section: group header-0 item-2 at level 2: section_header: Test Document - item-3 at level 3: paragraph: - item-4 at level 3: paragraph: - item-5 at level 3: paragraph: Paragraph 2.1.1 - item-6 at level 3: paragraph: - item-7 at level 3: paragraph: Paragraph 2.1.2 - item-8 at level 3: paragraph: + item-3 at level 3: text: + item-4 at level 3: text: + item-5 at level 3: text: Paragraph 2.1.1 + item-6 at level 3: text: + item-7 at level 3: text: Paragraph 2.1.2 + item-8 at level 3: text: item-9 at level 3: section: group header-2 item-10 at level 4: section_header: Test 1: item-11 at level 5: list: group list item-12 at level 6: list_item: List item 1 item-13 at level 6: list_item: List item 2 item-14 at level 6: list_item: List item 3 - item-15 at level 5: paragraph: + item-15 at level 5: text: item-16 at level 4: section_header: Test 2: item-17 at level 5: list: group list item-18 at level 6: list_item: List item a item-19 at level 6: list_item: List item b item-20 at level 6: list_item: List item c - item-21 at level 5: paragraph: + item-21 at level 5: text: item-22 at level 4: section_header: Test 3: item-23 at level 5: list: group list item-24 at level 6: list_item: List item 1 @@ -29,14 +29,14 @@ item-0 at level 0: unspecified: group _root_ item-28 at level 7: list_item: List item 1.2 item-29 at level 7: list_item: List item 1.3 item-30 at level 6: list_item: List item 3 - item-31 at level 5: paragraph: + item-31 at level 5: text: item-32 at level 4: section_header: Test 4: item-33 at level 5: list: group list item-34 at level 6: list_item: List item 1 item-35 at level 6: list: group list item-36 at level 7: list_item: List item 1.1 item-37 at level 6: list_item: List item 2 - item-38 at level 5: paragraph: + item-38 at level 5: text: item-39 at level 4: section_header: Test 5: item-40 at level 5: list: group list item-41 at level 6: list_item: List item 1 @@ -45,7 +45,7 @@ item-0 at level 0: unspecified: group _root_ item-44 at level 7: list: group list item-45 at level 8: list_item: List item 1.1.1 item-46 at level 6: list_item: List item 3 - item-47 at level 5: paragraph: + item-47 at level 5: text: item-48 at level 4: section_header: Test 6: item-49 at level 5: list: group list item-50 at level 6: list_item: List item 1 @@ -56,6 +56,6 @@ item-0 at level 0: unspecified: group _root_ item-55 at level 7: list: group list item-56 at level 8: list_item: List item 1.2.1 item-57 at level 6: list_item: List item 3 - item-58 at level 5: paragraph: - item-59 at level 5: paragraph: - item-60 at level 5: paragraph: \ No newline at end of file + item-58 at level 5: text: + item-59 at level 5: text: + item-60 at level 5: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/unit_test_lists.docx.json b/tests/data/groundtruth/docling_v2/unit_test_lists.docx.json index 3c0ebbdc..00dde7bd 100644 --- a/tests/data/groundtruth/docling_v2/unit_test_lists.docx.json +++ b/tests/data/groundtruth/docling_v2/unit_test_lists.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "unit_test_lists", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -338,7 +338,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -350,7 +350,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -362,7 +362,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.1", "text": "Paragraph 2.1.1", @@ -381,7 +381,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -393,7 +393,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Paragraph 2.1.2", "text": "Paragraph 2.1.2", @@ -412,7 +412,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -507,7 +507,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -602,7 +602,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -760,7 +760,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -855,7 +855,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -971,7 +971,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1135,7 +1135,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1147,7 +1147,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -1159,7 +1159,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" diff --git a/tests/data/groundtruth/docling_v2/word_image_anchors.docx.itxt b/tests/data/groundtruth/docling_v2/word_image_anchors.docx.itxt index ebc5cebf..b72a1743 100644 --- a/tests/data/groundtruth/docling_v2/word_image_anchors.docx.itxt +++ b/tests/data/groundtruth/docling_v2/word_image_anchors.docx.itxt @@ -1,16 +1,16 @@ item-0 at level 0: unspecified: group _root_ - item-1 at level 1: paragraph: Transcript - item-2 at level 1: paragraph: February 20, 2025, 8:32PM + item-1 at level 1: text: Transcript + item-2 at level 1: text: February 20, 2025, 8:32PM item-3 at level 1: picture item-4 at level 1: inline: group group - item-5 at level 2: paragraph: This is test 1 - item-6 at level 2: paragraph: 0:08 + item-5 at level 2: text: This is test 1 + item-6 at level 2: text: 0:08 Correct, he is not. - item-7 at level 1: paragraph: + item-7 at level 1: text: item-8 at level 1: picture item-9 at level 1: inline: group group - item-10 at level 2: paragraph: This is test 2 - item-11 at level 2: paragraph: 0:16 + item-10 at level 2: text: This is test 2 + item-11 at level 2: text: 0:16 Yeah, exactly. - item-12 at level 1: paragraph: - item-13 at level 1: paragraph: \ No newline at end of file + item-12 at level 1: text: + item-13 at level 1: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/word_image_anchors.docx.json b/tests/data/groundtruth/docling_v2/word_image_anchors.docx.json index 202645d5..4dd79d7c 100644 --- a/tests/data/groundtruth/docling_v2/word_image_anchors.docx.json +++ b/tests/data/groundtruth/docling_v2/word_image_anchors.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "word_image_anchors", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -93,7 +93,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Transcript", "text": "Transcript", @@ -112,7 +112,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "February 20, 2025, 8:32PM", "text": "February 20, 2025, 8:32PM", @@ -131,7 +131,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is test 1", "text": "This is test 1", @@ -150,7 +150,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "0:08\nCorrect, he is not.", "text": "0:08\nCorrect, he is not.", @@ -169,7 +169,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -181,7 +181,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "This is test 2", "text": "This is test 2", @@ -200,7 +200,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "0:16\nYeah, exactly.", "text": "0:16\nYeah, exactly.", @@ -219,7 +219,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -231,7 +231,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" diff --git a/tests/data/groundtruth/docling_v2/word_sample.docx.itxt b/tests/data/groundtruth/docling_v2/word_sample.docx.itxt index ce60ad26..b4e117c1 100644 --- a/tests/data/groundtruth/docling_v2/word_sample.docx.itxt +++ b/tests/data/groundtruth/docling_v2/word_sample.docx.itxt @@ -1,28 +1,28 @@ item-0 at level 0: unspecified: group _root_ - item-1 at level 1: paragraph: Summer activities + item-1 at level 1: text: Summer activities item-2 at level 1: title: Swimming in the lake - item-3 at level 2: paragraph: Duck + item-3 at level 2: text: Duck item-4 at level 2: picture - item-5 at level 2: paragraph: Figure 1: This is a cute duckling + item-5 at level 2: text: Figure 1: This is a cute duckling item-6 at level 2: section_header: Let’s swim! - item-7 at level 3: paragraph: To get started with swimming, fi ... down in a water and try not to drown: + item-7 at level 3: text: To get started with swimming, fi ... down in a water and try not to drown: item-8 at level 3: list: group list item-9 at level 4: list_item: You can relax and look around item-10 at level 4: list_item: Paddle about item-11 at level 4: list_item: Enjoy summer warmth - item-12 at level 3: paragraph: Also, don’t forget: + item-12 at level 3: text: Also, don’t forget: item-13 at level 3: list: group list item-14 at level 4: list_item: Wear sunglasses item-15 at level 4: list_item: Don’t forget to drink water item-16 at level 4: list_item: Use sun cream - item-17 at level 3: paragraph: Hmm, what else… + item-17 at level 3: text: Hmm, what else… item-18 at level 3: section_header: Let’s eat - item-19 at level 4: paragraph: After we had a good day of swimm ... , it’s important to eat something nice - item-20 at level 4: paragraph: I like to eat leaves - item-21 at level 4: paragraph: Here are some interesting things a respectful duck could eat: + item-19 at level 4: text: After we had a good day of swimm ... , it’s important to eat something nice + item-20 at level 4: text: I like to eat leaves + item-21 at level 4: text: Here are some interesting things a respectful duck could eat: item-22 at level 4: table with [4x3] - item-23 at level 4: paragraph: - item-24 at level 4: paragraph: And let’s add another list in the end: + item-23 at level 4: text: + item-24 at level 4: text: And let’s add another list in the end: item-25 at level 4: list: group list item-26 at level 5: list_item: Leaves item-27 at level 5: list_item: Berries diff --git a/tests/data/groundtruth/docling_v2/word_sample.docx.json b/tests/data/groundtruth/docling_v2/word_sample.docx.json index 12090d28..1d8d23f3 100644 --- a/tests/data/groundtruth/docling_v2/word_sample.docx.json +++ b/tests/data/groundtruth/docling_v2/word_sample.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "word_sample", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -98,7 +98,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Summer activities", "text": "Summer activities", @@ -142,7 +142,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Duck", "text": "Duck", @@ -161,7 +161,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Figure 1: This is a cute duckling", "text": "Figure 1: This is a cute duckling", @@ -212,7 +212,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "To get started with swimming, first lay down in a water and try not to drown:", "text": "To get started with swimming, first lay down in a water and try not to drown:", @@ -294,7 +294,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Also, don’t forget:", "text": "Also, don’t forget:", @@ -376,7 +376,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Hmm, what else…", "text": "Hmm, what else…", @@ -430,7 +430,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "After we had a good day of swimming in the lake, it’s important to eat something nice", "text": "After we had a good day of swimming in the lake, it’s important to eat something nice", @@ -449,7 +449,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "I like to eat leaves", "text": "I like to eat leaves", @@ -468,7 +468,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "Here are some interesting things a respectful duck could eat:", "text": "Here are some interesting things a respectful duck could eat:", @@ -487,7 +487,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -499,7 +499,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "And let’s add another list in the end:", "text": "And let’s add another list in the end:", @@ -625,7 +625,8 @@ "text": "", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -637,7 +638,8 @@ "text": "Food", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -649,7 +651,8 @@ "text": "Calories per portion", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -661,7 +664,8 @@ "text": "Leaves", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -673,7 +677,8 @@ "text": "Ash, Elm, Maple", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -685,7 +690,8 @@ "text": "50", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -697,7 +703,8 @@ "text": "Berries", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -709,7 +716,8 @@ "text": "Blueberry, Strawberry, Cranberry", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -721,7 +729,8 @@ "text": "150", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -733,7 +742,8 @@ "text": "Grain", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -745,7 +755,8 @@ "text": "Corn, Buckwheat, Barley", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -757,7 +768,8 @@ "text": "200", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 4, @@ -774,7 +786,8 @@ "text": "", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -786,7 +799,8 @@ "text": "Food", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -798,7 +812,8 @@ "text": "Calories per portion", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -812,7 +827,8 @@ "text": "Leaves", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -824,7 +840,8 @@ "text": "Ash, Elm, Maple", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -836,7 +853,8 @@ "text": "50", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -850,7 +868,8 @@ "text": "Berries", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -862,7 +881,8 @@ "text": "Blueberry, Strawberry, Cranberry", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -874,7 +894,8 @@ "text": "150", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -888,7 +909,8 @@ "text": "Grain", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -900,7 +922,8 @@ "text": "Corn, Buckwheat, Barley", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -912,7 +935,8 @@ "text": "200", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ] diff --git a/tests/data/groundtruth/docling_v2/word_tables.docx.itxt b/tests/data/groundtruth/docling_v2/word_tables.docx.itxt index dd42eb0a..20ad3128 100644 --- a/tests/data/groundtruth/docling_v2/word_tables.docx.itxt +++ b/tests/data/groundtruth/docling_v2/word_tables.docx.itxt @@ -1,19 +1,19 @@ item-0 at level 0: unspecified: group _root_ item-1 at level 1: section: group header-0 item-2 at level 2: section_header: Test with tables - item-3 at level 3: paragraph: A uniform table + item-3 at level 3: text: A uniform table item-4 at level 3: table with [3x3] - item-5 at level 3: paragraph: - item-6 at level 3: paragraph: A non-uniform table with horizontal spans + item-5 at level 3: text: + item-6 at level 3: text: A non-uniform table with horizontal spans item-7 at level 3: table with [3x3] - item-8 at level 3: paragraph: - item-9 at level 3: paragraph: A non-uniform table with horizontal spans in inner columns + item-8 at level 3: text: + item-9 at level 3: text: A non-uniform table with horizontal spans in inner columns item-10 at level 3: table with [3x4] - item-11 at level 3: paragraph: - item-12 at level 3: paragraph: A non-uniform table with vertical spans + item-11 at level 3: text: + item-12 at level 3: text: A non-uniform table with vertical spans item-13 at level 3: table with [5x3] - item-14 at level 3: paragraph: - item-15 at level 3: paragraph: A non-uniform table with all kinds of spans and empty cells + item-14 at level 3: text: + item-15 at level 3: text: A non-uniform table with all kinds of spans and empty cells item-16 at level 3: table with [9x5] - item-17 at level 3: paragraph: - item-18 at level 3: paragraph: \ No newline at end of file + item-17 at level 3: text: + item-18 at level 3: text: \ No newline at end of file diff --git a/tests/data/groundtruth/docling_v2/word_tables.docx.json b/tests/data/groundtruth/docling_v2/word_tables.docx.json index cb912aa9..56646bc5 100644 --- a/tests/data/groundtruth/docling_v2/word_tables.docx.json +++ b/tests/data/groundtruth/docling_v2/word_tables.docx.json @@ -1,6 +1,6 @@ { "schema_name": "DoclingDocument", - "version": "1.6.0", + "version": "1.7.0", "name": "word_tables", "origin": { "mimetype": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", @@ -111,7 +111,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "A uniform table", "text": "A uniform table", @@ -130,7 +130,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -142,7 +142,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "A non-uniform table with horizontal spans", "text": "A non-uniform table with horizontal spans", @@ -161,7 +161,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -173,7 +173,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "A non-uniform table with horizontal spans in inner columns", "text": "A non-uniform table with horizontal spans in inner columns", @@ -192,7 +192,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -204,7 +204,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "A non-uniform table with vertical spans", "text": "A non-uniform table with vertical spans", @@ -223,7 +223,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -235,7 +235,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "A non-uniform table with all kinds of spans and empty cells", "text": "A non-uniform table with all kinds of spans and empty cells", @@ -254,7 +254,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -266,7 +266,7 @@ }, "children": [], "content_layer": "body", - "label": "paragraph", + "label": "text", "prov": [], "orig": "", "text": "" @@ -298,7 +298,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -310,7 +311,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -322,7 +324,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -334,7 +337,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -346,7 +350,8 @@ "text": "Cell 1.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -358,7 +363,8 @@ "text": "Cell 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -370,7 +376,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -382,7 +389,8 @@ "text": "Cell 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -394,7 +402,8 @@ "text": "Cell 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 3, @@ -411,7 +420,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -423,7 +433,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -435,7 +446,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -449,7 +461,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -461,7 +474,8 @@ "text": "Cell 1.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -473,7 +487,8 @@ "text": "Cell 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -487,7 +502,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -499,7 +515,8 @@ "text": "Cell 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -511,7 +528,8 @@ "text": "Cell 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ] @@ -542,7 +560,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -554,7 +573,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -566,7 +586,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -578,7 +599,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -590,7 +612,8 @@ "text": "Merged Cell 1.1 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -602,7 +625,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -614,7 +638,8 @@ "text": "Merged Cell 2.1 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 3, @@ -631,7 +656,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -643,7 +669,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -655,7 +682,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -669,7 +697,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -681,7 +710,8 @@ "text": "Merged Cell 1.1 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -693,7 +723,8 @@ "text": "Merged Cell 1.1 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -707,7 +738,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -719,7 +751,8 @@ "text": "Merged Cell 2.1 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -731,7 +764,8 @@ "text": "Merged Cell 2.1 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ] @@ -762,7 +796,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -774,7 +809,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -786,7 +822,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -798,7 +835,8 @@ "text": "Header 0.3", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -810,7 +848,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -822,7 +861,8 @@ "text": "Merged Cell 1.1 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -834,7 +874,8 @@ "text": "Cell 1.3", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -846,7 +887,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -858,7 +900,8 @@ "text": "Merged Cell 2.1 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -870,7 +913,8 @@ "text": "Cell 2.3", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 3, @@ -887,7 +931,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -899,7 +944,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -911,7 +957,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -923,7 +970,8 @@ "text": "Header 0.3", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -937,7 +985,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -949,7 +998,8 @@ "text": "Merged Cell 1.1 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -961,7 +1011,8 @@ "text": "Merged Cell 1.1 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -973,7 +1024,8 @@ "text": "Cell 1.3", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -987,7 +1039,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -999,7 +1052,8 @@ "text": "Merged Cell 2.1 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1011,7 +1065,8 @@ "text": "Merged Cell 2.1 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1023,7 +1078,8 @@ "text": "Cell 2.3", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ] @@ -1054,7 +1110,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1066,7 +1123,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1078,7 +1136,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1090,7 +1149,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1102,7 +1162,8 @@ "text": "Merged Cell 1.1 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1114,7 +1175,8 @@ "text": "Cell 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1126,7 +1188,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1138,7 +1201,8 @@ "text": "Cell 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1150,7 +1214,8 @@ "text": "Cell 3.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1162,7 +1227,8 @@ "text": "Merged Cell 3.1 4.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1174,7 +1240,8 @@ "text": "Cell 3.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1186,7 +1253,8 @@ "text": "Cell 4.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1198,7 +1266,8 @@ "text": "Cell 4.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 5, @@ -1215,7 +1284,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1227,7 +1297,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1239,7 +1310,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -1253,7 +1325,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1265,7 +1338,8 @@ "text": "Merged Cell 1.1 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1277,7 +1351,8 @@ "text": "Cell 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -1291,7 +1366,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1303,7 +1379,8 @@ "text": "Merged Cell 1.1 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1315,7 +1392,8 @@ "text": "Cell 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -1329,7 +1407,8 @@ "text": "Cell 3.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1341,7 +1420,8 @@ "text": "Merged Cell 3.1 4.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1353,7 +1433,8 @@ "text": "Cell 3.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -1367,7 +1448,8 @@ "text": "Cell 4.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1379,7 +1461,8 @@ "text": "Merged Cell 3.1 4.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1391,7 +1474,8 @@ "text": "Cell 4.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ] @@ -1422,7 +1506,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1434,7 +1519,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1446,7 +1532,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1458,7 +1545,8 @@ "text": "", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1470,7 +1558,8 @@ "text": "", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1482,7 +1571,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1494,7 +1584,8 @@ "text": "Merged Cell 1.1 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1506,7 +1597,8 @@ "text": "Cell 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1518,7 +1610,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1530,7 +1623,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1542,7 +1636,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1554,7 +1649,8 @@ "text": "Cell 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1566,7 +1662,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1578,7 +1675,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1590,7 +1688,8 @@ "text": "Cell 3.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1602,7 +1701,8 @@ "text": "Merged Cell 3.1 4.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1614,7 +1714,8 @@ "text": "Cell 3.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 3, @@ -1626,7 +1727,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1638,7 +1740,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1650,7 +1753,8 @@ "text": "Cell 4.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1662,7 +1766,8 @@ "text": "Cell 4.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1674,7 +1779,8 @@ "text": "Merged Cell 4.4 5.4", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1686,7 +1792,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1698,7 +1805,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1710,7 +1818,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1722,7 +1831,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1734,7 +1844,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1746,7 +1857,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1758,7 +1870,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1770,7 +1883,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1782,7 +1896,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1794,7 +1909,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1806,7 +1922,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1818,7 +1935,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1830,7 +1948,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1842,7 +1961,8 @@ "text": "Cell 8.4", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], "num_rows": 9, @@ -1859,7 +1979,8 @@ "text": "Header 0.0", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1871,7 +1992,8 @@ "text": "Header 0.1", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1883,7 +2005,8 @@ "text": "Header 0.2", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1895,7 +2018,8 @@ "text": "", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1907,7 +2031,8 @@ "text": "", "column_header": true, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -1921,7 +2046,8 @@ "text": "Cell 1.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1933,7 +2059,8 @@ "text": "Merged Cell 1.1 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1945,7 +2072,8 @@ "text": "Cell 1.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1957,7 +2085,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -1969,7 +2098,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -1983,7 +2113,8 @@ "text": "Cell 2.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -1995,7 +2126,8 @@ "text": "Merged Cell 1.1 2.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2007,7 +2139,8 @@ "text": "Cell 2.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2019,7 +2152,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2031,7 +2165,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -2045,7 +2180,8 @@ "text": "Cell 3.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -2057,7 +2193,8 @@ "text": "Merged Cell 3.1 4.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2069,7 +2206,8 @@ "text": "Cell 3.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 3, @@ -2081,7 +2219,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2093,7 +2232,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -2107,7 +2247,8 @@ "text": "Cell 4.0", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -2119,7 +2260,8 @@ "text": "Merged Cell 3.1 4.1", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2131,7 +2273,8 @@ "text": "Cell 4.2", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 3, @@ -2143,7 +2286,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -2155,7 +2299,8 @@ "text": "Merged Cell 4.4 5.4", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -2169,7 +2314,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2181,7 +2327,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2193,7 +2340,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 3, @@ -2205,7 +2353,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 2, @@ -2217,7 +2366,8 @@ "text": "Merged Cell 4.4 5.4", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -2231,7 +2381,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2243,7 +2394,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2255,7 +2407,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2267,7 +2420,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2279,7 +2433,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -2293,7 +2448,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2305,7 +2461,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2317,7 +2474,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2329,7 +2487,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2341,7 +2500,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ], [ @@ -2355,7 +2515,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2367,7 +2528,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2379,7 +2541,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2391,7 +2554,8 @@ "text": "", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false }, { "row_span": 1, @@ -2403,7 +2567,8 @@ "text": "Cell 8.4", "column_header": false, "row_header": false, - "row_section": false + "row_section": false, + "fillable": false } ] ]