🎨 桌面端支持搜索图片中的文本 Fix https://github.com/siyuan-note/siyuan/issues/3470

This commit is contained in:
Liang Ding 2023-01-16 11:32:03 +08:00
parent 83c1aaa770
commit 938e5c677a
No known key found for this signature in database
GPG key ID: 136F30F901A2231D

View file

@ -29,7 +29,10 @@ import (
"github.com/siyuan-note/logging"
)
var tesseractEnabled bool
var (
tesseractEnabled bool
tesseractErrCnt int
)
func initTesseract() {
ver := getTesseractVer()
@ -87,14 +90,21 @@ func Tesseract(imgAbsPath string) string {
output, err := cmd.CombinedOutput()
if ctx.Err() == context.DeadlineExceeded {
logging.LogWarnf("tesseract [path=%s, size=%d] timeout", imgAbsPath, info.Size())
tesseractErrCnt++
return ""
}
if nil != err {
logging.LogWarnf("tesseract [path=%s, size=%d] failed: %s", imgAbsPath, info.Size(), err)
tesseractErrCnt++
return ""
}
if 16 < tesseractErrCnt {
tesseractEnabled = false
logging.LogWarnf("disable tesseract-ocr caused by too many errors")
}
ret := string(output)
ret = strings.ReplaceAll(ret, "\r", "")
ret = strings.ReplaceAll(ret, "\n", "")