便利な小物ツール
HTML(JavaSript)
そのままダウンロードして使えます。
- JPEG・PNG相互変換ツール(JPEG_tf_PNG.html)
- カレンダーノート表示ツール(life_log.html) …下記ツールのJSONデータ用
- 古典漢文等翻刻入力支援ツール(kanji_search1.zip) …CHISE 漢字構造情報データベース(CHISE IDS database)による検索UI。約10万字から検索、コピー。使用方法は下記を参照。
〔kanji_search1.zipの解凍からの手順〕
適当な名前を付けたフォルダにzipを解凍すると、index.html, style.css, script.js, database.jsの4つのファイルができる。index.htmlをダブルクリックすると検索システムが起動する。本文入力欄に難解字の入った文章をペーストし、検索したい字(例えば、■(既/木)など)の解字情報があれば、右のパーツ一覧からそれを選んだり、漢字の右にカーソルがある状態で下の「解字」ボタンを押すと、下に一覧が出る。それをクリックすれば本文欄のカーソル位置に文字がペーストされ、さらに「本文コピー」ボタンを押せば、入力欄の文章がクリップボードにコピーされる。データの元はdatabase.jsだが、「CHISE IDS database」(https://gitlab.chise.org/CHISE/ids)のIDS-UCS-Basic.txt, IDS-UCS-Ext-A~J(それ以降追加があればそれにも対応).txtを同じフォルダに置いて「convert.py」でコンバートすれば最新のdatabase.jsが生成される。
Python
単独でexe化すると、TKinterで十数MB以上、PySide6では40MB以上になってしまうので、スクリプトだけで動かす方がはるかに軽いです。そのための環境づくりに多少手間がかかるが一度作ってしまえば簡単に起動できるともいえます。
〔使い方〕デスクトップで実行する場合の例
① Pythonをインストールする。(GUIであるTKinterは標準で付属する。PySide6対応のものは、PySide6のインストールが必要。)
② PyScripterというIDE(統合開発環境アプリ)をインストールする。
③ それぞれのファイルを読み込み、▶(またはF5)で実行する。
④ 下段のPython Interpreterにエラーが出たら、必要なライブラリを「ツール」メニューから「ツール」-「必要なパッケージをインストール」でライブラリ名のみを書いて実行。改めて起動する。不足するライブラリはこの方法で順次インストールする。(その際、デスクトップにパスを通しておくのを忘れない。「ツール」メニューから「Pythonパス...」を選び、下のファイルオープアイコンからデスクトップを選び、「パスを追加」する。)
⑤ これで無事に起動したら、次回からはWindowsのスタートメニューの検索バーに「cmd」と入力してコマンドラインを開き、「cd desktop」と入力してプロンプトがデスクトップに移動させ、「pythonw 実行ファイル名(.pywまで入力)」とすれば、黒い画面が出ずにアプリウィンドウが立ち上がる。(またはバッチファイルを作ってデスクトップに置く方法もある。バッチファイルを右クリックし、「管理者権限で実行」を選ぶ。黒いウィンドウはいったん出るが、最小化表示にできる。)
〚バッチファイルの例(任意の名前.bat)〛ただし、ANSI(Shift-JIS)で保存。(UTF-8で保存する場合は2行目を加える。それでも、セキュリティソフトのチェックで起動しない場合がある。)
chcp 65001 > nul →これはUTF-8で書かれていることを伝える。
cd /d "%~dp0" →これは管理者権限によってSytem32などに移動したものをデスクトップに戻す設定。
pythonw unicode_emoji_selecter3.pyw
⑥ 終了したら、コマンドライン画面に戻し、「exit」(または✕印)で終了する。
もし、④の途中でPython Interpreterから不明なエラーメッセージが出たら、それをコピーして、たとえばChromeの検索ウィンドウに「python エラー」と入力して、「すべて」のタブで表示される丸囲み文字の「もっと見る」で表示されるウィンドウに貼り付けて↑ボタンを押せば、AIがその意味と対処法を丁寧にガイドしてくれるはずです。(なお、Pythonの拡張子は通常pyですが、pywの拡張子のファイルをPython標準のpythonw.exeで開くと、黒い画面がアプリに貼り付くこともなく、GUI(ウィンドウ)がすんなり開きます。)
- フォルダ内容のテキスト出力(file_tree.pyw)
- テキストの結合(combine_texts.pyw)
- テキストの差分比較(visual_text_diff.pyw)
- クリップボード履歴管理(clip_paste.pyw)
- 虫眼鏡(desktop_zoom_lens.pyw) …「+」でさらに拡大。ESCで終了。
- QR code リーダー&ライター(QR-Code_RW.pyw)
- ファイルを年月別に仕分けするツール(shiwake.pyw) …フォルダを指定してリストを作り、ファイルを移動。
- ユニコード絵文字表示(unicode_emoji_selecter.pyw)
- HTMLの文字コードを変換(conv_SJIS-UTF8.pyw)
- JSONの整合性チェック(check_json.pyw)
- JPEG, PNG, BMP画像変換(gazo_henkan.pyw)
- 何でもBox(all_throwinto.pyw) …思いついたことを書き留め、後で検索、コピー。
- 京大カード風・暗記カード(AnkiCard.pyw)
- アイコンエディタ(ico_maker.pyw)
- バイオリズムのグラフ表示(BioRhythm.pyw)
- PDFテキスト抽出ツール(pdf_to_text.pyw)
- PDFトリミングツール(pdf_cropper.pyw)
- 画像のPDF変換(JPEG,PNG_tf_PDF.pyw) …PySide6ベース。PNG, JPEG対応。
- シンプルPDFリーダー&ライター(PDF_RW.pyw) …PySide6ベース。ライン引き、注釈(アノテーション)、矩形切り取り出力機能等。
- 外字フォントエディタ(FontMaker.pyw)
- 外字フォントエディタ〔精細版〕(FontMaker_new.pyw)
- システム手帳ウィークリー・リフィル(refill.pyw)
- 九星六曜カレンダーノート(CalendarNote.pyw) …PySide6ベース
- アウトライン対応シンプルエディタ(CustomEditor.pyw) …PySide6ベース
- 付箋ノート(sticky_notes.pyw) …PySide6ベース
- アイデア・プロセッサ(Simple_IdeaProcessor.pyw) …PySide6ベース
- ランチャー(launcher.pyw) …PySide6ベース。Desktopでのダブルクリックで起動。
- 注記・書式の任意挿入フォーム(DigitalNote.pyw) …PySide6ベース
- 本棚型ファイル選択ツール(BookShelfViewer.pyw) …PySide6ベース。txt, pdf, docx, xslx等に対応。
- マルチページOCR(OCR.pyw) …PySide6ベース。pdf, 画像に対応。PaddleOCRによる高精度OCR。
- マルチページOCR(OCR_JP1.pyw) …PySide6ベース。pdf, 画像に対応。和製ライブラリYomiTokuによる広範囲・高精度OCR。
- ハイブリッドOCR(OCR_JP2.pyw) …PySide6ベース。pdf, 画像に対応。YomiTokuとNDL OCR-Liteによるハイブリッドな「超」高精度・高速OCR。(※下記のインストールガイドを参照。)
- 古典漢文等翻刻入力支援ツール(kanji_search2.zip) …CHISE 漢字構造情報データベース(CHISE IDS database)による検索UI(PySide6ベース)。約10万字から検索、コピー。使用方法は下記を参照。
- 翻訳ツール(translate_google.pyw) …googletransを使った翻訳ツール。台湾繁体字と中国簡体字の相互変換も可能。5ヶ国以上対応可能か。(※下記のインストールガイドを参照。)
- 翻訳ツール(translate_deepl.pyw) …DeepLを使った翻訳ツール。5ヶ国語以上対応可能か。台湾繁体字と中国簡体字の相互変換も可能。(※DeepLのAPIアカウントが必要。下記のインストールガイドを参照。)
- 翻訳ツール(translate_deep-translator.pyw) …deep-translatorを使った翻訳ツール。上記の2つをまたがることができるらしい。台湾繁体字と中国簡体字の相互変換も選択肢に入れた。(※下記のインストールガイドを参照。)
- 系図作成ツール(family_app.pyw) …gradioによるWEBエディタ
- 系図作成ツール(dynamic_keizu.pyw) …matplotlibでWEBに描画
〔OCR_JP3.pywの実行のための準備〕
PDFをレンダリングするためにpoppler-windows(https://github.com/oschwartz10612/poppler-windows)を、またOCR用に日本語用縦書き文書を右から左に読むことのできる解析エンジンであるYomiToku(https://kotaro-kinoshita.github.io/yomitoku/)、および同様の機能に加えて特に難解字の解析にすぐれたndlocr-lite(https://github.com/ndl-lab/ndlocr-lite)をインストールする。(Code-Download ZIP)解凍したフォルダを日本語以外のフォルダに移す。PopplerとNDL OCR-Liteについては、プログラムファイル(後者はocr.py)へのパスをコートの100行目あたりのPOPPLER_BASE_PATHとNDL_OCR_COMMANDに書く。この2つの解析エンジンは、海外製のものとは異なり、縦書き日本語の読み方に従って読み取ることができる。このツールは複数ページのPDFを読み込め、特別なグラフィックボードも使わずに、通常の四六判の書籍の細字データ1ページのテキストを抽出するのに1分とはかからない。しかも精度はまさに実用レベルである。(実行にはPythonのパスの通ったフォルダにツールを置くことが必要。なお、OCRの都度、TMPファイルができるので、これはOCR後削除する。)
※ PyMuPDFライブラリ(fitz)やDocx2PDF等との相性が悪く、これらを入れるとOCRできなくなるので注意する。またnumpyのバージョンアップでも同様のことが起こる。こちらは、「pip install "numpy<2.0.0" --force-reinstall 」で対処する。①、③でもこうしたことは起こるかもしれない。
〔tranlate_deepl.pywの実行のための準備〕
① googletransを使う場合
テキストファイルのD&D可能。最新バージョンをインストールしておく。(pip install googletrans==4.0.0-rc1)
長文の場合は、②も検討するとよい。繁体字は台湾繁体字なので、まだ確認していないが日本の漢字とは異なる変換結果になるかもしれない。
② DeepLを使う場合
テキストファイルのD&D可能。
DeepLで無料アカウントを登録して「APIキー(認証キー)を入力する欄」を取得し、コードの上方の指定欄に貼り付けると動作する。ただし、無料枠だと毎月50万文字までの制限があるようだ。自分は登録したので、現在はこれを使っている。
③ deep-translatorを使う場合
飜訳元と飜訳先の言語をそれぞれ選択できる。テキストファイルのD&D可能。最新バージョンをインストールしておく。(pip install deep-translator)①、②(APIキー不要?)との切替可能とのことだが、もうそれぞれ作ってしまったので、切替機能は試していない。1日5,000字?の制限があるともいう。OpenAIでもできるらしいし、現在はさまざまな選択肢があるようだ。
〔kanji_search2.zipの解凍からの手順〕
適当な名前を付けたフォルダにzipを解凍すると、launcher.pyw, index2.html, style.css, script2.js, database.jsの5つのファイルができる。Python, PySide6をインストールした環境で、launcher.pywをダブルクリックすると検索システムが起動する。本文入力欄に難解字の入った文章をペーストし、検索したい字(例えば、■(既/木)など)の解字情報があれば、右のパーツ一覧からそれを選んだり、漢字の右にカーソルがある状態で下の「解字」ボタンを押すと、下に一覧が出る。それをクリックすれば本文欄のカーソル位置に文字がペーストされ、さらに「本文コピー」ボタンを押せば、入力欄の文章がクリップボードにコピーされる。データの元はdatabase.jsだが、「CHISE IDS database」(https://gitlab.chise.org/CHISE/ids)のIDS-UCS-Basic.txt, IDS-UCS-Ext-A~J(それ以降追加があればそれにも対応).txtを同じフォルダに置いて「convert.py」でコンバートすれば最新のdatabase.jsが生成される。