当前位置: 首页 > article >正文

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

大家好,今天给大家分享一个用于处理文档的项目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 DocumentConverter

source = "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.kler.cn/a/399241.html

相关文章:

  • 如何使用正则表达式验证域名
  • 矩阵的对角化特征值分解
  • 十:详解HTTP的请求行
  • 机器学习-37-对ML的思考之机器学习发展的三个阶段和驱动AI发展三驾马车的由来
  • 从零入门激光SLAM(二十三)——direct_visual_lidar_calibration全型号激光雷达-相机标定包
  • Kafka新节点加入集群操作指南
  • 常用命令之LinuxOracleHivePython
  • 矩阵转置 Matlab与Numpy差异,复数慎重
  • 基于Java Springboot宠物流浪救助系统
  • Android中Crash Debug技巧
  • 单体架构 IM 系统之 Server 节点状态化分析
  • 【Rust中的策略模式实现】
  • 10款PDF合并工具的使用体验与推荐!!!
  • 【Redis】使用redis实现登录校验功能
  • vim配置 --> 在创建的普通用户下
  • linux,一、部署LNMP环境二、配置动静分离三、地址重写四、编写systemd Unit文件
  • Azure pipeline 通过git命令修改文件
  • 记录配置ubuntu18.04下运行ORBSLAM3的ros接口的过程及执行单目imu模式遇到的问题(详细说明防止忘记)
  • 【Python刷题】最少拐弯路线问题
  • 实战:深入探讨 MySQL 和 SQL Server 全文索引的使用及其弊端
  • 从北美火到中国,大数据洞察品牌“STANLEY”的突围之路
  • Java基础-I/O流
  • 了解什么是Python(简介)
  • ES6笔记
  • 38配置管理工具(如Ansible、Puppet、Chef)
  • ssm114基于SSM框架的网上拍卖系统的设计与实现+vue(论文+源码)_kaic