UMI 命令行手册

news2024/11/22 15:27:26

Translate to English

  • 命令行手册: README_CLI.md
  • HTTP接口手册: README_HTTP.md

命令行手册

基础说明

命令行调用入口就是主程序 Umi-OCR.exe 。如果你使用的是备用启动器(如UmiOCR-data/RUN_GUI.bat),可能无法使用命令行。

Umi-OCR-全局页-服务.png

如上图,必须允许HTTP服务才能使用命令行(默认开启)。主机选择 仅本地 就行了。

Umi-OCR 依赖HTTP接口进行跨进程通信,将你输入的命令行指令传递给后台的Umi-OCR处理进程。通信过程仅在系统内部的本地环回进行,不会泄露到外部(不经过物理网卡),请放心使用。

获取说明umi-ocr --help

软件操控指令

弹出主窗口umi-ocr --show

隐藏主窗口umi-ocr --hide

关闭软件umi-ocr --quit

OCR指令

鼠标截屏umi-ocr --screenshot

范围截屏(无需鼠标划选) 自动对指定屏幕、指定区域进行截屏。

范围截屏 指令:

umi-ocr --screenshot screen=0 rect=x,y,w,h

范围截屏控制参数:

  • screen: 要截图的显示器编号(多个显示器时有效),从0开始。缺省为0。
  • rect: 截图范围矩形框,x坐标,y坐标,w宽度,h高度。缺省为全屏。

注意:

  • 这两个参数的前面无需加--
  • 这两个参数至少要填一个,才能触发范围截图。没有任一参数时,执行鼠标截屏。

示例1:截取第1个显示器的全屏

umi-ocr --screenshot screen=0

示例2:截取第2个显示器,从左上角 (50,100) 开始,大小为 300x200 的矩形区域

umi-ocr --screenshot screen=1 rect=50,100,300,200

示例3:与 HotkeysCMD 工具配合,实现点击 快捷键 进行范围截图。

向 HotkeysCMD 的配置文件中添加这一行,表示点击 F10 时进行范围截图:

F10 umi-ocr --screenshot screen=0 rect=50,100,300,200

更多快捷键定义方式,详见 HotkeysCMD 文档。

粘贴图片umi-ocr --clipboard

指定路径umi-ocr --path "D:/xxx.png"

  • 可传入文件夹的路径。将搜索文件夹中所有图片(包括嵌套子文件夹),并输出所有识别结果。
  • 可传入多个路径。请用双引号""包裹单个路径,不同路径间用空格 隔开。

指定多个路径 示例:umi-ocr --path "D:/img1.png" "D:/img2.png" "D:/image/test"

提示:

  • 多图识别时,耗时较长;一次命令结束前不要输入下一个命令。
  • 对于截屏、粘贴、路径指令,OCR参数(如识别语言,是否复制到剪贴板、是否弹出主窗口)采用截图OCR标签页的设定。如果不希望命令行任务弹出主窗口,请在截图OCR标签页中关闭该选项。

二维码指令

识别二维码umi-ocr --qrcode_read "D:/xxx.png"

  • 与OCR指令一致,二维码识别的指令也支持传入多个图片&文件夹路径。

生成二维码umi-ocr --qrcode_create "文本内容" "D:/输出图片.jpeg"

  • 默认的图片宽高为最小适配长度。也可以在指令后方加上数字,手动指定图片宽高:

例,同时指定宽高为128像素:umi-ocr --qrcode_create "文本内容" "D:/输出图片.jpeg" 128

例,宽128,高256像素:umi-ocr --qrcode_create "文本内容" "D:/输出图片.jpeg" 128 256

关于指令简写

  • 所有指令支持用前几个字母替代,如--screenshot--clipboard可以分别简写为--sc--clipbo。具体可自己尝试。
  • 对于大部分系统,支持使用小写文件名+省略.exe来调用程序。即 umi-ocr --sc 等价于 Umi-OCR.exe --sc

命令行结果输出

  • 复制到剪贴板 --clip
  • 输出到文件(覆盖) --output "file.txt"
  • 输出到文件(追加) --output_append "file.txt"

也可以使用箭头符号:

  • "-->" 等价于 --output
  • "-->>" 等价于 --output_append

例:

umi-ocr --screenshot --clip
umi-ocr --screenshot --output test.txt
umi-ocr --screenshot "-->" test.txt

注:由于运行环境的一些限制,Umi-OCR 暂时无法重定向输出流,系统管道重定向符>、管道操作符|可能失效。
如果需要用程序 调用命令行指令,但是发现无法收到回传,可使用 HTTP转发命令行 代替。


高级指令

(仅供有经验的开发者使用)

高级指令代表了一种无限的可能性(笑),允许通过命令行调用任意标签页(模块)上的任意函数。但是用法比较复杂,你需要在一定程度上阅读本项目源码才能知道该调用哪个函数、传入什么参数。

页面指令

“页面模板”相当于收藏夹,可以从收藏夹中打开一个新页面。
“已打开的页面”可以关闭。

查询当前已打开的页面,及所有页面模板:可以获取 [index]

umi-ocr --all_pages

创建新标签页:[index] 为页面模板序号

umi-ocr --add_page [index]

删除已创建的标签页:[index] 为现有页面序号

umi-ocr --del_page [index]

模块指令

每个标签页,通常会具有两个模块,一个是py,一个是qml。还可能会有一些不依附于标签页的独立py或qml模块。
每个模块上都有一些函数可以被调用。
模块名 [name] 允许简写,如一个模块全称是 “ScreenshotOCR_1” ,那么可用 “ScreenshotOCR” 来代替。
每次程序运行,模块名(的后缀)不一定相同。请使用简写来忽略后缀。

查询当前存在的py和qml模块:可获取 [name]

umi-ocr --all_modules

函数指令

查询某个py模块上有什么可调用的函数: [name] 为模块名

umi-ocr --call_py [name]

查询某个qml模块上有什么可调用的函数: [name] 为模块名

umi-ocr --call_qml [name]

调用py模块上的函数:

  • [name] 为模块名,[function] 为函数名。 […paras] 为任意个参数。
  • paras 输入字符串。会根据文本结构,自动转为4种变量类型: intfloatlistdict
umi-ocr --call_py [name] --func [function] [..paras]

调用qml模块上的函数:

umi-ocr --call_qml [name] --func [function] [..paras]

示例,调用二维码页qml模块的路径扫码函数,传入路径列表:

umi-ocr --call_qml QRCode --func scanPaths '[\"D:/Pictures/Screenshots/test/二维码/1111.png\",\"D:/Pictures/Screenshots/test/二维码/2222.png\"]'

同步调用函数

命令行解析器运行在子线程。为了确保线程安全,默认转到主线程执行命令。所以对于你来说就是异步执行的了,即无法取得函数的返回值。
如果要获取函数返回值,可传入 --thread 指令,同步执行命令。
这种操作较不安全,可能导致功能不正常甚至程序崩溃。

umi-ocr --call_qml [name] --func [function] --thread [..paras]

高级指令示例:

示例目标:将一些PDF文档添加到软件,生成双层可搜索PDF。

做法:

1. (可选)如果当前没有打开批量文档标签页,那么打开它:
  • 1.1. 查询当前所有页面模板:
umi-ocr --all_pages
  • 1.2. 已知BatchDOC标签页的 template_index3。创建该标签页:
umi-ocr --add_page 3
  • 1.3. 检查 BatchDOC 模块是否已存在:
umi-ocr --all_modules
  • 发现在Qml modules中,已存在 BatchDOC_1 ,那么就是正确的。
2. 将多个文档的路径,输入软件:
  • 假设想要添加以下的文件:
C:\Users\My\Desktop\111.epub
C:\Users\My\Desktop\222.pdf
  • 使用以下指令,输入文档路径:(路径中\需要改为/
umi-ocr --call_qml BatchDOC --func addDocs '[ \"C:/Users/My/Desktop/111.epub\", \"C:/Users/My/Desktop/222.pdf\"]'

关于addDocs后面路径参数的格式:

  • 在 Powershell 中,最外层为单引号',且左双引号前面必须有空格。即:'[■\"path_1\",■\"path_2\",■\"path_3\"]' (将替换为空格 )。单个路径为'[■\"路径1\"]'
  • 在 Terminal (终端)中,最外层为双引号"。即:"[\"path_1\",\"path_2\",\"path_3\"]"
  • 这是 Windows 解析命令行参数的规则限制,与 Umi 自身的设计无关。
3. 启动任务:
umi-ocr --call_qml BatchDOC --func docStart
  • 暂时无法通过CLI更改保存文件的类型(默认为 双层可搜索PDF )。想要添加其他保存类型,必须在软件界面中勾选。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1888529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【TS】TypeScript 原始数据类型深度解析

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 TypeScript 原始数据类型深度解析一、引言二、基础原始数据类型2.1 boolean2.2 …

推荐系统三十六式学习笔记:原理篇.MAB问题|16|简单却有效的Bandit算法

目录 推荐就是选择MAB问题Bandit算法1.汤普森采样算法2.UCB算法3.Epsilon贪婪算法4.效果对比 冷启动总结 推荐系统的使命就是建立用户和物品之间的连接。建立连接可以理解成;为用户匹配到最佳的物品;但也有另一个理解就是,在某个时间某个位置为用户选择最…

彩虹PLM系统:电子制造业的高效协同平台

彩虹PLM系统:电子制造业的高效协同平台 在当今竞争激烈的电子制造业中,企业亟需一种能够整合全生命周期数据、促进跨部门协同并提升生产效率的解决方案。彩虹PLM系统,作为产品生命周期管理的佼佼者,凭借其卓越的技术实力和丰富的行…

前端基础--Vue3

Vue3基础 VUE3和VUE2的区别 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece 于 2022 年 2 月 7 日星期一成为新的默认版本! Vue3性能更高,初次渲染快55%, 更新渲染快133% 。体积更小 Vue3.0 打包大小减少41%。 同时Vue3可以更好的支持T…

AI 影评生成

电影作为一种重要的艺术形式,承载着无穷的想象力和情感表达。它不仅是娱乐的载体,更是一面照亮人性、社会和历史的镜子。通过电影,观众可以体验不同的世界、感受各种情感,甚至找到共鸣和启发。在这个充满多样性和创意的电影世界中…

自养号测评:引领跨境电商新纪元的策略与实践

在跨境电商的浩瀚蓝海中,自养号测评如同一股不可忽视的潮流,正悄然重塑着行业的未来。这一策略通过精心培育海外买家账号,不仅有效规避了服务商测评的诸多风险,更成为众多卖家提升产品销量与口碑的黑科技运营武器。 核心科技&…

支付宝服务商支付,如何邀请商户入驻?

支付宝服务商支付:如何邀请商户入驻 一、支付宝服务商支付 支付宝服务商支付模式为商户带来了诸多优势。它能够整合多种支付方式,包括扫码支付、刷脸支付、线上支付等,满足不同消费者的支付习惯。同时,提供了强大的财务管理功能…

【MindSpore学习打卡】应用实践-计算机视觉-ShuffleNet图像分类:从理论到实践

在当今的深度学习领域,卷积神经网络(CNN)已经成为图像分类任务的主流方法。然而,随着网络深度和复杂度的增加,计算资源的消耗也显著增加,特别是在移动设备和嵌入式系统中,这种资源限制尤为突出。…

数据结构(JAVA)—代码题

01-数据结构—判断题 02-数据结构—选择题 03 数据结构—多选填空程序填空 ​ 01-顺序表的建立及遍历 import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; import java.util.Scanner;public class Main {public static void main(St…

有哪些好的 Stable Diffusion 提示词(Prompt)可以参考?

Docker 作图咒语生成器 docker-prompt-generator 是一个开源项目,可以利用模型反推出提示词,让你偷偷懒,无需琢磨怎么写prompt,只需要找一个差不多的模型反推一下,直接用就好了,支持支持 MidJourney、Stab…

《Linux开发笔记》C语言编译

C语言编译过程 编译过程主要分为四步:预处理、编译、汇编、链接 预处理:主要用于查找头文件、展开宏 编译:把.i文件编译成.s文件 汇编:把.s文件汇编为.o文件 链接:把多个.o文件链接成一个app 以上四个步骤主要由3个命…

颅内感染性疾病患者就诊指南

颅内感染性疾病,即病原体侵入中枢神经系统,导致脑部或脑膜发生炎症的疾病。这些病原体可能是细菌、病毒、真菌或寄生虫等。颅内感染不仅会对脑组织造成损害,还可能引发一系列严重的并发症,如癫痫发作、意识障碍等 颅内感染性疾病的…

电子邮件OTP验证身份认证接口API服务商比较

电子邮件OTP验证身份认证接口API服务商如何正确选择? 电子邮件OTP验证是一种广泛应用且安全的身份认证方式。AokSend将比较几家主要的电子邮件OTP验证身份认证接口API服务商,帮助企业选择合适的解决方案。 电子邮件OTP:验证优势 可以为用户…

UE4_材质_材质节点_DepthFade

一、DepthFade参数 DepthFade(深度消退)表达式用来隐藏半透明对象与不透明对象相交时出现的不美观接缝。 项目说明属性消退距离(Fade Distance)这是应该发生消退的全局空间距离。未连接 FadeDistance(FadeDistance&a…

数字时代的巨变!互联网思维与按效果付费的超强联合!

数字时代企业转型的重大变革 家人们,今天来聊聊数字时代企业数字化转型那些事儿! 在这个时代,企业数字化转型已经是必然趋势啦。蚓链数字化生态系统在帮助企业在转型过程中采用互联网思维,再加上按效果付费的商业交付模式&#xf…

小程序开发平台版源码系统——万能门店小程序功能 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在移动互联网的浪潮中,小程序以其轻量、便捷、无需下载即可使用的特点,迅速成为连接用户与商家的新桥梁。为了满足广大商家快速搭建个性化、高效运营的小程序需求,我们精心打造了“小程序开发平台版源码系统——万能门店小程序功能…

【经典算法题】两数之和

暴力解法 两层for循环&#xff0c;O(n*n) 优化解法 哈希&#xff0c;O(n) class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer, Integer> hashtable new HashMap<Integer, Integer>();for (int i 0; i < nums.length; i) {if (ha…

【Hec-Ras】第一期:软件安装

Hec-Ras软件安装 1 HEC-RAS软件介绍2 HEC-RAS软件下载3 HEC-RAS软件安装4 HEC-RAS软件界面介绍参考 1 HEC-RAS软件介绍 HEC-RAS 是美国陆军工程兵团工程水文中心&#xff08; Hydrologic Engineering Centers, HEC&#xff09;开发的河道水力计算程序&#xff08;River Analys…

前后端分离django-restframework——解决跨域请求

为什么会出现跨域问题&#xff1f; 出于浏览器的同源策略限制。同源策略&#xff08;Sameoriginpolicy&#xff09;是一种约定&#xff0c;它是浏览器最核心也最基本的安全功能&#xff0c;如果缺少了同源策略&#xff0c;则浏览器的正常功能可能都会受到影响。可以说Web是构建…

Redis 7.x 系列【16】持久化机制之 AOF

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 1. 概述 默认情况下&#xff0c;Redis 使用RDB持久化&#xff0c;但如果进程出现问题或电源中断…