序列化
引言
文档序列化器(简称序列化器)是 Docling 的一个抽象,它使用给定的 DoclingDocument
进行初始化,并返回该文档的文本表示。
除了文档序列化器之外,Docling 还为几个文档子组件定义了类似的抽象,例如:文本序列化器、表格序列化器、图片序列化器、列表序列化器、行内序列化器等等。
最后但同样重要的是,序列化器提供者是一个包装器,它将文档序列化策略与文档实例分离。
基类
为了兼顾下游应用的灵活性和开箱即用的实用性,Docling 定义了一个序列化类层次结构,提供了
- 上述抽象的基类:
BaseDocSerializer
,以及BaseTextSerializer
、BaseTableSerializer
等,以及BaseSerializerProvider
;以及 - 上述基类的具体子类,例如
MarkdownDocSerializer
。
您可以在这里查看定义上述基类所需的所有方法。
从客户端的角度来看,最相关的是 BaseDocSerializer.serialize()
,它返回文本表示形式以及与该序列化相关的文档组件的元数据。
在 DoclingDocument
导出方法中使用
Docling 为 Markdown、HTML 和 DocTags 提供了预定义的序列化器。
各自的 DoclingDocument
导出方法(例如 export_to_markdown()
)作为用户简写提供——内部直接实例化并委托给各自的序列化器。
示例
有关如何使用序列化器的示例,请参阅这里。