回答編集履歴

3

改行を削除

2020/07/01 04:05

投稿

yymmt
yymmt

スコア1615

test CHANGED
@@ -48,9 +48,7 @@
48
48
 
49
49
  [追記]
50
50
 
51
- ソースコード外でなんとかしたいと言うことなのでpyocrの問題箇所にモンキーパッチを充てる方法を追記します。
51
+ ソースコード外でなんとかしたいと言うことなのでpyocrの問題箇所にモンキーパッチを充てる方法を追記します。ただしパッケージが更新した際に問題が発生すると言うことは解消されません。
52
-
53
- ただしパッケージが更新した際に問題が発生すると言うことは解消されません。
54
52
 
55
53
 
56
54
 

2

モンキーパッチを追記

2020/07/01 04:05

投稿

yymmt
yymmt

スコア1615

test CHANGED
@@ -43,3 +43,85 @@
43
43
  unittest.main()
44
44
 
45
45
  ```
46
+
47
+
48
+
49
+ [追記]
50
+
51
+ ソースコード外でなんとかしたいと言うことなのでpyocrの問題箇所にモンキーパッチを充てる方法を追記します。
52
+
53
+ ただしパッケージが更新した際に問題が発生すると言うことは解消されません。
54
+
55
+
56
+
57
+ ```python
58
+
59
+ import pyocr
60
+
61
+ ...
62
+
63
+ def run_tesseract_monkey_patch(input_filename, output_filename_base, cwd=None, lang=None, flags=None, configs=None):
64
+
65
+ # オリジナルのソースコードをコピペ
66
+
67
+ pyocr.tesseract._set_environment()
68
+
69
+ command = [
70
+
71
+ pyocr.tesseract.TESSERACT_CMD,
72
+
73
+ input_filename,
74
+
75
+ output_filename_base,
76
+
77
+ ]
78
+
79
+ if lang is not None:
80
+
81
+ command += ["-l", lang]
82
+
83
+ if flags is not None:
84
+
85
+ command += flags
86
+
87
+ if configs is not None:
88
+
89
+ command += configs
90
+
91
+ proc = subprocess.Popen(
92
+
93
+ command,
94
+
95
+ cwd=cwd,
96
+
97
+ startupinfo=pyocr.tesseract.g_subprocess_startup_info,
98
+
99
+ creationflags=pyocr.tesseract.g_creation_flags,
100
+
101
+ stdout=subprocess.PIPE,
102
+
103
+ stderr=subprocess.STDOUT,
104
+
105
+ )
106
+
107
+ errors = proc.stdout.read()
108
+
109
+ status = proc.wait()
110
+
111
+ proc.stdout.close()
112
+
113
+ return (status, errors)
114
+
115
+
116
+
117
+
118
+
119
+ def main():
120
+
121
+ pyocr.tesseract.run_tesseract = run_tesseract_monkey_patch
122
+
123
+ # get_version()も同じように上書きする
124
+
125
+ # 以降普通に処理
126
+
127
+ ```

1

おかしな日本語を修正

2020/07/01 04:03

投稿

yymmt
yymmt

スコア1615

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 以下、同様のエラーを出力ソースコードです。
5
+ 以下、同様のエラーを出力するソースコードです。
6
6
 
7
7
 
8
8