在windows10上基于Python部署marker,实现PDF转markdown文件(保姆级)

前言

网上冲浪了五天,查阅了200+blog,与deepseek对话battle了八次,解决不了问题,我就看源码你,没想到,还真解决了问题,实现了预期目标。

win环境下部署与Linux等其他系统环境不同,我个人的电脑也没有安装NVIDIA显卡,以下所用的插件版本会在文中列出。

一、准备工作

  1. 安装 Miniconda

  2. 安装系统级依赖

    • Poppler (PDF解析工具):
      • 下载地址:Releases · oschwartz10612/poppler-windows · GitHub
      • 解压到 G:\pdf2md_package(路径可自定义,建议把这一套全放一个文件夹) 或其他无空格路径,将 G:\pdf2md_package\poppler2408\Library\bin 添加到系统PATH
      • 这是我安装后的path。
    • Tesseract OCR (可选,用于OCR识别):

二、创建虚拟环境

bash 复制代码
conda create -n marker_env python=3.10  //  还未试过3.12,理论上3.12会向下兼容

conda env list //  查看创建的虚拟环境是否成功

conda activate marker_env  //  激活环境

三、安装 PyTorch、Marker

1、安装PyTorch(CPU版本,无显卡用户用此命令):

复制代码
pip3 install torch torchvision torchaudio

有显卡的、可以在官网上的Start Locally | PyTorch,根据自己电脑的配置,选择后在箭头处复制语句后执行。(我的是图中这条命令行)

2、安装Marker,耐心等待插件安装。

复制代码
pip install marker-pdf

四、测试文件转换

  1. 准备一个PDF文件,路径不含中文或空格,如 G:\a.pdf

  2. 我的文件夹布局如图。

  3. 执行转换命令:

    marker_single G:\a.pdf --languages eng+chi_sim --llm_service cpu --output_dir G:\aaa

命令的解释:

命令里没有其他博主的--batch_multiplier 2,有这个的都是有显卡的;

marker_single:调用marker_single执行转换操作;

G:\a.pdf:需要转换的文件的所在目录(可自定义);

--languages eng+chi_si:设置语言,可查官网或帮助,支持的语言还是有蛮多的;

--llm_service cpu:强制使用CPU,也可以不加此句;

--output_dir:此句最关键,在新版本的环境部署中,marker_single命令的入参形式有了变化,此前多位博主的测试语句是(marker_single G:\a.pdf G:\aaa --batch_multiplier 2 --max_pages 10),我试过多次都报错,奇奇怪怪的错误一堆,让我白花了三天时间。通过执行marker_single --help,看入参说明,看到一个output_dir,就去测试,转换后文件的存放目录,需要通过output_dir指定,而不是这样G:\a.pdf G:\aaa,紧跟着需要转换文件路径的后面。

G:\aaa:文件转换后的存放目录(可自定义)。

给我启发的几篇blog

如果以上步骤未能成功,建议看下以下几篇blog,也许能带来启发,解决问题。

Windows安装Marker_marker安装-CSDN博客

Marker把PDF转换成markdown格式输出_marker-pdf-CSDN博客

Miniconda在Windows上的安装与使用_miniconda windows-CSDN博客

marker-pdf遇到hugging face网络问题的解决_marker huggingface-CSDN博客

一个好用的小工具 | 将PDF转换为Markdown格式-CSDN博客

AI模型部署:Triton+Marker部署PDF转markdown服务_marker-pdf-CSDN博客

相关推荐
DevOpenClub2 小时前
PPT 转高精度 PDF API 接口
pdf·powerpoint
想太多会累i8 小时前
Spring Boot 使用Itext绘制并导出PDF
spring boot·pdf
zixingcai16 小时前
Adobe Acrobat pro在一份PDF中插入空白页
pdf·adobe acrobat reader
課代表16 小时前
AcroForm JavaScript Promise 对象应用示例: 异步加载PDF文件
开发语言·javascript·pdf·promise·对象
charlie11451419116 小时前
基于Qt6 + MuPDF在 Arm IMX6ULL运行的PDF浏览器——MuPDF Adapter文档
arm开发·qt·学习·pdf·教程·设计·qt6
东风西巷20 小时前
MobiPDF:安卓设备上的专业PDF阅读与编辑工具
android·智能手机·pdf·软件需求
离别又见离别1 天前
java实现根据Velocity批量生成pdf并合成zip压缩包
java·pdf
appleคิดถึง1 天前
wps excel将表格输出pdf时所有列在一张纸上
pdf·excel·wps
开开心心就好2 天前
高效全能PDF工具,支持OCR识别
java·前端·python·pdf·ocr·maven·jetty
yngsqq2 天前
JPG与PDF格式转换器
pdf