【maker-pdf 文档文字识别(包含ocr),安装使用完整教程】
本文介绍了使用marker-pdf工具进行PDF文本提取的步骤。首先通过conda创建python3.12虚拟环境并安装依赖,然后下载预训练模型。核心代码展示了如何使用PdfConverter转换PDF文件,提取文本内容并打印输出。该方法需要GPU加速处理大模型,所有模型权重会缓存在本地指定目录中。整个流程包括环境配置、模型下载和文本提取三个主要步骤,最终输出PDF文件的文本内容。
·
测试效果还比较好,比markitdown要好
安装环境
conda create -n maker-pdf python=3.12
conda activate marker-pdf
pip install modelscope
pip install marker-pdf -U
下载模型
- 建议用modelscope上缓存的模型,不然下载会很慢
from modelscope import snapshot_download
model_root = "models"
snapshot_download("Lixiang/marker-pdf", local_dir="models")
开始运行
- 初始化
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(),
)
- 推理pdf
rendered = converter("test.pdf")
# text = rendered.markdown
text, _, images = text_from_rendered(rendered)
print(text)
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)