Some test text!

menu

Get started with Python2

Welcome to PDFTron. Python2 for the PDFTron SDK is supported on both Linux and Windows and has precompiled wrappers available. To get started, choose your preferred platform from the tabs below.

Get started with Python Pre-compiled

This guide will help you run PDFTron samples and integrate a free trial of the PDFTron SDK into Python application on macOS. Your free trial includes unlimited trial usage and support from solution engineers.

There are two ways to use PDFTron with Python:

  • Use the precompiled library for Python 2.7.
  • Use PDFNet bindings to build your own wrappers.

This guide will help you get started using the precompiled Python wrappers. You can find more information about PDFNetWrappers and
building your own wrapper .

linkPrerequisites

  • Python 2.7.x
Incompatible Python version?
If your version of Python is incompatible with the precompiled wrappers, you can build your own wrapper.
  • PDFTron precompiled Python/Ruby SDK for macOS:

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. Download the Python and Ruby prebuilt binaries. Make sure you download the right architecture for your Python interpreter.
  2. Extract the downloaded zip file and navigate to it.
  3. Navigate to the /PDFNetC/Lib directory of the Python SDK download and execute:

    chmod a+x fix_rpaths.sh
    ./fix_rpaths.sh

linkRun the samples

Run a specific sample

  1. Navigate to the PYTHON folder in the sample, for example /Samples/PYTHON and execute ./RunTest.sh.

Run all samples

  1. To run all tests, navigate to /Samples and execute the runall_python file:
./runall_python.sh

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 to the /Samples directory and create 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 PYTHON.
  2. Navigate inside that PYTHON directory and create a new Python file called myApp.py. Open it with your favorite text editor and paste this into it:

    import site
    # below is the relative path to PDFTron PDFNetC libraries
    site.addsitedir("../../../PDFNetC/Lib")
    import sys
    from PDFNetPython import *
    
    def main():
        PDFNet.Initialize()
        doc = PDFDoc()
        page = doc.PageCreate()         # Start a new page
        doc.PagePushBack(page)          # Add the page to the document
        doc.Save("output.pdf", SDFDoc.e_linearized);  # Save the document as a linearized PDF
        print("Hello World!")
    
    if __name__ == '__main__':
        main()
  3. Run your application via python myApp.py. If all goes well your output should read:

    PDFNet is running in demo mode.
    Permission: write
    Hello World!

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

linkNext step

GuidesSamples

Also check out the source for the PDFNetC wrappers.

linkTroubleshooting

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

Get the answers you need: Support

close

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.

Join our live demo to learn about use cases & capabilities for WebViewer

Learn more
close