README_zh-CN.md 5.56 KB
Newer Older
赵小蒙's avatar
赵小蒙 committed
1
2
3
<div id="top"></div>
<div align="center">

赵小蒙's avatar
赵小蒙 committed
4
5
6
7
[![stars](https://img.shields.io/github/stars/opendatalab/MinerU.svg)](https://github.com/opendatalab/MinerU)
[![forks](https://img.shields.io/github/forks/opendatalab/MinerU.svg)](https://github.com/opendatalab/MinerU)
[![license](https://img.shields.io/github/license/opendatalab/MinerU.svg)](https://github.com/opendatalab/MinerU/tree/main/LICENSE)
[![open issues](https://img.shields.io/github/issues-raw/opendatalab/MinerU)](https://github.com/opendatalab/MinerU/issues)
myhloli's avatar
myhloli committed
8
9
10
11
[![issue resolution](https://img.shields.io/github/issues-closed-raw/opendatalab/MinerU)](https://github.com/opendatalab/MinerU/issues)
[![PyPI version](https://badge.fury.io/py/magic-pdf.svg)](https://badge.fury.io/py/magic-pdf)
[![Downloads](https://static.pepy.tech/badge/magic-pdf)](https://pepy.tech/project/magic-pdf)
[![Downloads](https://static.pepy.tech/badge/magic-pdf/month)](https://pepy.tech/project/magic-pdf)
赵小蒙's avatar
赵小蒙 committed
12
13
14
15
16
17
18
19
20

[English](README.md) | [简体中文](README_zh-CN.md)

</div>

<div align="center">

</div>

赵小蒙's avatar
赵小蒙 committed
21
22
# MinerU 

赵小蒙's avatar
赵小蒙 committed
23

myhloli's avatar
myhloli committed
24
25
## 简介

赵小蒙's avatar
赵小蒙 committed
26
MinerU 是一款一站式、开源、高质量的数据提取工具,主要包含以下功能:
赵小蒙's avatar
赵小蒙 committed
27

赵小蒙's avatar
赵小蒙 committed
28
29
- [Magic-PDF](#Magic-PDF)  PDF文档提取
- [Magic-Doc](#Magic-Doc)  网页与电子书提取  
赵小蒙's avatar
赵小蒙 committed
30

赵小蒙's avatar
赵小蒙 committed
31
32
# Magic-PDF

赵小蒙's avatar
赵小蒙 committed
33

赵小蒙's avatar
赵小蒙 committed
34
## 简介
赵小蒙's avatar
赵小蒙 committed
35
36
37
38
39
40
41
42

Magic-PDF 是一款将 PDF 转化为 markdown 格式的工具。支持转换本地文档或者位于支持S3协议对象存储上的文件。

主要功能包含

- 支持多种前端模型输入
- 删除页眉、页脚、脚注、页码等元素
- 符合人类阅读顺序的排版格式
赵小蒙's avatar
赵小蒙 committed
43
- 保留原文档的结构和格式,包括标题、段落、列表等
赵小蒙's avatar
赵小蒙 committed
44
45
46
47
48
49
- 提取图像和表格并在markdown中展示
- 将公式转换成latex
- 乱码PDF自动识别并转换
- 支持cpu和gpu环境
- 支持windows/linux/mac平台

myhloli's avatar
myhloli committed
50

赵小蒙's avatar
赵小蒙 committed
51
https://github.com/opendatalab/MinerU/assets/11393164/618937cb-dc6a-4646-b433-e3131a5f4070
myhloli's avatar
myhloli committed
52
53


赵小蒙's avatar
update:  
赵小蒙 committed
54

赵小蒙's avatar
赵小蒙 committed
55
56
57
58
## 项目全景

![项目全景图](docs/images/project_panorama_zh_cn.png)

赵小蒙's avatar
赵小蒙 committed
59
60
## 流程图

61
62
63
64
![流程图](docs/images/flowchart_zh_cn.png)

### 子模块仓库

wangbinDL's avatar
wangbinDL committed
65
- [PDF-Extract-Kit](https://github.com/opendatalab/PDF-Extract-Kit) 
赵小蒙's avatar
赵小蒙 committed
66
  - 高质量的PDF内容提取工具包
赵小蒙's avatar
赵小蒙 committed
67

赵小蒙's avatar
赵小蒙 committed
68
## 上手指南
赵小蒙's avatar
赵小蒙 committed
69

赵小蒙's avatar
赵小蒙 committed
70
### 配置要求
赵小蒙's avatar
赵小蒙 committed
71

赵小蒙's avatar
赵小蒙 committed
72
python >= 3.9
赵小蒙's avatar
赵小蒙 committed
73

赵小蒙's avatar
赵小蒙 committed
74
### 使用说明
赵小蒙's avatar
赵小蒙 committed
75

赵小蒙's avatar
赵小蒙 committed
76
#### 1. 安装Magic-PDF
赵小蒙's avatar
赵小蒙 committed
77

赵小蒙's avatar
赵小蒙 committed
78
```bash
赵小蒙's avatar
赵小蒙 committed
79
pip install magic-pdf
赵小蒙's avatar
赵小蒙 committed
80
81
```

赵小蒙's avatar
赵小蒙 committed
82
#### 2. 通过命令行使用
赵小蒙's avatar
赵小蒙 committed
83

赵小蒙's avatar
赵小蒙 committed
84
###### 直接使用
赵小蒙's avatar
赵小蒙 committed
85

赵小蒙's avatar
赵小蒙 committed
86
```bash
赵小蒙's avatar
赵小蒙 committed
87
cp magic-pdf.template.json ~/magic-pdf.json
赵小蒙's avatar
赵小蒙 committed
88
89
magic-pdf pdf-command --pdf "pdf_path" --model "model_json_path"
```
赵小蒙's avatar
赵小蒙 committed
90
程序运行完成后,你可以在"/tmp/magic-pdf"目录下看到生成的markdown文件
赵小蒙's avatar
赵小蒙 committed
91

赵小蒙's avatar
赵小蒙 committed
92
###### 更多用法
赵小蒙's avatar
赵小蒙 committed
93

赵小蒙's avatar
赵小蒙 committed
94
95
96
97
```bash
magic-pdf --help
```

赵小蒙's avatar
赵小蒙 committed
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#### 3. 通过接口调用

###### 本地使用
```python
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")
```

###### 在对象存储上使用
```python
s3pdf_cli = S3ReaderWriter(pdf_ak, pdf_sk, pdf_endpoint)
image_dir = "s3://img_bucket/"
s3image_cli = S3ReaderWriter(img_ak, img_sk, img_endpoint, parent_path=image_dir)
pdf_bytes = s3pdf_cli.read(s3_pdf_path, mode=s3pdf_cli.MODE_BIN)
jso_useful_key = {"_pdf_type": "", "model_list": model_json}
pipe = UNIPipe(pdf_bytes, jso_useful_key, s3image_cli)
pipe.pipe_classify()
pipe.pipe_parse()
md_content = pipe.pipe_mk_markdown(image_dir, drop_mode="none")
```

124
详细实现可参考 [demo.py](demo/demo.py)
赵小蒙's avatar
赵小蒙 committed
125

myhloli's avatar
myhloli committed
126

赵小蒙's avatar
赵小蒙 committed
127
128
# Magic-Doc

赵小蒙's avatar
赵小蒙 committed
129

myhloli's avatar
myhloli committed
130
131
## 简介

赵小蒙's avatar
赵小蒙 committed
132
133
134
135
136
137
138
139
140
141
142
143
144
Magic-Doc 是一款支持将网页或多格式电子书转换为 markdown 格式的工具。

主要功能包含
 
- Web网页提取
  - 跨模态精准解析图文、表格、公式信息

- 电子书文献提取
  - 支持 epub,mobi等多格式文献,文本图片全适配

- 语言类型鉴定
  - 支持176种语言的准确识别

myhloli's avatar
myhloli committed
145
146
147
148
149
150
https://github.com/opendatalab/MinerU/assets/11393164/a5a650e9-f4c0-463e-acc3-960967f1a1ca



https://github.com/opendatalab/MinerU/assets/11393164/0f4a6fe9-6cca-4113-9fdc-a537749d764d

赵小蒙's avatar
赵小蒙 committed
151
152


myhloli's avatar
myhloli committed
153
https://github.com/opendatalab/MinerU/assets/11393164/20438a02-ce6c-4af8-9dde-d722a4e825b2
赵小蒙's avatar
赵小蒙 committed
154
155


myhloli's avatar
myhloli committed
156

赵小蒙's avatar
赵小蒙 committed
157

myhloli's avatar
myhloli committed
158
## 项目仓库
myhloli's avatar
myhloli committed
159

赵小蒙's avatar
赵小蒙 committed
160
- [Magic-Doc](https://github.com/InternLM/magic-doc)
myhloli's avatar
myhloli committed
161
  优秀的网页与电子书提取工具
赵小蒙's avatar
赵小蒙 committed
162

赵小蒙's avatar
赵小蒙 committed
163

赵小蒙's avatar
赵小蒙 committed
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
## 感谢我们的贡献者

<a href="https://github.com/magicpdf/Magic-PDF/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=opendatalab/MinerU" />
</a>


## 版权说明

[LICENSE.md](LICENSE.md)

本项目目前采用PyMuPDF以实现高级功能,但因其遵循AGPL协议,可能对某些使用场景构成限制。未来版本迭代中,我们计划探索并替换为许可条款更为宽松的PDF处理库,以提升用户友好度及灵活性。


## 致谢
- [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)
- [PyMuPDF](https://github.com/pymupdf/PyMuPDF)
赵小蒙's avatar
赵小蒙 committed
181
182
- [fast-langdetect](https://github.com/LlmKira/fast-langdetect)
- [pdfminer.six](https://github.com/pdfminer/pdfminer.six)
赵小蒙's avatar
赵小蒙 committed
183
184


赵小蒙's avatar
赵小蒙 committed
185
186
187
188
189
190
191
192
193
194
195
# 引用

```bibtex
@misc{2024mineru,
    title={MinerU: A One-stop, Open-source, High-quality Data Extraction Tool},
    author={MinerU Contributors},
    howpublished = {\url{https://github.com/opendatalab/MinerU}},
    year={2024}
}
```

赵小蒙's avatar
赵小蒙 committed
196
  
赵小蒙's avatar
赵小蒙 committed
197
# Star History
赵小蒙's avatar
赵小蒙 committed
198

赵小蒙's avatar
赵小蒙 committed
199
200
201
202
203
204
205
<a>
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=opendatalab/MinerU&type=Date&theme=dark" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=opendatalab/MinerU&type=Date" />
   <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=opendatalab/MinerU&type=Date" />
 </picture>
</a>