PHP ile PDF Dosyalarını Yazıya Çevirme

Bize 0850 304 13 02 Numarasından da ulaşabilirsiniz!

PHP ile PDF Dosyalarını Yazıya Çevirme

PDF dosyalarınızda ki içeriği php kullanarak yazıya nasıl çevireceğinizi bu yazımız da anlatacağız.Öncelikle bu işlemi yapabilmek için orta derecede php diline hakim olmamız gerekmektedir.Eğer php diline hakim değilseniz işlemi yaparken zorlanabilir veya gelişmiş kullanımı anlamayabilirsiniz.Müşterimizin projesinde istediği bu işlem için uzun araştırmalar sonucu pdftotext sınıfını buldum ve projeme göre uyarladım.Bu yazıda size pdftotext sınıfının nasıl kullanıldığını ve özelliklerini anlatacağım.

Pdftotext sınıfı bir pdf sınıfından yazı metnini çıkarmak için kullanılır.Kullanımı oldukça basittir.Öncelikle sınıfı github.com web sitesinden indirmelisiniz.Github linki:

https://github.com/christian-vigh-phpclasses/PdfToText

daha sonra sınıfın ana dosyasını proje dosyamıza include ediyoruz.

Örnek Kullanım:

include(‘PdfToText.phpclass’);
$pdf = new PdfToText (‘ornekpdfdosyasi.pdf’);
echo $pdf -> Text;

Diğer kullanım örneği:

$pdf -> Load(‘ornekpdfdosyasi.pdf’);
echo $pdf -> Text;

Pdftotext sınıfı ile pdf dosyasından metin ve sayfa numaralarını çekebilirsiniz.Örnek kodlar için indirdiğiniz sınıf dosyalasının examples klasörüne bakabilirsiniz.Pdftotext sınıfı pdf dosyasını ekrana yazdırırken utf-8 kodlama dilini kullanır.Bu yüzden proje dosyanızın utf-8 formatında olması gereklidir.Bunun için proje dosyanızınetiketinden sonra aşağıda ki kodu eklemeniz yeterlidir.

 

Pdftotext Sınıfının Özellikleri

Pdf dosylarının her birinin yazı tipi farklı olabilir.Bu yazı tiplerini direkt olarak sınıfı kullanarak almak için PDFOPT_BASIC_LAYOUT seçeneğini aktif edebilirsiniz.Düz metin almak için bu seçenek default olarak kapalı gelmektedir.

Windows Kullanıcıları için Bir Not

Linux kullanıcılarında Apache bir dosyayı işlemek için otomatik 8 mb’lık bir hafıza ayırır.Bu oran Windows’ta 1 mb’tır.Pdftotext sınıfının kullandığı regex kod parçacıkları 1mb’tan fazla yığın alanı kullanmaktadır.Bu nedenle Windows’ta bazı düzenlemeler yapmak gerekir.Bu sorunu çözmek için httpd mpm modülünü etkinleştirmek ve config dosyasında

Include conf/extra/httpd-mpm.conf
ThreadStackSize 8388608

ThreadStackSize kısmını yukarıda ki gibi yapmanız yeterlidir.

Pdftotext sınıfını kullanarak pdf dosyasında ki form verilerini de çekebilirsiniz.Örnek kod aşağıdadır.

$pdf = new PdfToText ( ‘ornekpdfdosyasi.pdf’ ) ;
$form_data = $pdf -> GetFormData ( null ) ;

Form verilerinin dosyada olup olmadığını kotrol etmek için aşağıda ki kodları kullanabilirsiniz.

if( $pdf -> HasFormData())
$form_data = $pdf -> GetFormData(null );

Yayınlanma Tarihi: Şubat 14, 2019