跳到内容

序列化

引言

文档序列化器(简称序列化器)是 Docling 的一个抽象,它使用给定的 DoclingDocument 进行初始化,并返回该文档的文本表示。

除了文档序列化器之外,Docling 还为几个文档子组件定义了类似的抽象,例如:文本序列化器表格序列化器图片序列化器列表序列化器行内序列化器等等。

最后但同样重要的是,序列化器提供者是一个包装器,它将文档序列化策略与文档实例分离。

基类

为了兼顾下游应用的灵活性和开箱即用的实用性,Docling 定义了一个序列化类层次结构,提供了

  • 上述抽象的基类:BaseDocSerializer,以及 BaseTextSerializerBaseTableSerializer 等,以及 BaseSerializerProvider;以及
  • 上述基类的具体子类,例如 MarkdownDocSerializer

您可以在这里查看定义上述基类所需的所有方法。

从客户端的角度来看,最相关的是 BaseDocSerializer.serialize(),它返回文本表示形式以及与该序列化相关的文档组件的元数据。

DoclingDocument 导出方法中使用

Docling 为 Markdown、HTML 和 DocTags 提供了预定义的序列化器。

各自的 DoclingDocument 导出方法(例如 export_to_markdown())作为用户简写提供——内部直接实例化并委托给各自的序列化器。

示例

有关如何使用序列化器的示例,请参阅这里