Some test text!

Step by stepkeyboard_arrow_down

Get started with PHP

Welcome to PDFTron. PHP for the PDFTron SDK is supported on Linux and macOS. To get started, choose your preferred platform from the tabs below.

Linux PHP PDF library integration

This guide will help you build your own PDFNet PHP wrappers by binding a free trial of the PDFNetC library to PHP. It will also show you how to run PDFTron samples and integrate the PDFTron SDK into PHP applications on Linux. Your free trial includes unlimited trial usage and support from solution engineers.


Strict PHP and SWIG version compatibility
Having a single version of SWIG and PHP installed on the server is preferred. Any other combinations of SWIG and PHP versions not listed below is likely to encounter problems. If your build is not working as expected then please double check the version numbers. Installing multiple versions of SWIG and PHP may also produce issues.
  • Targeting PHP7

    • PHP7 with developer extensions and SWIG3 (3.0.12)
  • Targeting PHP5

    • PHP5 with developer extensions and SWIG2 (2.0.4 - 2.0.12)
  • CMake version ≥ 2.8
  • PDFTron SDK for Linux:

No trial license key required.
The trial of PDFTron SDK works without a license key. A commercial license key is required for use in a production environment. Please fill out our licensing form if you do not have a valid license key.
Keep your commercial license key confidential.
License keys are uniquely generated. Please make sure that it is not publicly available (e.g. in your public GitHub).

linkInitial setup

  1. Make a directory to store the wrappers and navigate into that directory.
  2. Clone the uncompiled PDFNet wrappers by executing

    git clone # Git clone the code.
  3. Navigate to PDFNetWrappers/PDFNetC and download the PDFNet C/C++ SDK into that directory. Ensure you obtain the right architecture for your PHP interpreter. For example, if your interpreter is 64bit (which this guide will assume), execute

    cd PDFNetWrappers/PDFNetC # Move to where we download PDFNet.
    wget # Download PDFNet.
    tar xzvf PDFNetC64.tar.gz # Unpack PDFNet.
  4. Unpack PDFNetC64.tar.gz by tar xvzf PDFNetC64.tar.gz, then execute

    mv PDFNetC64/Headers/ . # Move PDFNet Headers/ into place.
    mv PDFNetC64/Lib/ . # Move PDFNet Lib/ into place.

    to move the PDFNet libraries in place.

    You can delete PDFNetC64.tar.gz to free up space.

    Your /PDFNetC folder should be laid out like this like this:

    ├── Headers
    ├── Lib
    ├── PDFNetC64
    └── README.txt
  5. Make a build directory inside /PDFNetWrappers and navigate to it. This guide will assume the build directory is called Build.

    cd .. # Go back up /PDFNetWrappers.
    mkdir Build # Create a directory to create the Makefiles in.
    cd Build # Move to that directory.
  6. Execute make followed by sudo make install.

    sudo apt-get install php-dev # add php-dev for required PHP include directories
    cmake -D BUILD_PDFNetPHP=ON .. # Create the Makefiles with CMake.
    make # Build the PHP wrappers with SWIG.
    sudo make install # Copy the PHP wrappers to where the samples can find them.

    If all goes well, you should get a message which reads:

    Build files have been written to ~/PDFNetWrappers/Build
  7. Please note that you may need to register as an extension to your PHP by adding the following line in all your php.ini files:


    You may also need to enable dynamic loaded extensions by updating enable_dl = On in all your php.ini files as well.

    enable_dl = On

You are now ready to run the samples or integrate PDFTron SDK into your own application.

linkRun the samples

Run a specific sample

  1. To run a test, navigate to the PHP folder in the sample, for example /Samples/AddImageTest/PHP and execute ./

Run all samples

  1. To run all tests, navigate to /Samples and execute:

    cd ../Samples # Move to the Samples directory.
    ./ # Run all PHP code samples, using the new wrappers.

    The tests will run one by one.

Output files will be in /Samples/TestFiles/Output

linkIntegrate into your application

This section will show you how to use our SDK to create a simple PDFTron "Hello World!" application. It will create a document with one blank page and save it as a linearized PDF in its running directory.

  1. Navigate into your /Samples directory and make a new directory called myApp (if it does not exist already). This guide will assume your application is named myApp. For organization, create a new directory inside myApp called PHP.
  2. Navigate inside that PHP directory and create a new PHP file called myApp.php. Open it with your favorite text editor and paste this into it:

        PDFNet::Initialize();       // PDFNet must be initialized before accessing any PDFTron API
        $doc = new PDFDoc();
        $page = $doc->PageCreate(); // Start a new page
        $doc->PagePushBack($page); // Add the page to document
        $doc->Save("output.pdf", SDFDoc::e_linearized); // Save the document as a linearized PDF
        echo nl2br("Hello World!\n");

    Run your application by executing php myApp.php. If all goes well, your console should output:

    PDFNet is running in demo mode.
    Permission: write
    Hello World!<br />

Check the output.pdf that the program output in the same directory. It should be a PDF with one blank page.

linkNext step


Also check out the source for the PDFNetC wrappers.


Check the troubleshooting page if you run into any issues going through this document.

Get the answers you need: Support


Free Trial

Get unlimited trial usage of PDFTron SDK to bring accurate, reliable, and fast document processing capabilities to any application or workflow.

Select a platform to get started with your free trial.

Unlimited usage. No email address required.