summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorNick White <git@njw.name>2022-02-21 12:33:48 +0000
committerNick White <git@njw.name>2022-02-21 12:33:48 +0000
commit69ac99da02988ad2ed675570ccaa5ff7777f0279 (patch)
treeaac4a7b560d0f0e3ee79f8061c0ec74b6d00fb5b /internal
parent066884ddf4a160baec7c8f3d0974d7aeca1eec6b (diff)
Ensure that no new console windows are opened on Windows when executing Tesseract
Diffstat (limited to 'internal')
-rw-r--r--internal/pipeline/pipeline.go1
-rw-r--r--internal/pipeline/util.go16
-rw-r--r--internal/pipeline/util_windows.go16
3 files changed, 33 insertions, 0 deletions
diff --git a/internal/pipeline/pipeline.go b/internal/pipeline/pipeline.go
index b4a9d92..639bba1 100644
--- a/internal/pipeline/pipeline.go
+++ b/internal/pipeline/pipeline.go
@@ -310,6 +310,7 @@ func Ocr(training string, tesscmd string) func(context.Context, chan string, cha
logger.Println("OCRing", path)
name := strings.Replace(path, ".png", "", 1)
cmd := exec.Command(tesscmd, "-l", training, path, name, "-c", "tessedit_create_hocr=1", "-c", "hocr_font_info=0")
+ HideCmd(cmd)
var stdout, stderr bytes.Buffer
cmd.Stdout = &stdout
cmd.Stderr = &stderr
diff --git a/internal/pipeline/util.go b/internal/pipeline/util.go
new file mode 100644
index 0000000..092a9ee
--- /dev/null
+++ b/internal/pipeline/util.go
@@ -0,0 +1,16 @@
+// Copyright 2022 Nick White.
+// Use of this source code is governed by the GPLv3
+// license that can be found in the LICENSE file.
+
+// +build !windows
+
+package pipeline
+
+import (
+ "os/exec"
+)
+
+// HideCmd adds a flag to hide any console window from being
+// displayed, if necessary for the platform
+func HideCmd(cmd *exec.Cmd) {
+}
diff --git a/internal/pipeline/util_windows.go b/internal/pipeline/util_windows.go
new file mode 100644
index 0000000..08c321e
--- /dev/null
+++ b/internal/pipeline/util_windows.go
@@ -0,0 +1,16 @@
+// Copyright 2022 Nick White.
+// Use of this source code is governed by the GPLv3
+// license that can be found in the LICENSE file.
+
+package pipeline
+
+import (
+ "os/exec"
+ "syscall"
+)
+
+// HideCmd adds a flag to hide any console window from being
+// displayed, if necessary for the platform
+func HideCmd(cmd *exec.Cmd) {
+ cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
+}