一个功能强大的文档解析和转换工具,支持PDF、DOCX、PPTX和Markdown等

ops/2024/11/18 17:19:18/

大家好,今天给大家分享一个用于处理文档的项目Docling,旨在帮助用户轻松快速地解析文档并将其转换为所需格式,为使用生成式人工智能(gen AI)准备文档。

项目介绍

Docling是一个功能强大的文档解析和转换工具,支持多种文档格式,提供先进的PDF理解功能,并允许用户将文档转换为Markdown和JSON格式。它还具有元数据提取、OCR支持、无缝集成以及其他高级功能,非常适合需要处理和分析大量文档的用户。

功能特性

文档格式支持广泛:能够读取多种流行的文档格式,包括 PDF、DOCX、PPTX、图像(如 JPEG、PNG 等)、HTML、AsciiDoc 和 Markdown 等。并且可以将这些文档导出为 Markdown 和 JSON 格式,方便在不同的应用场景中使用。例如,将 PDF 格式的研究报告转换为 Markdown 格式,以便于在文本编辑器中进行编辑和分析。

高级 PDF 文档理解:在处理 PDF 文档时,具有高级的理解能力,包括解析页面布局、确定阅读顺序以及识别表格结构等。这使得从复杂的 PDF 文档中提取和转换信息更加准确和有效,例如在处理包含多栏排版、图表和表格的学术论文 PDF 时,能够准确地将内容转换为结构化的格式。

统一的文档表示格式:采用统一且富有表现力的 DoclingDocument 表示格式,方便对文档进行处理和操作,无论是在文档转换过程中还是在与其他工具或系统集成时,都能提供一致的文档数据结构。

元数据提取功能:可以提取文档的元数据,如标题、作者、参考文献和语言等信息。这些元数据在文档管理、搜索和分析等方面具有重要价值,例如在构建文档库时,可以根据元数据对文档进行分类和检索。

与其他工具集成:能够无缝集成 LlamaIndex 和 LangChain,为强大的检索增强生成(RAG)和问答(QA)应用提供支持。通过与这些工具的结合,可以构建出更智能的文档处理和问答系统,例如基于文档知识库进行智能问答,为用户提供准确的信息。

支持 OCR 技术(光学字符识别):对于扫描的 PDF 文档,提供 OCR 支持,能够将扫描图像中的文字识别并转换为可编辑的文本,进一步扩大了可处理文档的范围,使纸质文档数字化后也能方便地进行处理和分析。

简单便捷的命令行界面(CLI):提供了简单易用的命令行工具,用户可以通过命令行操作快速执行文档转换等任务,方便在脚本或自动化流程中使用 Docling,提高工作效率。

安装使用

安装

可以使用常见的包管理器(如 pip)进行安装。

pip install docling

该项目适用于 macOS、Linux 和 Windows 环境,并且支持 x86_64 和 arm64 架构。

更详细的安装说明,请阅读安装文档。

使用

转换单个文件
from docling.document_converter import DocumentConvertersource = "https://arxiv.org/pdf/2408.09869"  # PDF path or URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown())  # output: "### Docling Technical Report[...]"
命令行界面(CLI)
# 将单个文件转换为 Markdown(默认)
docling myfile.pdf# 转换为 Markdown 和 JSON 格式且不使用 OCR
docling myfile.pdf --to json --to md --no-ocr# 转换输入目录中的 PDF 文件为 Markdown(默认)
docling ./input/dir --from pdf# 转换输入目录中的 PDF 和 Word 文件为 Markdown 和 JSON
docling ./input/dir --from pdf --from docx --to md --to json --output ./scratch# 转换输入目录中所有支持的文件为 Markdown,遇到第一个错误时中止
docling ./input/dir --output ./scratch --abort-on-error

项目地址

https://github.com/DS4SD/docling

一个功能强大的文档解析和转换工具,支持PDF、DOCX、PPTX和Markdown等 - BTool博客 - 在线工具软件,为开发者提供方便 


http://www.ppmy.cn/ops/134751.html

相关文章

基于80x86汇编语言的打砖块游戏

1 目标和意义 为了巩固汇编语言与接口技术课程所学的理论知识,理解计算机的基本系统结构,理解处理器的工作过程,探究数据和指令的内部表述,特选择本实验。 此实验,能训练运用显示器编程的能力和运算操作的能力&#…

聊天服务器(9)一对一聊天功能

目录 一对一聊天离线消息服务器异常处理 一对一聊天 先新添一个消息码 在业务层增加该业务 没有绑定事件处理器的话消息会派发不出去 聊天其实是服务器做一个中转 现在同时登录两个账号 收到了聊天信息 再回复一下 离线消息 声明中提供接口和方法 张三对离线的李…

SpringBoot开发——整合 apache fileupload 轻松实现文件上传与下载

文章目录 1、实现步骤1.1 添加相关依赖包1.2 添加相关配置参数1.3 文件上传示例1.4 文件下载示例2、小结1、实现步骤 在此,我们以Thymeleaf页面模板引擎为例,简单介绍利用 apache fileupload 工具实现文件上传的功能。 1.1 添加相关依赖包 首先创建一个基础的 Spring Boot…

Java项目实战II基于微信小程序的个人行政复议在线预约系统微信小程序(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 基于微信小…

NVR录像机汇聚管理EasyNVR多品牌NVR管理工具视频汇聚技术在智慧安防监控中的应用与优势

随着信息技术的快速发展和数字化时代的到来,安防监控领域也在不断进行技术创新和突破。NVR管理平台EasyNVR作为视频汇聚技术的领先者,凭借其强大的视频处理、汇聚与融合能力,展现出了在安防监控领域巨大的应用潜力和价值。本文将详细介绍Easy…

交易术语汇总(Technical Trading Dictionary)

Arbitrage (套利) --- 一种利用交易所之间的差价获利的方法。 Accumulation (累积) --- 在一种资产中建立头寸的过程。 Ask/Bid (询价/竞价) --- 卖出订单是询价(Ask),买入订单是出价(Bid)。 ATH(历史最高价) --- All-time high 全时高。 Bearish MS…

GCP Cloud Storage 的lock retention policy是什么

简介 Google Cloud Storage 的锁定保留策略(Lock Retention Policy)是一种用于保护存储桶中对象数据的功能。它允许用户设置一个保留期,在此期间对象不能被删除或覆盖。这对于确保数据的长期保留和合规性非常重要,尤其是在需要满…

麒麟系统下docker搭建gitlab

搭建gitlab 首先在宿主机上创建几个目录 mkdir -p gitlab mkdir -p gitlab/log/gitlab mkdir -p gitlab/opt/gitlab chmod -R 755 gitlab/创建三个文件夹是分别存放配置文件、日志文件、数据文件,创建完了赋予权限,后面用于映射。 docker ru…