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

embedded/2025/3/30 3:44:43/
aidu_pl">

首先我们来问下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/cloudpytorch: 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

看下效果

在这里插入图片描述

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

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


http://www.ppmy.cn/embedded/176934.html

相关文章

Go语言实现抖音视频下载器

&#x1f680; Go语言实现抖音视频下载器&#xff08;完整代码讲解&#xff09; 下面是一篇完整的抖音视频下载工具的实现及说明。该工具采用 Go 语言 编写&#xff0c;支持提取 无水印视频、自动重试机制 和 保存本地功能&#xff0c;并通过多种方式保障视频链接获取的成功率…

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)

文章目录 1、问题描述2、问题推测3、解决方法3.1 selenium自动启动浏览器3.2 selenium接管已启动的浏览器3.3 区别总结4、代码实战4.1 手动方法(手动打开浏览器输入账号密码)4.2 自动方法(.bat文件启动的浏览器)1、问题描述 使用selenium自动化测试爬取pdd的时候,通过携带…

docker-操作实战

前言 C镜像制作 因为我平常不用&#xff0c;所以不书写了 SpringBoot 微服务镜像制作 mkdir java ca java cp /data/maxhou/myapp/xxx.jar . vi Dockerfile FROM openjdk:8 COPY ./xxx.jar /app.jar CMD ["java","-jar","/app.jar"]COPY ./…

k8s中的认证授权

一 kubernetes API 访问控制 Authentication&#xff08;认证&#xff09; 认证方式现共有8种&#xff0c;可以启用一种或多种认证方式&#xff0c;只要有一种认证方式通过&#xff0c;就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式…

破解PDF转Word难题:如何选择高效、安全的转换工具?

破解PDF转Word难题&#xff1a;如何选择高效、安全的转换工具&#xff1f; 在当今的数字化工作环境中&#xff0c;PDF文件的使用无处不在。无论是合同、报告&#xff0c;还是学术论文、营销材料&#xff0c;PDF凭借其在不同设备上保持统一格式的优势&#xff0c;成为了许多场景…

msyql--基本操作之运维篇

检查 root 用户的权限 查看该用户针对这个数据库的权限 -- 如果在终端连接mysql时需要 mysql -u root -p -- 查看用户权限 SELECT user, host FROM mysql.user WHERE user root;可以看的出来root有他的访问权限&#xff0c;如过没有localhost或者% 说明没有访问权限 添加…

【微服务】SpringCloudGateway网关

目录 ✅需求的产生 ✅什么是网关&#xff1f; ✅快速入门 ✅创建新版块 ✅引入网关依赖 ✅编写启动类 ✅配置路由规则 ✅测试 ✅总结 ✅需求的产生 上篇文章 【SpringCloud】微服务的治理以及服务间的远程调用-CSDN博客 我们认识了什么是微服务以及微服务架构…

【vue】warning:Avoid mutating a prop directly

Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop’s value. Prop being mutated: “placement” 某天&#xff0c;发现项目中某个页面一直有这个…