【Google Apps Script】複数画像ファイルの一括テキスト抽出(OCR)

今現在、PCで行うOCRで最も高精度かつ効率的な方法がGASを使ったOCRではないでしょうか。
今回は、そのOCRを行うためのツールを作成しましたので、以下に設定とOCR手順をまとめます。

ツール本体(スプレッドシート)

下記のスプレッドシートを自分のGoogle DriveのMy Driveにコピーしてください。

「OCR4Anki_v1.0」(スプレッドシート)

OCR4Anki_v1.0
MAIN OCR for Anki,v1.0 仕様 ・「IN」フォルダ直下にあるファイルのOCR(テ...

スプレッドシートのコピー手順

※言語の違いは読み替えてください。
※既に事前設定で「OCR」フォルダを作成済の場合は、直接「OCR」フォルダにコピーしてOKです。
※スプレッドシート名も実際には何でもOKですが、よくわからない人は下記の手順の通りにリネームしてください。

  1. 上記のURLをクリックし、スプレッドシートを起動します。そして、ツールバーの「File」>「Make a copy」を選択します。
  2. 「Name」を「OCR4Anki_v1.0」にリネームし、「Folder」が「My Drive」になっていることを確認した上で「Make a copy」ボタンを押下します。
  3. 「My Drive」フォルダに「OCR4Anki_v1.0」(スプレッドシート)がコピーされていることを確認してください。

事前設定手順

※言語の違いは読み替えてください。
※フォルダ名はこちらで指定していますが、任意の名前でOKです。

  1. Google Driveを開き、適当なフォルダに「OCR」フォルダを作成します。
    (下記の画像ではMy Drive/01.Anki下に作成していますが任意の場所でOKです。)
  2. 「OCR」フォルダに「IN」フォルダ、「OUT」フォルダーを作成します。
  3. 「OCR」フォルダに「OCR4Anki_v1.0」(スプレッドシート)を移動します。
  4. 「IN」フォルダに「DONE」フォルダを作成します。
  5. 「OUT」フォルダに移動し、左上の「+ New」ボタンかフォルダ内の右クリックメニューから「Google Docs」>「Blank document」を選択します。
  6. 新規のGoogleドキュメントファイルが開くのでファイル名を「OCR_TEMPLATE」にリネームします。
    (若干タイムラグがありますが)「OUT」フォルダに「OCR_TEMPLATE」ファイルが作成されます。中身は空でOKです。



  7. 共通設定を行います。(「OUT」のフォルダIDは未設定でOKです。
    1. 「IN」のフォルダID
      「IN」フォルダを開き、アドレスバーのURLから[フォルダID]を取得します。

      • https://drive.google.com/drive/folders/[フォルダID] 
        例)https://drive.google.com/drive/folders/1Wgmrpe5BwaDyp46kMmXpD7dDdy55ET4Z
    2. 「OUT_TEMPLATE」のファイルID
      「OUT_TEMPLATE」ファイルを開き、アドレスバーのURLから[ファイルID]を取得します。

      • https://docs.google.com/document/d/[ファイルID]/edit
        例)https://docs.google.com/document/d/16QLfLmELaorvZ5KknWMqAcHn_vMW51S4u677qbsIo7F/edit
  8. 任意設定(おまけ)を行います。
    1. OCR言語
      OCR対象ファイルに日本語が含まれる場合には「ja」、英語のみの場合には「en」を選択します。
    2. OCR実行結果のメール送信
      OCRの結果は「OUT」フォルダにGoogleドキュメントの形で出力されますが、メールでも欲しいという場合には「ON」にします。
      (これは個人的に欲しかっただけで、使う人は殆どいないと思っています。(笑))
    3. 送信先メールアドレス
      「OCR実行結果のメール送信」を「ON」にした場合、「送信先メールアドレス」を設定します。

↓こんな感じになればOKです。

OCR実行手順

  1. IN」フォルダーにOCR対象となるファイル(.jpg、.png、.gif、.pdf)をアップロードします。
  2. OCR実行」ボタンを押下します。

    ※下記のエラーが出た場合、一度スプレッドシートを閉じてから「OCR実行」ボタンを再度押下してください。
  3. Authorization Required」のポップアップが表示されるので、「Continue」ボタンを押下します。

    そして、「account」を選択>「Advanced」クリック>「Go to OCR for Anki_v1.0 (unsafe)」クリック>「Allow」ボタン押下と進めます。






  4. 再度、「OCR実行」ボタンを押下します。
  5. OCR完了通知」のダイアログが出たら、「OK」ボタンを押下します。
  6. OCRの結果が「OUT」フォルダにGoogleドキュメントの形で出力されているので中身を確認します。
  7. IN」フォルダーのOCR処理を実施したファイルを「DONE」フォルダに移動します。
    (移動しないで削除してもよいですが、念のため移動しておくことをおすすめします。)

以上がGoogle Apps ScriptによるOCR処理でした。

注意点

  • OCR対象ファイルのサイズやファイル数について、限界まで確認したわけではないので、想定外のエラーが出る場合があります。その場合は、ファイルのサイズを落としたり、一度の処理で実行するファイル数を減らすなどしてください。
  • Google Apps Scriptには、1スクリプトの実行時間に6分という制限があります。6分を超えるOCR処理は実行できませんので、上記同様、ファイルのサイズを落としたり、一度の処理で実行するファイル数を減らすなどしてください。

参考

タイトルとURLをコピーしました