编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Magic-PDF一款高质量开源PDF解析工具

wxchong 2024-11-17 16:45:48 开源技术 170 ℃ 0 评论

本篇文章,将介绍一款开源工具Magic-PDF,从架构图上看,包含的内容很多公式、图表、段落合并、顺序布局等都有涉及,整体感觉效果应该还可以。下面具体介绍它,先介绍基本情况,再给出体验地址,最后介绍代码访问:

Magic-PDF基本介绍

Magic-PDF 是一个专门用于将 PDF 文档转化为 Markdown 格式的工具。它支持转换本地文档或者位于支持 S3 协议对象存储上的文件。以下是 Magic-PDF 的一些主要功能:

  • 多种输入支持:支持多种前端模型输入。
  • 格式处理:能够删除页眉、页脚、脚注、页码等元素。,保持语义连贯
  • 保留文档结构:对多栏输出符合人类阅读顺序的文本。符合人类阅读顺序的排版格式,保留原文档的结构和格式,包括标题、段落、列表等。
  • 图像和表格提取:提取图像和表格并在 Markdown 中展示。
  • 公式转换:将公式转换成 LaTeX 格式。
  • 乱码识别:自动识别并转换乱码 PDF。
  • 硬件支持:支持 CPU 和 GPU 环境。
  • 跨平台兼容:支持 Windows、Linux、Mac 平台。

架构图:

流程图:

在线体验地址

https://opendatalab.com/OpenSourceTools/Extractor/PDF

老规矩,跑起来:

环境配置

安装magic-pdf

pip install magic-pdf[full]==0.6.2b1 detectron2 --extra-index-url https://wheels.myhloli.com -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch==2.3.1 torchvision==0.18.1 

模型下载

整个工程涉及的模型,主要是布局、公式、表格识别:

# 模型地址
https://huggingface.co/wanderkid/PDF-Extract-Kit
# 工程地址
# https://hub.yzuu.cf/opendatalab/PDF-Extract-Kit

配置文件

生成名为magic-pdf.json的配置文件,内容如下,将上述下载文件的存放地址配置在models-dir中:

{
    "bucket_info":{
        "bucket-name-1":["ak", "sk", "endpoint"],
        "bucket-name-2":["ak", "sk", "endpoint"]
    },
    "models-dir":"/tmp/models",
    "device-mode":"cpu",
    "table-config": {
        "is_table_recog_enable": false,
        "max_time": 400
    }
}

访问代码

本地访问代码如下:

from magic_pdf.pipe.UNIPipe import UNIPipe
from magic_pdf.rw.DiskReaderWriter import DiskReaderWriter


image_writer = DiskReaderWriter(local_image_dir)
image_dir = str(os.path.basename(local_image_dir))
jso_useful_key = {"_pdf_type": "", "model_list": model_json}
pipe = UNIPipe(pdf_bytes, jso_useful_key, image_writer)
pipe.pipe_classify()
pipe.pipe_parse()
md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none")

项目完整地址:

https://github.com/opendatalab/MinerU/blob/master/README_zh-CN_v2.md

通过这个工具,我们就能将PDF转markdown啦,支持表格、公式,效果还可以。

如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。

好了,这就是我今天想分享的内容。如果你对大模型应用感兴趣,别忘了点赞、关注噢~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表