This package provides a class to extract text from a pdf.
<?php
use Spatie\PdfToText\Pdf;
echo Pdf::getText('book.pdf'); //returns the text from the pdf
Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
You're free to use this package (it's MIT-licensed), but if it makes it to your production environment you are required to send us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.
The best postcards will get published on the open source page on our website.
Behind the scenes this package leverages pdftotext. You can verify if the binary installed on your system by issueing this command:
which pdftotext
If it is installed it will return the path to the binary.
To install the binary you can use this command on Ubuntu or Debian:
apt-get install poppler-utils
If you're on RedHat or CentOS use this:
yum install poppler-utils
You can install the package via composer:
composer require spatie/pdf-to-text
Extracting text from a pdf is easy.
$text = (new Pdf())
->setPdf('book.pdf')
->text();
Or easier:
echo Pdf::getText('book.pdf');
By default the package will assume that the pdftotext
command is located at /usr/bin/pdftotext
.
If it is located elsewhere pass its binary path to constructor
$text = (new Pdf('/custom/path/to/pdftotext'))
->setPdf('book.pdf')
->text();
or as the second parameter to the getText
static method:
echo Pdf::getText('book.pdf', '/custom/path/to/pdftotext');
Sometimes you may want to use pdftotext options. To do so you can set them up using the setOptions
method.
$text = (new Pdf())
->setPdf('table.pdf')
->setOptions(['layout', 'r 96'])
->text()
;
or as the third parameter to the getText
static method:
echo Pdf::getText('book.pdf', null, ['layout', 'opw myP1$$Word']);
Please see CHANGELOG for more information about what has changed recently.
composer test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
The MIT License (MIT). Please see License File for more information.