ホームページ  >  記事  >  バックエンド開発  >  PHP オープンソース フレームワーク Laravel と Alibaba Cloud OCR の統合のための実践ガイド

PHP オープンソース フレームワーク Laravel と Alibaba Cloud OCR の統合のための実践ガイド

WBOY
WBOYオリジナル
2023-07-17 14:45:131885ブラウズ

PHP オープンソース フレームワーク Laravel と Alibaba Cloud OCR の統合のための実践ガイド

はじめに:
インターネットの発展に伴い、オンライン画像認識はますます注目を集めています。 Alibaba Cloud OCR (Optical Character Recognition、光学式文字認識) は、市場をリードする OCR サービス プロバイダーの 1 つとして、強力な画像認識機能を提供します。人気の PHP オープンソース フレームワークとして、Laravel はシンプルで効率的な開発方法を提供し、大多数の開発者に愛されています。この記事では、Alibaba Cloud OCR を Laravel プロジェクトに統合する方法と、対応するコード例を紹介します。

1. 準備:

  1. Alibaba Cloud アカウントを登録し、OCR サービスを有効にします。
  2. 新しい Laravel プロジェクトを作成するか、既存のプロジェクトを選択します。

2. Alibaba Cloud OCR SDK パッケージをインストールします
Alibaba Cloud OCR SDK の依存関係を、Laravel プロジェクトのルート ディレクトリにあるcomposer.json ファイルに追加します:

"require": {
    "aliyuncs/oss-sdk-php": "2.3.0"
}

次に、##composer update コマンドを実行して、依存関係パッケージをインストールします。

3. Alibaba Cloud OCR SDK の設定

Laravel プロジェクトのルート ディレクトリの config ディレクトリに新しい ocr.php ファイルを作成し、次のコードを追加します:

<?php

return [
    'access_key' => env('ALIYUN_ACCESS_KEY', ''),
    'access_secret' => env('ALIYUN_ACCESS_SECRET', ''),
];

次に追加します。 .env ファイル Alibaba Cloud のアクセス キーとアクセス シークレット:

ALIYUN_ACCESS_KEY=your_access_key
ALIYUN_ACCESS_SECRET=your_access_secret

4. OCR コントローラーの作成

次のコマンドを実行して OCR コントローラーを作成します。

php artisan make:controller OCRController

次に、次のコードを作成された OCRController:

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AlibabaCloudClientAlibabaCloud;
use AlibabaCloudClientExceptionClientException;
use AlibabaCloudClientExceptionServerException;

class OCRController extends Controller
{
    public function ocr(Request $request)
    {
        $imagePath = $request->file('image')->path();
        $fileContent = file_get_contents($imagePath);
        
        AlibabaCloud::accessKeyClient(config('ocr.access_key'), config('ocr.access_secret'))
            ->regionId('cn-hangzhou')
            ->asDefaultClient();
        
        try {
            $result = AlibabaCloud::ocr()
                ->v20191230()
                ->recognizeCharacter()
                ->withImageUrl('')
                ->format('json')
                ->request();
            return response()->json($result->toArray());
        } catch (ServerException $e) {
            // 服务器处理异常
            throw new Exception($e->getErrorMessage());
        } catch (ClientException $e) {
            // SDK调用异常
            throw new Exception($e->getErrorMessage());
        }
    }
}

5. ルーティングの構成

routes/web.php ファイルに次のルートを追加します:

Route::post('/ocr', 'OCRController@ocr');

6. ビューの作成

単純なビューの作成画像をアップロードする場合、例:

<!DOCTYPE html>
<html>
<head>
    <title>Upload Image</title>
</head>
<body>
    <form method="POST" action="/ocr" enctype="multipart/form-data">
        @csrf
        <input type="file" name="image">
        <button type="submit">Upload</button>
    </form>
</body>
</html>

7. テスト

http://your_domain/ocr にアクセスし、テスト用の画像をアップロードします。画像認識のために画像を OCR インターフェイスに送信し、結果を JSON 形式で返します。返された結果は、プロジェクトの要件に従って処理できます。

結論:

この記事の導入部を通じて、Alibaba Cloud OCR を Laravel プロジェクトに統合する方法を学びました。実際のニーズに応じて拡張し、プロジェクトに適用できます。この記事がお役に立てば幸いです!

以上がPHP オープンソース フレームワーク Laravel と Alibaba Cloud OCR の統合のための実践ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。