XPDF PHP, an Object Oriented library to manipulate XPDF

Installs: 45 317

Dependents: 1

Stars: 17

Watchers: 4

Forks: 11

Open Issues: 4

Language: JavaScript

0.2.1 2013-07-03 09:37 UTC


Build Status

PHP-XPDF is an object oriented wrapper for XPDF. For the moment, only PdfTotext wrapper is available.


It is recommended to install PHP-XPDF through Composer :

    "require": {
        "php-xpdf/php-xpdf": "~0.2.0"

Dependencies :

In order to use PHP-XPDF, you need to install XPDF. Depending of your configuration, please follow the instructions at on the XPDF website.


Driver Initialization

The easiest way to instantiate the driver is to call the `create method.

$pdfToText = XPDF\PdfToText::create();

You can optionaly pass a configuration and a logger (any Psr\Logger\LoggerInterface).

$pdfToText = XPDF\PdfToText::create(array(
    'pdftotext.binaries' => '/opt/local/xpdf/bin/pdftotext',
    'pdftotext.timeout' => 30, // timeout for the underlying process
), $logger);

Extract text

To extract text from PDF, use the getText method.

$text = $pdtTotext->getText('document.pdf');

You can optionally extract from a page to another page.

$text = $pdtTotext->getText('document.pdf', $from = 1, $to = 4);

You can also predefined how much pages would be extracted on any call.

$pdtTotext->getText('document.pdf'); // extracts page 1 and 2

Use with Silex

A Silex service provider is available

$app = new Silex\Application();
$app->register(new XPDF\XPDFServiceProvider());


Options can be passed to customize the provider.

$app->register(new XPDF\XPDFServiceProvider(), array(
    'xpdf.configuration' => array(
        'pdftotext.timeout'  => 30,
        'pdftotext.binaries' => '/opt/local/xpdf/bin/pdftotext',
    'xpdf.logger' => $logger,


This project is licensed under the MIT license.