API رایگان PHP برای تبدیل PDF یا بخش خاصی به متن
کتابخانه منبع باز PHP که به توسعهدهندگان نرمافزار امکان استخراج متن از PDFها یا صفحه خاصی از یک فایل PDF را درون برنامههای PHP میدهد.
PDF-to-Text چیست؟
PDFها یک فرمت استاندارد برای اسناد دیجیتال در تمام صنایع هستند — از مالی و بهداشت و درمان تا آموزش و حقوقی. با این حال، استخراج محتوای متنی معنادار از PDFها میتواند برای توسعهدهندگان نرمافزار چالشبرانگیز باشد. خوشبختانه، کتابخانه PDF-to-Text شرکت Spatie این کار را برای توسعهدهندگان PHP ساده و کارآمد میکند. این ابزار منبع باز یک لایهٔ تمیز و سبک دور باینری قدرتمند pdftotext از بستهٔ poppler-utils فراهم میکند. کتابخانه دارای رابط کاربری شهودی است که به توسعهدهندگان اجازه میدهد با تنها چند خط کد متن را استخراج کنند. این کتابخانه از اسناد چندصفحه، PDFهای دارای ستون، فونتها و تصاویر جاسازیشده، PDFهای پیشپردازششده (اگر OCR قبلاً اعمال شده باشد) و موارد دیگر پشتیبانی میکند.
Spatie PDF-to-Text یک کتابخانه منبع باز PHP است که به توسعهدهندگان نرمافزار امکان استخراج متن ساده از فایلهای PDF را میدهد. این کتابخانه بهعنوان یک wrapper PHP برای ابزار خط فرمان pdftotext که بخشی از مجموعه Poppler است عمل میکند. این به این معنی است که برای تجزیه PDF به کتابخانههای PHP وابسته نیست بلکه از یک ابزار باینری بالغ و آزمودهشده استفاده میکند که سریع و با دقت بالا کار میکند. اگرچه این کتابخانه با PHP نوشته شده است، اما بهصورت یکپارچه بر روی سیستمعاملهای مختلف (Linux، macOS و Windows) کار میکند به شرطی که باینری pdftotext در دسترس باشد. این کتابخانه سبک است و هیچ کتابخانهٔ شخص ثالث غیرضروری را وارد نمیکند. این باعث میشود سریعتر، نگهداری آسانتر و کمتر در معرض شکست بهدلیل بهروزرسانیهای وابستگیهای نامرتبط باشد.
شروع کار با PDF-to-Text
برای اجرای PDF-to-Text ابتدا باید نسخهٔ PHP 5.3 یا بالاتر را نصب کنید. سادهترین روش نصب PDF-to-Text از طریق Composer است. لطفاً برای نصب روان از دستور زیر استفاده کنید.
نصب PDF-to-Text از طریق Composer
composer require spatie/pdf-to-textنصب PDF-to-Text از طریق فرمان Git
git clone https://github.com/spatie/pdf-to-text.git
cd dompdf/libاستخراج متن از فایل PDF با استفاده از API PHP
کتابخانه متن به PDF منبع باز Spatie بهصورت حداقلی طراحی شده است و بر انجام یک کار—استخراج متن از PDFها—تمرکز دارد و این کار را بهخوبی انجام میدهد. سادگی آن باعث میشود برای راهحلهای نرمافزاری سفارشی مانند اسکنرهای فاکتور، ابزارهای پژوهش علمی، پردازشکنندگان اسناد قانونی یا سیستمهای مهاجرت محتوا بسیار مناسب باشد. مثال زیر نشان میدهد که چگونه توسعهدهندگان نرمافزار میتوانند فقط مسیر فایل PDF را تنظیم کنند و آماده استخراج تمام محتوای متنی آن شوند. همچنین میتوانند در صورت نیاز مسیر باینری را سفارشی کنند.
چگونه متن را از فایل PDF با استفاده از API PHP استخراج کنیم؟
use Spatie\PdfToText\Pdf;
$text = (new Pdf())
->setPdf('example.pdf')
->text();
echo $text;
$text = (new Pdf('/custom/path/to/pdftotext'))
->setPdf('report.pdf')
->text();
استخراج بخش خاصی از PDF با استفاده از PHP
این کتابخانه به شما امکان میدهد از قدرت ابزار خط فرمان pdftotext بهرهبرداری کنید و با پشتیبانی از گزینههای مختلف آن، فرآیند استخراج متن را مطابق نیازهای خاص خود سفارشی کنید. بهعنوان مثال، میتوانید از گزینهها برای حفظ قالب PDF اصلی، تعیین محدوده صفحات خاص یا تنظیم وضوح خروجی استفاده کنید. مثال ساده زیر نشان میدهد که چگونه توسعهدهندگان نرمافزار ابتدا گزینههای layout و r را تنظیم میکنند و سپس گزینه f را برای مشخص کردن صفحه اول PDF اضافه مینمایند.
چگونه گزینههای مختلف برای استخراج متن PDF را از طریق API PHP تنظیم کنیم؟
use Spatie\PdfToText\Pdf;
$text = (new Pdf())
->setPdf('table.pdf')
->setOptions(['layout', 'r 96'])
->addOptions(['f 1'])
->text();
echo $text;