首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[python]MinerU的python接口使用例子

[python]MinerU的python接口使用例子

作者头像
云未归来
发布2025-07-22 13:22:08
发布2025-07-22 13:22:08
4180
举报

参考官方例子:mineru.readthedocs.io/en/latest/user_guide/quick_start/to_markdown.html

本地文件例子:

代码语言:javascript
复制
import os

from magic_pdf.data.data_reader_writer import FileBasedDataWriter, FileBasedDataReader
from magic_pdf.config.make_content_config import DropMode, MakeMode
from magic_pdf.pipe.OCRPipe import OCRPipe


## args
model_list = []
pdf_file_name = "abc.pdf"  # replace with the real pdf path


## prepare env
local_image_dir, local_md_dir = "output/images", "output"
os.makedirs(local_image_dir, exist_ok=True)

image_writer, md_writer = FileBasedDataWriter(local_image_dir), FileBasedDataWriter(
    local_md_dir
)
image_dir = str(os.path.basename(local_image_dir))

reader1 = FileBasedDataReader("")
pdf_bytes = reader1.read(pdf_file_name)   # read the pdf content


pipe = OCRPipe(pdf_bytes, model_list, image_writer)

pipe.pipe_classify()
pipe.pipe_analyze()
pipe.pipe_parse()

pdf_info = pipe.pdf_mid_data["pdf_info"]


md_content = pipe.pipe_mk_markdown(
    image_dir, drop_mode=DropMode.NONE, md_make_mode=MakeMode.MM_MD
)

if isinstance(md_content, list):
    md_writer.write_string(f"{pdf_file_name}.md", "\n".join(md_content))
else:
    md_writer.write_string(f"{pdf_file_name}.md", md_content)

S3文件例子:

代码语言:javascript
复制
import os

from magic_pdf.data.data_reader_writer import S3DataReader, S3DataWriter
from magic_pdf.config.make_content_config import DropMode, MakeMode
from magic_pdf.pipe.OCRPipe import OCRPipe

bucket_name = "{Your S3 Bucket Name}"  # replace with real bucket name
ak = "{Your S3 access key}"  # replace with real s3 access key
sk = "{Your S3 secret key}"  # replace with real s3 secret key
endpoint_url = "{Your S3 endpoint_url}"  # replace with real s3 endpoint_url


reader = S3DataReader('unittest/tmp/', bucket_name, ak, sk, endpoint_url)  # replace `unittest/tmp` with the real s3 prefix
writer = S3DataWriter('unittest/tmp', bucket_name, ak, sk, endpoint_url)
image_writer = S3DataWriter('unittest/tmp/images', bucket_name, ak, sk, endpoint_url)

## args
model_list = []
pdf_file_name = f"s3://{bucket_name}/{fake pdf path}"  # replace with the real s3 path

pdf_bytes = reader.read(pdf_file_name)  # read the pdf content


pipe = OCRPipe(pdf_bytes, model_list, image_writer)

pipe.pipe_classify()
pipe.pipe_analyze()
pipe.pipe_parse()

pdf_info = pipe.pdf_mid_data["pdf_info"]

md_content = pipe.pipe_mk_markdown(
    "unittest/tmp/images", drop_mode=DropMode.NONE, md_make_mode=MakeMode.MM_MD
)

if isinstance(md_content, list):
    writer.write_string(f"{pdf_file_name}.md", "\n".join(md_content))
else:
    writer.write_string(f"{pdf_file_name}.md", md_content)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档