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:
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');
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>
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.
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!