PDF转化为机器可读格式的工具

MinerU

PDF转化为机器可读格式的工具

项目简介

MinerU是一款将PDF转化为机器可读格式的工具 (如markdown、json),可以很方便地抽取为任意格式。

项目地址:

https://github.com/opendatalab/MinerU/tree/master

主要功能

  • 删除页眉、页脚、脚注、页码等元素,保持语义连贯
  • 对多栏输出符合人类阅读顺序的文本
  • 保留原文档的结构,包括标题、段落、列表等
  • 提取图像、图片标题、表格、表格标题
  • 自动识别文档中的公式并将公式转换成latex
  • 自动识别文档中的表格并将表格转换成latex
  • 乱码PDF自动检测并启用OCR
  • 支持CPU和GPU环境
  • 支持windows/linux/mac平台

由于本人使用win11, 32G内存,睿频3.7G,显存只有6G,使用CPU快速体验。我将146个页面的教学指南转为markdown超1个小时。


最后结果:

看上去还不错。

使用步骤

1. 安装magic-pdf

Anaconda 创建虚拟环境,最新版本国内镜像源同步可能会有延迟,请耐心等待。

bash 复制代码
conda create -n MinerU python=3.10
conda activate MinerU
pip install magic-pdf[full]==0.7.0b1 --extra-index-url https://wheels.myhloli.com -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 下载模型权重文件

我是直接在E盘运行git,拉到E:\PDF-Extract-Kit
注意:最后这个目录有11个多G

bash 复制代码
git lfs install # 安装 Git 大文件存储插件 (Git LFS) 
git lfs clone https://huggingface.co/wanderkid/PDF-Extract-Kit # 从 Hugging Face 下载 PDF-Extract-Kit 模型

模型下载后请务必检查模型文件是否下载完整,请检查目录下的模型文件大小与网页上描述是否一致,如果可以的话用certutil校验证一下。不校验应该没有问题。

3. 拷贝配置文件并进行配置

将项目拉到E盘

bash 复制代码
git https://github.com/opendatalab/MinerU.git

在MinerU当前目录下可以获得magic-pdf.template.json配置模版文件,执行以下命令将配置文件拷贝到【你的用户】目录下,否则程序将无法运行。例如:以下命令,将magic-pdf.template.json 复制到"C:\Users\你的用户名"下,并重命名为magic-pdf.json。

bash 复制代码
# PowerShell 中执行
cp magic-pdf.template.json C:\Users\你的用户名\magic-pdf.json

编辑magic-pdf.json文件,设置models目录,请正确配置模型权重文件所在目录的【绝对路径】,否则会因为找不到模型文件而导致程序无法运行。windows系统中此路径应包含盘符,且需把路径中所有的"\"替换为"/",否则会因为转义原因导致json文件语法错误。

例如:模型放在E:/PDF-Extract-Kit/models,则model-dir的值应为"E:/PDF-Extract-Kit/models"

json 复制代码
{
    "bucket_info":{
        "bucket-name-1":["ak", "sk", "endpoint"],
        "bucket-name-2":["ak", "sk", "endpoint"]
    },
    "models-dir":"E:/PDF-Extract-Kit/models",
    "device-mode":"cpu",
    "table-config": {
        "is_table_recog_enable": false, //表格识别默认关闭,如果需要可以true
        "max_time": 400
    }
}

接下来运行magic-pdf,这个可执行文件在MinerU虚拟环境的scripts下,运行magic-pdf --help可以查看帮助

shell 复制代码
magic-pdf --help
Usage: magic-pdf [OPTIONS]

Options:
  -v, --version                display the version and exit
  -p, --path PATH              local pdf filepath or directory  [required]
  -o, --output-dir TEXT        output local directory
  -m, --method [ocr|txt|auto]  the method for parsing pdf.  
                               ocr: using ocr technique to extract information from pdf,
                               txt: suitable for the text-based pdf only and outperform ocr,
                               auto: automatically choose the best method for parsing pdf
                                  from ocr and txt.
                               without method specified, auto will be used by default. 
  --help                       Show this message and exit.


## show version
magic-pdf -v

## command line example
magic-pdf -p {some_pdf} -o {some_output_dir} -m auto
## 其中 {some_pdf} 可以是单个pdf文件,也可以是一个包含多个pdf文件的目录。 运行完命令后输出的结果会保存在{some_output_dir}目录下,

例如:执行以下命令,将当前scripts目录下的demo.pdf 自动选择解析方式,输出到e:\pdf_totxt_out

cd D:\ProgramData\Anaconda3\envs\MinerU\scripts>
.\magic-pdf.exe -p .\demo.pdf -o e:\pdf_totxt_out -m auto

在本文中,我们探讨了使用 MinerU 项目将 PDF 文件转换为机器可读格式的有效方法。尽管由于电脑配置较低,转换过程可能会耗费较长时间,但该工具在解析效果方面表现良好,能够有效地提取信息并转换为实用的 Markdown 格式。这种转换方式不仅提升了文本的可读性,还为后续的数据处理与分析提供了便利。借助 MinerU,我们可以更轻松地从 PDF 文档中提取关键内容,从而大大增强了信息获取的效率。

相关推荐
凳子花❀1 分钟前
强化学习与深度学习以及相关芯片之间的区别
人工智能·深度学习·神经网络·ai·强化学习
泰迪智能科技012 小时前
高校深度学习视觉应用平台产品介绍
人工智能·深度学习
盛派网络小助手2 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
Eric.Lee20213 小时前
Paddle OCR 中英文检测识别 - python 实现
人工智能·opencv·计算机视觉·ocr检测
cd_farsight3 小时前
nlp初学者怎么入门?需要学习哪些?
人工智能·自然语言处理
AI明说3 小时前
评估大语言模型在药物基因组学问答任务中的表现:PGxQA
人工智能·语言模型·自然语言处理·数智药师·数智药学
Focus_Liu3 小时前
NLP-UIE(Universal Information Extraction)
人工智能·自然语言处理
PowerBI学谦3 小时前
使用copilot轻松将电子邮件转为高效会议
人工智能·copilot
audyxiao0013 小时前
AI一周重要会议和活动概览
人工智能·计算机视觉·数据挖掘·多模态