Markdownとかテキスト系じゃない、パワポやブラウザのスライドツールでも、サクサクとLinterでチェックできたらいいよね!を実装したツール
スライド書いてて、Linterをかけようとしたときに、Markdownとかテキスト形式だったらtextlintをVSCode拡張やショートカットで呼べばいいけど、
パワポとか、Googleスライドなんかで書いている時は、pptx2md辺りで一回、Markdownに変換してからLinterにかけますよね。
となると、ショートカットみたいなのでLinterかけるのにやってやれなくは無いけど、ちょいちょい手間だし、まとめてやるとウンザリするくらい修正箇所出たりする
(自分で書いた文章の修正箇所にウンザリしてもねぇ、、)
それよっか、ページ単位くらいでサクッとLinterかけれないかなぁ、できればテキスト形式関係なく出来ると良いんだけど、、と思ってたらツール書いてた
OCRとLinterを組み合わせて文字認識にLinterをかけるツールです!
すまん、手元にWindowsしか無いのでMacでは動かん!!
- ① 任意のファイルにOCRをかけてLinterに流せます
- ② クリップボードにある画像にOCRをかけてLinterに流せます
- ③ ショートカットキー打ち込むとクリップボードにある画像にOCRをかけてLinterに流せます
- ④ ショートカットキー打ち込むと現在のアクティブウィンドウをキャプチャしてOCRをかけてLinterに流せます
なお、内部処理としてOCRの認識精度を上げるために読み込んだ画像をリサイズした画像を生成します。デフォルトは倍のサイズのpngファイルが出力されます
④のモードはウィンドウまるごとキャプチャするのでメニューバーとかに文字がある場合はそれも認識しちゃうんで実用性はそこそこ・・・
③が便利なので良いんじゃないですかね、一画面事にバンバンOCR→Linterかけてチェックできるので便利!
ていうか、Linterでエラー出ているのだったら、このREADMEも直そうぜ!というツッコミ入れたくなりますよね・・・
- ① 任意のファイルにOCRをかけてLinterに流せます
- ② クリップボードにある画像にOCRをかけてLinterに流せます
- ③ ショートカットキー打ち込むとクリップボードにある画像にOCRをかけてLinterに流せます
- ④ ショートカットキー打ち込むと現在のアクティブウィンドウをキャプチャしてOCRをかけてLinterに流せます
Tesseract OCR をWindowsにインストールする方法
この辺の手順でWindowsにTesseractをインストールしてください。デフォでパスが通らないので↓とかでパス通してください
set PATH=%PATH%;c:\Program Files\Tesseract-OCR
適当な画像を読ませて動作チェックするとよろしげです
この辺の手順でWindowsにtextlintをインストールしてください。あと↓のかんじでtextlintのルールもついでに入れてください
npm install -D textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing textlint-rule-no-mix-dearu-desumasu textlint-rule-ja-no-redundant-expression @textlint-ja/textlint-rule-no-synonyms sudachi-synonyms-dictionary textlint-rule-ja-no-orthographic-variants
適当なテキストファイルを読ませて動作チェックするとよろしけです(npx textlint --initやってなかったとかありがち)
ここまで出来たらツールをこのリポジトリからもってきます
go get github.com/yasutakatou/caplint
それかクローンしてビルドするか
git clone https://github.com/yasutakatou/caplint
cd caplint
go build .
面倒ならここにバイナリファイル置いておくので手元で展開するでもOKです
色々ありそうなのでググってくださいー
Go言語なのでバイナリファイル消してあげればOK!(流石Go言語はシンプルでサイコー)
OCRとLinterのチューニングとカスタマイズが出来るよう。設定ファイルから外部アプリを呼び出すようにしています。
デフォルトは caplint.ini というファイル名です。
OCRにあたるアプリを定義します。{}の部分にテンポラリで生成されるファイル名が入ります(置換して実行されます)
Linterにあたるアプリを定義します。{}の部分にテンポラリで生成されるファイル名が入ります(置換して実行されます)
[tesseract]
tesseract.exe {}.png {} -l jpn --psm 6
[textlint]
npx textlint {}.txt --format pretty-error
-clipboard
[-clipboard=Mmode for reading images from the clipboard (true is enable)]
-config string
[-config=config file)] (default "caplint.ini")
-debug
[-debug=debug mode (true is enable)]
-file string
[-file=existing png files)] (default "text.png")
-log
[-log=logging mode (true is enable)]
-nodelete
[-nodelete=leave temporary files undeleted mode. for debugging purposes (true is enable)]
-resize int
[-resize=temporary resize and enlarge multiples (default 2)] (default 2)
-shortcut
[-shortcut=keep activated and use shortcut keys to perform readings in this mode (true is enable)]
-shortcutclipboard int
[-shortcutclipboatrd=shortcut keys for reading from the clipboard (default 'z')] (default 90)
-shortcutwindow int
[-shortcutwindow=shortcut key to read from a focused window (default 'a')] (default 65)
-shortexit int
[-shortcutexit=key to exit shortcut key mode (default 'q')] (default 81)
trueを指定すると今クリップボードにある画像イメージを元にOCRをかけてLinterかけます
コンフィグファイルをデフォルトの caplint.ini から変えたいときにこれでコンフィグファイル名を指定します
デバッグモードで動作します。色々出力されます
pngファイル名を指定すると、その画像ファイルを元にOCRかけてLinterしてくれるモードです
デバッグモードで出たログを出力するオプションです
これを指定するとテンポラリで出力した画像ファイルなりを消さずに動作します
リサイズする倍率を変えます。あまり大きくし過ぎるとTesseract読み込み時にエラーになるので注意
ショートカット動作モードです。このオプションで起動するとバックグラウンドでアプリが動作し続け、特定のショートカットキー入力で動作するようになります
ショートカット動作の時にクリップボードの画像からキャプチャさせる時のキーアサインです。デフォルトは 90 (zキー) (Shift+Ctrl+z)です
ショートカット動作の時にフォアグラインドのウィンドウからキャプチャさせる時のキーアサインです。デフォルトは 65 (aキー) (Shift+Ctrl+a)です
ショートカット動作の時にアプリを終了させる時のキーアサインです。デフォルトは 81 (qキー) (Shift+Ctrl+q)です
OCRの読み取りうまくいかんわ、精度チューニングしたいわ、だったら↓のリンクが参考になります
Apache License 2.0
MIT License
ISC License