Some test text!

menu
search

Get started with Python3

Welcome to PDFTron. Python3 for the PDFTron SDK is supported on both Linux and Windows and requires that custom wrappers are built. To get started, choose your preferred platform from the tabs below.

Get Started with Python Custom Wrapper

This guide will help you run PDFTron samples and integrate a free trial of the PDFTron SDK into Python applications on Windows. 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 wrapper.

This guide will help you get started by building your own wrapper. You can find more information about using the precompiled library here .

linkPrerequisites

Make sure Python, cmake and SWIG are all added to your path environment variable.

linkInitial setup

  1. Extract the PDFNetWrappersWinXX folder from the .zip file. This guide will assume it has been extracted to the current user's Desktop.

  2. From the extracted folder, copy the Lib and Headers folders and paste them into PDFNetWrappers-master/PDFNetC/

  3. Create a new folder called Build inside the PDFNetWrappers folder and enter it.

    This is what the current directory structure should look like:

    Directory structure

  1. Open a Command Prompt here and run the following:

    cmake -D BUILD_PDFNetPython=ON ..

    This will choose a default Visual Studio version to build the projects for. Wait for the bindings to finish. The output should end with something like this:

    -- Build files have been written to: C:/Users/User_Name/Desktop/PDFNetWrappers-master/Build

    If you see error messages during this process, see the Troubleshooting section.

    You should have the following files in your Build directory:

    Build directory

  2. Open the generated PDFNetLanguageBindings.sln with Visual Studio.

    Change the build mode from Debug to Release, make sure the appropriate target version is selected and build the solution. When this is done, select and build the INSTALL project.

The bindings should be successfully built. You can now run the samples to test out the PDFTron SDK.

linkRun the samples

Find and enter the Samples folder (PDFNetWrappers-master/Samples). Here you can find sample code for a large number of features supported by the PDFTron SDK.

The output files from all tests are stored in Samples/TestFiles/output/

Run a specific sample

  1. Find the sample you want to run and navigate into the PYTHON folder inside.

  2. Find RunTest.bat and run it. The results should appear on a cmd window.

AddImageOutput

Run all samples

  1. Find runall_python.bat in the samples folder and double click on it to run it. The results should appear on a cmd window.

Press any key when a sample ends to start the next one.

AddImageTest output

linkIntegrate into your application

This is what we call the "PDFTron Hello World" application. It is easy to integrate the rest of PDFTron SDK if you are able to open, save and close a PDFDoc.

  1. Create a new folder in Samples by the name HelloWorld.

  2. In the HelloWorld folder, create a new file called HelloWorld.py, open and edit it using your favorite text editor.

  3. Insert the following to your file:

    # You can use the following two lines to use PDFNetPython
    # in your solution from anywhere on your system
    # so long as you have relative path
    import site
    site.addsitedir("../../Lib")
    import sys
    
    # This is the most important packages to import
    # for basic document manipulation.
    from PDFNetPython import *
    
    def main():
    
        # You need to initialize the PDFNet library 
        # Before calling any PDF related methods
        PDFNet.Initialize()
    
        # This example creates a new document
        # and a new page, then adds the page
        # in the page sequence of the document
        doc = PDFDoc()
    
        page1 = doc.PageCreate()
        doc.pagePushBack(page1)
    
        # We save the document in a linearized
        # format which is the most popular and 
        # effective way to speed up viewing PDFs
        doc.Save(("linearized_output.pdf"), SDFDoc.e_linearized)
    
        doc.close()
    
    if __name__ == "__main__":
        main()

    To test that your code works, run the code using a shell in the HelloWorld folder using:

    python.exe -u HelloWorld.py

    Once you have successfully run this, you should see an output file in the working directory of this program.

linkNext step

GuidesSamples

linkTroubleshooting

Multiple versions of Python
More information for conflict resolution between multiple Python installations.

CMake Process finding incorrect version
Setting specific versions of Python to use for cmake.

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.

PDFTron Receives USD$71 Million Growth Investment Led By Silversmith Capital Partners

Learn more
close