@ztools-center/wechat-ocr-native
v0.1.0
Published
Node.js native addon for local WeChat OCR via wcocr
Readme
wcocr Node.js 原生扩展
English | 简体中文
这是一个用于本地调用微信 OCR 的 Node.js 原生扩展。macOS 下会直接调用打包的
微信 libwxocr.dylib;Windows 下仍可调用已有的 wcocr C ABI:
wechat_ocr(...)stop_ocr()
Windows 下会动态加载 wcocr.dll。macOS 下会加载
vendor/wechat-ocr-mac/lib/libwxocr.dylib。
免责声明
本项目是独立的社区项目,与腾讯或微信无关联,也未获得腾讯或微信的认可、赞助或 背书。WeChat、微信、Weixin 及相关名称归其各自权利人所有。
本项目可能会加载或打包第三方运行时文件,例如微信 OCR 动态库和模型文件。在使用、 分发或发布任何包含这些文件的包之前,请确认你拥有必要的权利,并遵守适用的许可、 服务条款和当地法律法规。使用本项目所产生的风险由使用者自行承担。
构建
npm install
npm run build运行
Windows 微信 4.x 示例:
node test.js D:\test.png "%APPDATA%\Tencent\xwechat\XPlugin\plugins\WeChatOcr\8011\extracted\wxocr.dll" "C:\Program Files\Tencent\Weixin\4.0.0.26" .\wcocr.dllmacOS 本地示例:
node test.js ./test.png在 macOS 上,ocr() 会直接使用打包的微信 libwxocr.dylib。当
vendor/wechat-ocr-mac 已准备好后,它不会启动 wxocr 辅助进程,也不会在运行时
读取 /Applications/WeChat.app。
npm install
npm run build
node test.js ../mac-ocr-test.png当前 macOS 状态:打包的微信 libwxocr.dylib 路径已在本地可用,并配合
text_det_fp16_v1.xnet、text_rec_fp16_v2.xnet 和 charset_zh10798.txt 工作。
Windows 也可以使用环境变量:
export WCOCR_LIB_PATH=/path/to/wcocr.dll
export WECHAT_OCR_EXE=/path/to/wxocr.dll
export WECHAT_DIR=/path/to/wechat/runtime
node test.js ./test.pngJavaScript API
const wcocr = require('./index');
const result = wcocr.ocr({
imagePath: './test.png'
});
console.log(result.text);
wcocr.stop();Windows 下,ocrExe 和 wechatDir 会在调用 wechat_ocr 前从 UTF-8 转为
UTF-16,以匹配导出的 LPCTSTR ABI。
macOS 下需要准备的本地微信 OCR 文件如下:
vendor/wechat-ocr-mac/lib/libwxocr.dylibvendor/wechat-ocr-mac/lib/libmmmojo.dylibvendor/wechat-ocr-mac/models/text_det_fp16_v1.xnetvendor/wechat-ocr-mac/models/text_rec_fp16_v2.xnetvendor/wechat-ocr-mac/models/charset_zh10798.txt
