API رایگان PHP برای استخراج متن و متادیتا از PDF و تصاویر
کتابخانه منبع باز تشخیص نوری کاراکتر (OCR) PHP امکان استخراج متن، متادیتا و HTML را از PDF، DOCX، تصاویر (JPEG، PNG) و سایر اسناد در زبانهای متعدد داخل برنامههای PHP فراهم میکند.
در حوزه توسعه نرمافزار، کار با متن از انواع مختلف فایلها میتواند چالشبرانگیز باشد اما کاری رایج است. چه در حال ساخت سیستمی برای مدیریت اسناد باشید، چه ابزاری برای تحلیل محتوا یا موتور جستجویی، توانایی استخراج متن از PDFها، اسناد Word، صفحات گسترده و سایر فرمتهای فایل حیاتی است. اینجاست که کتابخانه PHP‑Apache‑Tika ارزشمند میشود. Apache Tika یک ابزارک انعطافپذیر است که برای انجام وظایف تحلیل محتوا طراحی شده است. میتوانید از Tika برای استخراج متادیتا و متن از انواع فایلها مانند PDFها، فایلهای Microsoft Office و تصاویر استفاده کنید. Tika در ابتدا به زبان Java نوشته شده است. معمولاً بهصورت سرور مستقل راهاندازی میشود و از طریق HTTP در دسترس است. این روش به زبانهای برنامهنویسی مختلف، از جمله PHP، امکان استفاده از قابلیتهای قدرتمند Tika را بدون نیاز به نوشتن فرآیندهای پیچیده تجزیه و تحلیل از صفر میدهد.
این کتابخانه ویژگیهای متعددی از جمله استخراج متن و HTML، استخراج متادیتا، بهبود مدیریت خطا، تشخیص OCR، متادیتای استاندارد برای اسناد، پشتیبانی از منابع محلی و راه دور و موارد دیگر را پشتیبانی میکند. کتابخانه PHP‑Apache‑Tika پل ارتباطی بین برنامههای PHP و سرور Apache Tika را فراهم میکند. بهجای ساخت تجزیهکنندهها یا مبدلهای خودتان، میتوانید از این کتابخانه برای ارسال اسناد به سرور Tika و دریافت متن یا متادیتای تمیز استخراجشده استفاده کنید. این کار نهتنها فرآیند توسعه را ساده میکند بلکه اطمینان میدهد برنامه شما از بهبودهای مستمر Tika و پشتیبانی گسترده از فرمتها بهرهمند شود. چه در حال توسعه سیستم مدیریت اسناد پیچیده باشید یا ابزار تحلیل محتوا سبک، کتابخانه PHP‑Apache‑Tika راهحل قابل اعتماد و انعطافپذیری ارائه میدهد.
شروع کار با PHP‑Apache‑Tika
روش پیشنهادی برای نصب PHP‑Apache‑Tika استفاده از Composer است. لطفاً برای نصب روان، فرمان زیر را اجرا کنید.
نصب PHP‑Apache‑Tika از طریق Composer
composer require vaites/php-apache-tikaنصب PHP‑Apache‑Tika از طریق Github
git clone https://github.com/fizzday/OcrPHP.git میتوانید کتابخانهٔ مشترک کامپایلشده را از مخزن Github دانلود کنید.
استخراج متن و HTML با PHP
یکی از ویژگیهای اصلی کتابخانه PHP‑Apache‑Tika توانایی استخراج متن از فرمتهای مختلف سند است. این قابلیت بهویژه هنگام پیادهسازی قابلیتهای جستجو یا ابزارهای تحلیل محتوا مفید است. کتابخانه از استخراج متن ساده از اسناد پشتیبانی میکند، که کار ایندکسگذاری، جستجو یا تحلیل محتوا را آسانتر میسازد. در ادامه قطعه کدی آورده شده است که نشان میدهد چگونه TikaClient سند را به سرور Tika ارسال کرده و محتوای متنی ساده را دریافت میکند تا برای پردازش یا ایندکسگذاری بعدی آماده شود.
چگونه متن را از یک سند داخل برنامههای PHP استخراج کنیم؟
require_once 'vendor/autoload.php';
use Vaites\ApacheTika\TikaClient;
// Initialize the Tika client with the Tika server URL
$client = new TikaClient('http://localhost:9998');
// Define the path to the document (e.g., PDF, DOCX, etc.)
$filePath = '/path/to/your/document.pdf';
try {
// Extract text content from the document
$extractedText = $client->extract($filePath);
echo "Extracted Text:\n" . $extractedText;
} catch (\Exception $e) {
echo "Error extracting text: " . $e->getMessage();
}
استخراج متادیتا با کتابخانه PHP
فراتر از متن، اسناد اغلب حاوی متادیتای ارزشمندی مانند اطلاعات نویسنده، تاریخهای ایجاد و نوع فایل هستند. کتابخانه PHP‑Apache‑Tika میتواند این متادیتا را استخراج کند و به شما امکان میدهد برنامههای غنیتری بسازید. این مثال نشان میدهد چگونه متادیتا را از یک سند بازیابی کنیم. آرایهٔ خروجی میتواند جزئیات مختلفی بسته به نوع فایل و محتوای آن شامل شود.
چگونه متادیتا را با کتابخانه PHP استخراج کنیم؟
require_once 'vendor/autoload.php';
use Vaites\ApacheTika\TikaClient;
// Initialize the Tika client
$client = new TikaClient('http://localhost:9998');
// Specify the document file path
$filePath = '/path/to/your/document.pdf';
try {
// Extract metadata from the document
$metadata = $client->getMetadata($filePath);
echo "Extracted Metadata:\n";
print_r($metadata);
} catch (\Exception $e) {
echo "Error extracting metadata: " . $e->getMessage();
}
پشتیبانی از فرمتهای فایل متعدد
قدرت Apache Tika در پشتیبانی از فرمتهای فایل متعدد نهفته است. چه با PDFها، DOCها، تصاویر یا حتی فرمتهای کمتر رایج کار کنید، این کتابخانه به شما کمک میکند تا دادههای مورد نیاز را بدون نگرانی دربارهٔ نکات خاص هر فرمت استخراج کنید. تصور کنید در حال توسعه سیستمی برای مدیریت اسناد هستید که کاربران میتوانند انواع مختلفی از فایلها را بارگذاری کنند. میتوانید از کتابخانه برای تعیین محتوا و متادیتای هر فایل استفاده کنید: