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

WBOY
Lepaskan: 2023-07-17 14:48:01
asal
1884 orang telah melayarinya

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"
}
Salin selepas log masuk

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', ''),
];
Salin selepas log masuk

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

ALIYUN_ACCESS_KEY=your_access_key
ALIYUN_ACCESS_SECRET=your_access_secret
Salin selepas log masuk

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

php artisan make:controller OCRController
Salin selepas log masuk

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());
        }
    }
}
Salin selepas log masuk

5 /web.php fail:

Route::post('/ocr', 'OCRController@ocr');
Salin selepas log masuk

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>
Salin selepas log masuk
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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!