Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan Praktikal untuk Penyepaduan Rangka Kerja Sumber Terbuka PHP Laravel dan Alibaba Cloud OCR

Panduan Praktikal untuk Penyepaduan Rangka Kerja Sumber Terbuka PHP Laravel dan Alibaba Cloud OCR

WBOY
WBOYasal
2023-07-17 14:45:131885semak imbas

Panduan Praktikal untuk Penyepaduan Rangka Kerja Sumber Terbuka PHP Laravel dan Alibaba Cloud OCR

Pengenalan:
Dengan perkembangan Internet, pengecaman imej dalam talian telah menarik lebih banyak perhatian. Alibaba Cloud OCR (Pengecaman Aksara Optik, pengecaman aksara optik), sebagai salah satu penyedia perkhidmatan OCR terkemuka dalam pasaran, menyediakan keupayaan pengecaman imej yang berkuasa. Sebagai rangka kerja sumber terbuka PHP yang popular, Laravel menyediakan kaedah pembangunan yang mudah dan cekap serta disukai oleh majoriti pembangun. Artikel ini akan memperkenalkan cara mengintegrasikan Alibaba Cloud OCR dalam projek Laravel dan memberikan contoh kod yang sepadan.

1. Persediaan:

  1. Daftar akaun Alibaba Cloud dan aktifkan perkhidmatan OCR.
  2. Buat projek Laravel baharu atau pilih projek sedia ada.

2. Pasang pakej Alibaba Cloud OCR SDK
Tambahkan kebergantungan Alibaba Cloud OCR SDK pada fail composer.json dalam direktori root projek Laravel:

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

Kemudian laksanakan arahan composer update untuk memasang pakej dependency. .

3. Konfigurasi Alibaba Cloud OCR SDK
Buat fail ocr.php baharu dalam direktori konfigurasi direktori akar projek Laravel, dan tambah kod berikut:

<?php

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

Kemudian tambahkan Kunci Akses Alibaba Cloud dan Rahsia Akses dalam .env fail:

ALIYUN_ACCESS_KEY=your_access_key
ALIYUN_ACCESS_SECRET=your_access_secret

4 Cipta pengawal OCR
Laksanakan arahan berikut untuk mencipta pengawal OCR:

php artisan make:controller OCRController

Kemudian tambahkan kod berikut pada OCRController yang dibuat:

<?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 /web.php fail:

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

6. Buat paparan

Buat paparan mudah untuk memuat naik gambar, contohnya:

<!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. Ujian

Lawati http://your_domain/ocr dan muat naik gambar untuk ujian. Hantar imej ke antara muka OCR untuk pengecaman imej dan kembalikan hasilnya dalam format JSON. Anda boleh memproses hasil yang dikembalikan mengikut keperluan projek.

Kesimpulan:

Melalui pengenalan artikel ini, kami mempelajari cara mengintegrasikan Alibaba Cloud OCR dalam projek Laravel. Anda boleh mengembangkannya mengikut keperluan sebenar dan mengaplikasikannya pada projek anda. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Panduan Praktikal untuk Penyepaduan Rangka Kerja Sumber Terbuka PHP Laravel dan Alibaba Cloud OCR. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn