PDF文件转Markdown,基于开源项目marker

发布于:2025-03-24 ⋅ 阅读:(29) ⋅ 点赞:(0)

首先我们来问下deepseek

为啥要选marker呢

基于深度学习,一看就逼格拉满。搞科研必备,效果应该不会太差。

看下官网

https://github.com/VikParuchuri/marker

在这里插入图片描述

一看头像是个印度佬,自吹——又快又好。那就试试吧。

安装步骤

安装Anaconda

https://www.anaconda.com/docs/main
在这里插入图片描述

进入Anaconda

在这里插入图片描述

进入conda命令行

在这里插入图片描述

创建虚拟环境

conda create -n marker_env python=3.10  //  还未试过3.12,理论上3.12会向下兼容
 
conda env list //  查看创建的虚拟环境是否成功
 
conda activate marker_env  //  激活环境

安装系统级依赖

将conda的源替换为清华源

这里参照anaconda清华源的使用方法进行操作

  • 打开Anaconda Powershell Prompt(miniconda3),输入conda config --set show_channel_urls yes显示配置文件
  • 在C盘用户-用户名的文件夹中,找到.condarc文件,并用编辑器打开(参考路径:C:\Users<YourUserName>.condarc)
  • 将文件夹内容替换为以下内容并保存
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

Poppler(PDF解析工具):

下载地址:Releases · oschwartz10612/poppler-windows · GitHub
解压到 D:\Information_Technology\App\pdf2md_package(路径可自定义,建议把这一套全放一个文件夹)

Tesseract OCR(用于OCR识别):

下载地址:Home · UB-Mannheim/tesseract Wiki · GitHub
安装时勾选中文语言包,记住安装路径(如 D:\Information_Technology\App\pdf2md_package\Tesseract-OCR)

并添加到系统环境变量
在这里插入图片描述
查看是否Tesseract OCR是否安装成功,是否安装中文库
在这里插入图片描述
如上,安装成功

替换pip源

安装需要依赖pip(在Anaconda Powershell Prompt(conda3)下激活环境后进行)
通过以下命令替换为阿里源

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple

安装PyTorch、Marker

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

pip3 install torch torchvision torchaudio

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

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

pip install marker-pdf

模型下载配置

Marker运行时需下载预训练模型(如布局分割、OCR模型),默认从Hugging Face下载。国内用户可通过以下方式加速:

  1. 配置HF镜像源
    设置环境变量(临时生效):

    $env:HF_ENDPOINT = "https://hf-mirror.com"
    

    或永久生效:在系统环境变量中添加HF_ENDPOINT=https://hf-mirror.com

  2. 手动下载模型(可选)
    若自动下载失败,可从HF镜像站手动下载模型至本地路径(默认路径为~/.cache),参考项目文档中的模型列表。

执行marker_single 命令会自动下载模型到如下路径
模型自动下载的位置:

C:\Users\longz\AppData\Local\datalab\datalab\Cache\models 

在这里插入图片描述


测试文件转换

准备一个PDF文件,路径不含中文或空格

在这里插入图片描述

PDF转成Markdown测试 :

marker_single D:\Information_Technology\App\pdf2md_package\input_pdf\DeepSeek15天入门手册.pdf --languages eng+chi_sim --llm_service cpu --output_dir D:\Information_Technology\App\pdf2md_package\output_md

或者

marker_single D:\Information_Technology\App\pdf2md_package\input_pdf\2025-03-23_011328.pdf --llm_service cpu --output_dir D:\Information_Technology\App\pdf2md_package\output_md
命令的解释:
   --命令里没有其他博主的--batch_multiplier 2,有这个的都是有显卡的;

  -- marker_single:调用marker_single执行转换操作;
   
  -- D:\Information_Technology\App\pdf2md_package\input_pdf\DeepSeek15天入门手册.pdf:需要转换的文件的所在目录(可自定义);

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

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

   --output_dir:文件转换后的存放目录(可自定义)。

详细命令参数参考:https://github.com/VikParuchuri/marker?tab=readme-ov-file#benchmarks

看下效果

在这里插入图片描述

效果拉满,格式基本跟原文档一致,甚至更简洁美观。印度佬确实有一手

在这里插入图片描述
在这里插入图片描述