Giter Club home page Giter Club logo

caplint's Introduction

caplint

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に流せます

image

  • クリップボードにある画像にOCRをかけてLinterに流せます

image

  • ショートカットキー打ち込むとクリップボードにある画像にOCRをかけてLinterに流せます

2

  • ショートカットキー打ち込むと現在のアクティブウィンドウをキャプチャしてOCRをかけてLinterに流せます

1

インストール方法

前提

Tesseractのセットアップ

Tesseract OCR をWindowsにインストールする方法

この辺の手順でWindowsにTesseractをインストールしてください。デフォでパスが通らないので↓とかでパス通してください

set PATH=%PATH%;c:\Program Files\Tesseract-OCR

適当な画像を読ませて動作チェックするとよろしげです

textlintのセットアップ

textlintで日本語の校正を行う

この辺の手順で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です

アンインストール方法

Tesseractとtextlint

色々ありそうなのでググってくださいー

ツール本体

Go言語なのでバイナリファイル消してあげればOK!(流石Go言語はシンプルでサイコー)

設定ファイル

OCRとLinterのチューニングとカスタマイズが出来るよう。設定ファイルから外部アプリを呼び出すようにしています
デフォルトは caplint.ini というファイル名です。

[tesseract] セクション

OCRにあたるアプリを定義します。{}の部分にテンポラリで生成されるファイル名が入ります(置換して実行されます)

[textlint] セクション

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)

-clipboard

trueを指定すると今クリップボードにある画像イメージを元にOCRをかけてLinterかけます

-config

コンフィグファイルをデフォルトの caplint.ini から変えたいときにこれでコンフィグファイル名を指定します

-debug

デバッグモードで動作します。色々出力されます

-file

pngファイル名を指定すると、その画像ファイルを元にOCRかけてLinterしてくれるモードです

-log

デバッグモードで出たログを出力するオプションです

-nodelete

これを指定するとテンポラリで出力した画像ファイルなりを消さずに動作します

-resize

リサイズする倍率を変えます。あまり大きくし過ぎるとTesseract読み込み時にエラーになるので注意

-shortcut

ショートカット動作モードです。このオプションで起動するとバックグラウンドでアプリが動作し続け、特定のショートカットキー入力で動作するようになります

-shortcutclipboard

ショートカット動作の時にクリップボードの画像からキャプチャさせる時のキーアサインです。デフォルトは 90 (zキー) (Shift+Ctrl+z)です

ASCIIコードの10進数の数字をわりあてます

-shortcutwindow

ショートカット動作の時にフォアグラインドのウィンドウからキャプチャさせる時のキーアサインです。デフォルトは 65 (aキー) (Shift+Ctrl+a)です

ASCIIコードの10進数の数字をわりあてます

-shortexit

ショートカット動作の時にアプリを終了させる時のキーアサインです。デフォルトは 81 (qキー) (Shift+Ctrl+q)です

ASCIIコードの10進数の数字をわりあてます

その他

OCRの読み取りうまくいかんわ、精度チューニングしたいわ、だったら↓のリンクが参考になります

Tesseractの日本語精度を上げる

ライセンス

Apache License 2.0
MIT License
ISC License

caplint's People

Contributors

yasutakatou avatar

Watchers

Lucian avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.