mirror of
https://github.com/DS4SD/docling.git
synced 2025-07-28 13:04:25 +00:00
Handle bullet lists
Signed-off-by: SimJeg <sjegou@nvidia.com>
This commit is contained in:
parent
fcaad41a0a
commit
5b4464a741
@ -379,7 +379,7 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend):
|
|||||||
doc,
|
doc,
|
||||||
numid,
|
numid,
|
||||||
ilevel,
|
ilevel,
|
||||||
text,
|
paragraph_elements,
|
||||||
is_numbered,
|
is_numbered,
|
||||||
)
|
)
|
||||||
self.update_history(p_style_id, p_level, numid, ilevel)
|
self.update_history(p_style_id, p_level, numid, ilevel)
|
||||||
@ -556,7 +556,7 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend):
|
|||||||
doc: DoclingDocument,
|
doc: DoclingDocument,
|
||||||
numid: int,
|
numid: int,
|
||||||
ilevel: int,
|
ilevel: int,
|
||||||
text: str,
|
elements: list[tuple[str, Formatting, str]],
|
||||||
is_numbered: bool = False,
|
is_numbered: bool = False,
|
||||||
) -> None:
|
) -> None:
|
||||||
enum_marker = ""
|
enum_marker = ""
|
||||||
@ -575,12 +575,17 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend):
|
|||||||
if is_numbered:
|
if is_numbered:
|
||||||
enum_marker = str(self.listIter) + "."
|
enum_marker = str(self.listIter) + "."
|
||||||
is_numbered = True
|
is_numbered = True
|
||||||
doc.add_list_item(
|
|
||||||
marker=enum_marker,
|
inline_fmt = doc.add_group(label=GroupLabel.INLINE, parent=self.parents[level])
|
||||||
enumerated=is_numbered,
|
for text, format, hyperlink in elements:
|
||||||
parent=self.parents[level],
|
doc.add_list_item(
|
||||||
text=text,
|
marker=enum_marker,
|
||||||
)
|
enumerated=is_numbered,
|
||||||
|
parent=inline_fmt,
|
||||||
|
text=text,
|
||||||
|
formatting=format,
|
||||||
|
hyperlink=hyperlink,
|
||||||
|
)
|
||||||
|
|
||||||
elif (
|
elif (
|
||||||
self.prev_numid() == numid
|
self.prev_numid() == numid
|
||||||
@ -611,13 +616,17 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend):
|
|||||||
if is_numbered:
|
if is_numbered:
|
||||||
enum_marker = str(self.listIter) + "."
|
enum_marker = str(self.listIter) + "."
|
||||||
is_numbered = True
|
is_numbered = True
|
||||||
doc.add_list_item(
|
|
||||||
marker=enum_marker,
|
inline_fmt = doc.add_group(label=GroupLabel.INLINE, parent=self.parents[self.level_at_new_list + ilevel])
|
||||||
enumerated=is_numbered,
|
for text, format, hyperlink in elements:
|
||||||
parent=self.parents[self.level_at_new_list + ilevel],
|
doc.add_list_item(
|
||||||
text=text,
|
marker=enum_marker,
|
||||||
)
|
enumerated=is_numbered,
|
||||||
|
parent=inline_fmt,
|
||||||
|
text=text,
|
||||||
|
formatting=format,
|
||||||
|
hyperlink=hyperlink,
|
||||||
|
)
|
||||||
elif (
|
elif (
|
||||||
self.prev_numid() == numid
|
self.prev_numid() == numid
|
||||||
and self.level_at_new_list is not None
|
and self.level_at_new_list is not None
|
||||||
@ -633,12 +642,16 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend):
|
|||||||
if is_numbered:
|
if is_numbered:
|
||||||
enum_marker = str(self.listIter) + "."
|
enum_marker = str(self.listIter) + "."
|
||||||
is_numbered = True
|
is_numbered = True
|
||||||
doc.add_list_item(
|
inline_fmt = doc.add_group(label=GroupLabel.INLINE, parent=self.parents[self.level_at_new_list + ilevel])
|
||||||
marker=enum_marker,
|
for text, format, hyperlink in elements:
|
||||||
enumerated=is_numbered,
|
doc.add_list_item(
|
||||||
parent=self.parents[self.level_at_new_list + ilevel],
|
marker=enum_marker,
|
||||||
text=text,
|
enumerated=is_numbered,
|
||||||
)
|
parent=inline_fmt,
|
||||||
|
text=text,
|
||||||
|
formatting=format,
|
||||||
|
hyperlink=hyperlink,
|
||||||
|
)
|
||||||
self.listIter = 0
|
self.listIter = 0
|
||||||
|
|
||||||
elif self.prev_numid() == numid or prev_indent == ilevel:
|
elif self.prev_numid() == numid or prev_indent == ilevel:
|
||||||
@ -647,12 +660,17 @@ class MsWordDocumentBackend(DeclarativeDocumentBackend):
|
|||||||
if is_numbered:
|
if is_numbered:
|
||||||
enum_marker = str(self.listIter) + "."
|
enum_marker = str(self.listIter) + "."
|
||||||
is_numbered = True
|
is_numbered = True
|
||||||
doc.add_list_item(
|
inline_fmt = doc.add_group(label=GroupLabel.INLINE, parent=self.parents[level - 1])
|
||||||
marker=enum_marker,
|
for text, format, hyperlink in elements:
|
||||||
enumerated=is_numbered,
|
# Add the list item to the parent group
|
||||||
parent=self.parents[level - 1],
|
doc.add_list_item(
|
||||||
text=text,
|
marker=enum_marker,
|
||||||
)
|
enumerated=is_numbered,
|
||||||
|
parent=inline_fmt,
|
||||||
|
text=text,
|
||||||
|
formatting=format,
|
||||||
|
hyperlink=hyperlink,
|
||||||
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
def handle_tables(
|
def handle_tables(
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user