PyMuPDFをインストール
ocrmypdfが使う。
1 2 |
$ sudo -H pip3 install --upgrade pip $ sudo -H python3.6 -m pip install -U pymupdf |
tesseractの日本語をインストール
1 |
$ sudo apt install tesseract-ocr-jpn* |
ocrmypdfをインストール
1 |
$ sudo apt install ocrmypdf |
tesseractの言語がインストールされているかを確認
1 2 3 4 5 6 |
$ tesseract --list-langs List of available languages (4): jpn eng osd jpn_vert |
OCRを実行
まずPDFの言語と縦書きか横書きかを確認する。日本語の縦書きの場合は以下を実行。
1 |
$ ocrmypdf -l jpn_vert input.pdf output.pdf |
複数言語で実行
英語とドイツ語で実行。まずはドイツ語のtesseract-ocrをインストール
1 2 3 4 5 6 7 8 9 10 |
$ sudo apt install tesseract-ocr-deu $ $ tesseract --list-langs List of available languages (5): deu eng jpn jpn_vert osd $ ocrmypdf -l eng+deu input.pdf out.pdf |
エラーのとき
pdfを書き換える。以下のどれか1つ。
1 2 3 |
$ gs -q -sDEVICE=pdfwrite -o out.pdf input.pdf $ gs -o out.pdf -dSAFER -sDEVICE=pdfwrite input.pdf $ pdftk input.pdf cat output out3.pdf |
エラーは以下のコマンドで起こる
1 2 3 4 |
$ gs -q -sDEVICE=txtwrite -dTextFormat=0 -o out.txt input.pdf corrupted size vs. prev_size Aborted $ |
このエラーはmalloc関連らしくgsのソースを見ないとわからないと思う。