"examples/trials/mnist-pytorch/config.yml" did not exist on "a587648999af697474fc48aff00b870736bfd618"
README_zh-CN.md 3.16 KB
Newer Older
赵小蒙's avatar
赵小蒙 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div id="top"></div>
<div align="center">

[![stars](https://img.shields.io/github/stars/magicpdf/Magic-PDF.svg)](https://github.com/magicpdf/Magic-PDF)
[![forks](https://img.shields.io/github/forks/magicpdf/Magic-PDF.svg)](https://github.com/magicpdf/Magic-PDF)
[![license](https://img.shields.io/github/license/magicpdf/Magic-PDF.svg)](https://github.com/magicpdf/Magic-PDF/tree/main/LICENSE)
[![issue resolution](https://img.shields.io/github/issues-closed-raw/magicpdf/Magic-PDF)](https://github.com/magicpdf/Magic-PDF/issues)
[![open issues](https://img.shields.io/github/issues-raw/magicpdf/Magic-PDF)](https://github.com/magicpdf/Magic-PDF/issues)

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

</div>

<div align="center">

</div>

# Magic-PDF

赵小蒙's avatar
赵小蒙 committed
20
## 简介
赵小蒙's avatar
赵小蒙 committed
21
22
23
24
25
26
27
28

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

主要功能包含

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

myhloli's avatar
myhloli committed
36
37
38
39

https://github.com/magicpdf/Magic-PDF/assets/11393164/618937cb-dc6a-4646-b433-e3131a5f4070


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

赵小蒙's avatar
赵小蒙 committed
41
42
43
44
## 项目全景

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

赵小蒙's avatar
赵小蒙 committed
45
46
## 流程图

47
48
49
50
51
52
53
![流程图](docs/images/flowchart_zh_cn.png)

### 子模块仓库

- [pdf-extract-kit](https://github.com/wangbinDL/pdf-extract-kit)
- [Miner-PDF-Benchmark](https://github.com/opendatalab/Miner-PDF-Benchmark)

赵小蒙's avatar
赵小蒙 committed
54

赵小蒙's avatar
赵小蒙 committed
55
## 上手指南
赵小蒙's avatar
赵小蒙 committed
56

赵小蒙's avatar
赵小蒙 committed
57
### 配置要求
赵小蒙's avatar
赵小蒙 committed
58
59
60

python 3.9+

赵小蒙's avatar
赵小蒙 committed
61
### 使用说明
赵小蒙's avatar
赵小蒙 committed
62

赵小蒙's avatar
赵小蒙 committed
63
#### 1. 安装Magic-PDF
赵小蒙's avatar
赵小蒙 committed
64
```bash
赵小蒙's avatar
赵小蒙 committed
65
pip install magic-pdf
赵小蒙's avatar
赵小蒙 committed
66
67
```

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

赵小蒙's avatar
赵小蒙 committed
70
71
72
73
74
75
###### 直接使用
```bash
cp magic-pdf.template.json to ~/magic-pdf.json
magic-pdf pdf-command --pdf "pdf_path" --model "model_json_path"
```
###### 更多用法
赵小蒙's avatar
赵小蒙 committed
76
77
78
79
```bash
magic-pdf --help
```

赵小蒙's avatar
赵小蒙 committed
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#### 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")
```

详细实现可参考 [demo.py](https://github.com/magicpdf/Magic-PDF/blob/master/demo/demo.py)

## 版权说明
赵小蒙's avatar
赵小蒙 committed
109
110
111

[LICENSE.md](https://github.com/magicpdf/Magic-PDF/blob/master/LICENSE.md)

赵小蒙's avatar
赵小蒙 committed
112
## 鸣谢
赵小蒙's avatar
赵小蒙 committed
113
114
115
116
- [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)
- [PyMuPDF](https://github.com/pymupdf/PyMuPDF)