hiroi-sora / Umi-OCR

OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。
MIT License
23.48k stars 2.39k forks source link

命令行请教,输入文本生成二维码图片至指定目录 #404

Closed jiangzian04121735 closed 4 months ago

jiangzian04121735 commented 4 months ago

命令行请教,输入文本生成二维码图片至指定目录 目前查源码找到了函数writeBarcode,但是只能刷新出来二维码图片,不知道怎么直接保存图片

hiroi-sora commented 4 months ago

Umi-OCR本身没有保存二维码的命令行指令。

不过,你可以写一个简单的小脚本,调用Umi-OCR环境中的库,进行该操作。

示例:

  1. Umi-OCR.exe 相同路径下,创建一个 build_qrcode.py
  2. build_qrcode.py 粘贴以下内容:
    
    # 调用指令:
    # UmiOCR-data\runtime\python.exe build_qrcode.py "二维码内容" "二维码图片路径.png"

import os import sys import site

读取命令行参数

if len(sys.argv) < 3: img_text = "测试内容" img_path = "测试二维码.png" else: img_text = sys.argv[1] img_path = sys.argv[2]

初始化环境

working = os.path.dirname(os.path.abspath(file)) sp_path = os.path.abspath(os.path.join(working, "UmiOCR-data", "site-packages")) site.addsitedir(sp_path)

import zxingcpp from PIL import Image

创建二维码

format = "QRCode" w, h = 200, 200 # 二维码图片宽高 bFormat = getattr(zxingcpp.BarcodeFormat, format, None) bit = zxingcpp.write_barcode(bFormat, img_text, w, h, -1, -1) img = Image.fromarray(bit, "L") img.save(img_path)

print(f"二维码图片保存到: {img_path}\n内容: {img_text}")


3. 在命令行中调用该脚本:(必须确保命令行的工作目录在`Umi-OCR`目录下)
```cmd
UmiOCR-data\runtime\python.exe build_qrcode.py "二维码内容" "二维码图片路径.png"
jiangzian04121735 commented 4 months ago

谢谢,换个思路,也可以用powershell脚本生成二维码

jiangzian04121735 commented 3 months ago

感谢大大,看到更新了命令行接口生成二维码