勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

GASとDrive APIを組み合わせて画像やPDFファイルをOCR処理する方法

  Google Apps Script Google

Googleドライブに保存した画像やPDFファイルをOCR処理し、ファイル内のテキストを抽出したい。良い方法は無いか調べてみるとGoogle Apps ScriptとDrive APIを組み合わせることで簡単に実装できる模様。以下に実装方法をメモ。

 

Google Drive APIについて

リファレンス等は以下公式サイトより確認できる。

https://developers.google.com/drive/api/reference/rest/v3?hl=ja

 

実装方法

Drive APIの準備

Googleスプレッドシートを開き「拡張機能→Apps Script」をクリックする。ページ左側の「サービス+」をクリックし「Drive API」を追加する。注意点としてバージョンは2を選択すること(3だと後述のソースコードではエラーになった)。

ファイルの準備

GoogleDriveに画像やPDFをアップロードしておく。アップロード後「共有→リンクをコピー」を選択すると以下のようなリンクがクリップボードにコピーされる筈。

https://drive.google.com/file/d/【ファイルID】/view?usp=drive_link

ファイルID部分は後ほど必要になるのでメモっておく。

ちなみに今回は以下画像を使用する。

ソースコード

function ocrFunction(){

    const image_id = `【ここにファイルID】`;

    const resource = {
        title: `ocr test` 
    };

    const option = {
        'ocr': true,
        'ocrLanguage': `ja`,
    }

    //ファイルコピー
    const image_data = Drive.Files.copy(resource, image_id, option);

    //OCR
    const ocr_data = DocumentApp.openById(image_data.id).getBody().getText();

    console.log(ocr_data);

    //ファイル削除
    Drive.Files.remove(image_data.id);
}

実行結果

GASとAdSense Management APIを使って前日
分の売り上げをメール通知する方法
2024/01/29 C 2024/02/06 Google Apps Script Google
Googleアドセンスの売り上げをチェックする際、いつもはアドセンスの管 理画面に見に行っていた。これが面倒臭いのでGoogle Apps Scriptと
AdSense Management APIを組み合わせて昨日分のGoogleアドセンスの売 り上げをメールで受け取りたい。 以下に実装方法をメモ。

誤字は見当たらずかなり高いように思われる。目視でのチェックも必要だろうけど十分に実用的なように感じた。

 - Google Apps Script Google

  関連記事

GASで「小説家になろう」サイトの更新通知をLINEに送る方法
GASで「小説家になろう」サイトの更新通知をLINEに送る方法

Google Apps Scriptの勉強として「小説家になろう」サイトの特定小 ...

GASで祝日一覧(年月日と祝日名)データをJSON出力するAPIを作成
GASで祝日一覧(年月日と祝日名)データをJSON出力するAPIを作成

PHPのシステム案件で祝日を取得し、処理を行う箇所があった。Googleカレンダ ...

GASで特定サイトにログインした後にスクレイピングを行う方法
GASで特定サイトにログインした後にスクレイピングを行う方法

Google Apps Scriptの勉強として特定サイトにログインし、その後に ...

GASでGoogleカレンダーと連携してイベントの取得・追加・削除
GASでGoogleカレンダーと連携してイベントの取得・追加・削除

Google Apps Scriptの勉強としてGoogleカレンダーと連携させ ...

GASとGoogleカレンダを連携し暦通りではない店休日を取得する方法
GASとGoogleカレンダを連携し暦通りではない店休日を取得する方法

小売店等のサイトで営業日カレンダーみたいなものを表示させる際に今まではPHPで管 ...