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 文档中提取关键内容,从而大大增强了信息获取的效率。

相关推荐
班德先生8 小时前
以全案策划设计思维破局,让电器科技品牌力落地生根
大数据·人工智能·科技
ujainu8 小时前
CANN仓库中的AIGC确定性推理工程:昇腾AI软件栈如何在混沌中构建“可预测的智能”
人工智能·aigc
咕泡科技8 小时前
架构演进:从确定性工作流 (Workflow) 到自主智能体 (LLM Agent)
人工智能·架构
love530love8 小时前
【高阶编译】Windows 环境下强制编译 Flash Attention:绕过 CUDA 版本不匹配高阶指南
人工智能·windows·python·flash_attn·flash-attn·flash-attention·定制编译
DeniuHe8 小时前
Pytorch中的众数
人工智能·pytorch·python
我材不敲代码8 小时前
机器学习入门 04逻辑回归part2——提高逻辑回归模型的召回率
人工智能·机器学习·逻辑回归
池央8 小时前
CANN 算子合规性与迁移性:自定义算子设计中的安全边界与属性兼容性
人工智能·自动化·信号处理
新缸中之脑8 小时前
开发AI代理必备的8个Python 库
开发语言·人工智能·python
小白|8 小时前
高效AI推理引擎实战:基于CANN的自定义算子开发与性能调优
人工智能·架构
彬鸿科技8 小时前
bhSDR Studio/Matlab入门指南(五):8通道PSK图传收发实验界面全解析
人工智能·软件无线电·sdr