@@ -1190,6 +1190,8 @@ class TableItem(FloatingItem):
11901190 DocItemLabel .DOCUMENT_INDEX ,
11911191 DocItemLabel .TABLE ,
11921192 ] = DocItemLabel .TABLE
1193+ annotations : List [PictureDataType ] = []
1194+
11931195
11941196 def export_to_dataframe (self ) -> pd .DataFrame :
11951197 """Export the table as a Pandas DataFrame."""
@@ -1236,14 +1238,22 @@ def export_to_dataframe(self) -> pd.DataFrame:
12361238
12371239 return df
12381240
1239- def export_to_markdown (self , doc : Optional ["DoclingDocument" ] = None ) -> str :
1241+ def export_to_markdown (
1242+ self ,
1243+ doc : Optional ["DoclingDocument" ] = None ,
1244+ table_mode : ImageRefMode = ImageRefMode .DESCRIPTION ,
1245+ table_placeholder : str = "<!-- table -->" ) -> str :
12401246 """Export the table as markdown."""
12411247 if doc is not None :
12421248 from docling_core .transforms .serializer .markdown import (
1243- MarkdownDocSerializer ,
1249+ MarkdownDocSerializer , MarkdownParams
12441250 )
12451251
1246- serializer = MarkdownDocSerializer (doc = doc )
1252+ serializer = MarkdownDocSerializer (doc = doc ,
1253+ params = MarkdownParams (
1254+ table_mode = table_mode ,
1255+ table_placeholder = table_placeholder ,
1256+ ))
12471257 text = serializer .serialize (item = self ).text
12481258 return text
12491259 else :
@@ -2261,6 +2271,7 @@ def add_text(
22612271 def add_table (
22622272 self ,
22632273 data : TableData ,
2274+ annotations : List [PictureDataType ] = [],
22642275 caption : Optional [Union [TextItem , RefItem ]] = None , # This is not cool yet.
22652276 prov : Optional [ProvenanceItem ] = None ,
22662277 parent : Optional [NodeItem ] = None ,
@@ -2283,7 +2294,7 @@ def add_table(
22832294 cref = f"#/tables/{ table_index } "
22842295
22852296 tbl_item = TableItem (
2286- label = label , data = data , self_ref = cref , parent = parent .get_ref ()
2297+ label = label , annotations = annotations , data = data , self_ref = cref , parent = parent .get_ref ()
22872298 )
22882299 if prov :
22892300 tbl_item .prov .append (prov )
@@ -2919,6 +2930,8 @@ def save_as_markdown(
29192930 escaping_underscores : bool = True ,
29202931 image_placeholder : str = "<!-- image -->" ,
29212932 image_mode : ImageRefMode = ImageRefMode .PLACEHOLDER ,
2933+ table_placeholder : str = "<!-- table -->" ,
2934+ table_mode : ImageRefMode = ImageRefMode .PLACEHOLDER ,
29222935 indent : int = 4 ,
29232936 text_width : int = - 1 ,
29242937 page_no : Optional [int ] = None ,
@@ -2946,6 +2959,8 @@ def save_as_markdown(
29462959 escape_underscores = escaping_underscores ,
29472960 image_placeholder = image_placeholder ,
29482961 image_mode = image_mode ,
2962+ table_placeholder = table_placeholder ,
2963+ table_mode = table_mode ,
29492964 indent = indent ,
29502965 text_width = text_width ,
29512966 page_no = page_no ,
@@ -2965,8 +2980,10 @@ def export_to_markdown( # noqa: C901
29652980 strict_text : bool = False ,
29662981 escape_underscores : bool = True ,
29672982 image_placeholder : str = "<!-- image -->" ,
2983+ table_placeholder : str = "<!-- table -->" ,
29682984 enable_chart_tables : bool = True ,
29692985 image_mode : ImageRefMode = ImageRefMode .PLACEHOLDER ,
2986+ table_mode : ImageRefMode = ImageRefMode .PLACEHOLDER ,
29702987 indent : int = 4 ,
29712988 text_width : int = - 1 ,
29722989 page_no : Optional [int ] = None ,
@@ -3033,8 +3050,10 @@ def export_to_markdown( # noqa: C901
30333050 stop_idx = to_element ,
30343051 escape_underscores = escape_underscores ,
30353052 image_placeholder = image_placeholder ,
3053+ table_placeholder = table_placeholder ,
30363054 enable_chart_tables = enable_chart_tables ,
30373055 image_mode = image_mode ,
3056+ table_mode = table_mode ,
30383057 indent = indent ,
30393058 wrap_width = text_width if text_width > 0 else None ,
30403059 page_break_placeholder = page_break_placeholder ,
@@ -4112,4 +4131,4 @@ def validate_document(cls, d: "DoclingDocument"):
41124131 if not d .validate_tree (d .body ) or not d .validate_tree (d .furniture ):
41134132 raise ValueError ("Document hierachy is inconsistent." )
41144133
4115- return d
4134+ return d
0 commit comments