【maker-pdf 文档文字识别(包含ocr),安装使用完整教程】

测试效果还比较好,比markitdown要好

安装环境

bash 复制代码
conda create -n maker-pdf python=3.12
conda activate marker-pdf
pip install modelscope
pip install marker-pdf -U

下载模型

python 复制代码
from modelscope import snapshot_download

model_root = "models"
snapshot_download("Lixiang/marker-pdf", local_dir="models")

开始运行

python 复制代码
from marker.converters.pdf import PdfConverter
from marker.models import create_model_dict
from marker.output import text_from_rendered
from surya.settings import settings

## 权重地址,模型很大,没GPU的话会很慢
model_root = "models"
settings.MODEL_CACHE_DIR = model_root
for chectpoint in [
    "LAYOUT_MODEL_CHECKPOINT",
    "DETECTOR_MODEL_CHECKPOINT",
    "OCR_ERROR_MODEL_CHECKPOINT",
    "TABLE_REC_MODEL_CHECKPOINT",
    "RECOGNITION_MODEL_CHECKPOINT",
]:
    value = getattr(settings, chectpoint)
    if "s3://" in value:
	    value = value.replace("s3://", "/")
	    setattr(settings, chectpoint, model_root + value)

converter = PdfConverter(
    artifact_dict=create_model_dict(),
)
rendered = converter("test.pdf")
# text = rendered.markdown
text, _, images = text_from_rendered(rendered)
print(text)
相关推荐
做怪小疯子3 小时前
华为笔试0429
python·numpy
Warson_L3 小时前
Dictionary
python
寒山李白5 小时前
解决 python-docx 生成的 Word 文档打开时弹出“无法读取内容“警告
python·word·wps·文档·docx·qoder
2401_832365526 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
Sirius.z6 小时前
第J3周:DenseNet121算法详解
python
2301_779622417 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_766283447 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
小康小小涵8 小时前
基于ESP32S3实现无人机RID模块底层源码编译
linux·开发语言·python
lzjava20248 小时前
Python的函数
开发语言·python
Awesome Baron9 小时前
skill、tool calling、MCP区别
开发语言·人工智能·python