当前位置: 首页 > backend >正文

MinerU可视化界面程序部署(Windows环境)

前提是要安装好MinerU,才能部署可视化程序(这个可视化程序的源码是MinerU自带的),安装MinerU的步骤参考:

MinerU安装(pdf转markdown、json)-CSDN博客

下面进行可视化界面的部署操作(在Windows环境部署):

前端程序打包

MinerU安装好之后,打开vscode

进入到项目 \MinerU\projects\web路径下面(这是前端项目,代码是react程序)

执行打包命令,将前端程序打包

npm run build

打包完成,会生成dist目录

前端项目不需要部署,只需要打包生成dist目录及其文件就可以了,因为后端服务会自动引用前端的dist目录中的文件。

后端服务启动

启动方式1:bat脚本启动

新建MinerU.bat,内容如下:

@echo off
chcp 65001 > nulREM 进入工作目录
setlocal enabledelayedexpansion
cd /d %~dp0REM 激活名为mineru的conda环境
call conda.bat activate mineru
echo Conda 环境激活成功REM 启动程序
python app.py
endlocal

将这个bat文件,放项目MinerU\projects\web_demo\web_demo 目录下面,双击执行即可直接启动项目,文件所在位置如下:

方式2:Windows服务方式启动

后端服务(源码是Python),用WinSW工具,将其改为Windows服务的形式启动。

下载WinSW的exe文件,下载地址:

Releases · winsw/winsw · GitHub

下载后是这样:

把文件名称改为MinerUService.exe

新建bat脚本文件MinerU.bat 内容为:

@echo off
chcp 65001 > nulREM 进入工作目录
setlocal enabledelayedexpansion
cd /d %~dp0REM 激活名为mineru的conda环境
call conda.bat activate mineru
echo Conda 环境激活成功REM 启动程序
python app.py
endlocal

说明:这里的canda不是必须的,因为我本地使用了canda,并且Python程序要在canda的mineru这个环境下面跑才不会报错,所用到的Python包,都是安装在名称为mineru的虚拟环境中。

新建WinSW的配置文件,名字需要与WinSW.exe修改后的名称相同(用来定义服务的相关信息):MinerUService.yml 内容为:

id: mineru-service
name: MinerU后台服务
description: MinerU后台启动Python服务
executable: D:\ProgramData\MinerU\projects\web_demo\web_demo\MinerU.bat 

id、name、description均是用来描述服务的信息,最后一行配置的是bat文件的路径。

将MinerUService.exe、MinerU.bat、MinerUService.yml,三个文件,放到MinerU\projects\web_demo\web_demo路径下面,如图所示:

打开cmd命令行窗口,进入到 MinerU\projects\web_demo\web_demo 路径下面,执行服务的安装命令

.\MinerUService.exe install

安装好之后,启动服务

.\MinerUService.exe start

整体执行过程如下:

此时,在服务列表里面,就可以看到刚才安装的MinerU启动服务的信息:

系统环境变量配置

需要新增一个系统环境变量,因为程序代码中会用到这个环境变量,如果不配置,程序启动会报错。

名称:MINERU_TOOLS_CONFIG_JSON

值:C:\Users\joshq\magic-pdf.json

值对应的路径是mineru安装后,自动生成的一个配置文件地址,一般在C盘,用户目录中,以我自己的电脑为例,路径如下:

服务安装过程中如果出错,可以看log文件里面的信息,err里面记录的是错误信息:

MinerU访问:

可以通过 ip: 5559,进行访问(后端服务默认5559端口):

http://www.xdnf.cn/news/7753.html

相关文章:

  • HarmonyOS5云服务技术分享--退出登录文档问题
  • Jenkins安装和配置
  • 无人机精准降落与避障模块技术解析
  • ZYNQ Cache一致性问题解析与实战:从原理到创新优化
  • SAGE:基于SAM进行二级蒸馏的多模态图像融合新方法,CVPR2025
  • 测试概念
  • 嵌入式项目之交叉编译m2440篇
  • 基于望获操作系统的具身智能人形机器人典型应用案例
  • CompleteableFuture的异步任务编排
  • python读写bin文件
  • 《算法笔记》11.7小节——动态规划专题->背包问题 问题 C: 货币系统
  • SCAU18923--二叉树的直径
  • NC65联查单据问题总结
  • 宽带卫星通信介绍
  • 今日行情明日机会——20250520
  • 基于双通道频谱分析的振动信号故障诊断1
  • 波峰波谷策略
  • 野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(三)用yolov5-face算法实现人脸检测
  • 【BIO、NIO、AIO的区别?】
  • 【嵌入式】I2S音频接口3分钟入门
  • 独热编码笔记
  • 字符画生成(伟大的CSDN)
  • windows安装WS,实测可行
  • 2.4.1死锁的概念
  • 中小型制造业信息化战略规划指南
  • SpringBoot 自动配置
  • 【课堂笔记】指数族与广义线性模型(GLMs)
  • zipkin+micrometer实现链路追踪
  • Java 01简单集合
  • Vue3——Pinia