百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

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

yuyutoo 2025-01-21 22:36 1 浏览 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中的应用。

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

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: