Some test text!
This guide will help you run PDFTron samples and integrate a free trial of the PDFTron SDK into Python applications on macOS. Your free trial includes unlimited trial usage and support from solution engineers.
There are two ways to use PDFTron with Python:
This guide will help you get started by building your own wrapper. You can find more information about using the precompiled library .
Make a directory to store the wrappers and navigate into that directory.
Clone the uncompiled PDFNet wrappers project by executing
git clone https://github.com/PDFTron/PDFNetWrappers
PDFNetWrappers/PDFNetC and move the downloaded [PDFNet C/C++ SDK] for macOS(#prerequisites) into that directory and unzip it. Ensure you obtain the right architecture for your Python interpreter. This can be done with these two commands:
curl -L -O http://www.pdftron.com/downloads/PDFNetCMac.zip unzip PDFNetCMac.zip
Now to move the headers in place, make sure you are in the
PDFNetWrappers/PDFNetC directory and execute
mv PDFNetCMac/Headers/ .
mv PDFNetCMac/Lib/ .
to move the PDFNet libraries in place.
You can delete
PDFNetCMac.zip to free up space.
/PDFNetC folder should be laid out like this like this:
PDFNetC ├── Headers ├── Lib ├── PDFNetCMac └── README.txt
Make a build directory inside
/PDFNetWrappers and navigate to it. This guide will assume the build directory is called Build.
cmake -D BUILD_PDFNetPython=ON ..
If all goes well, you should get a message which reads:
Build files have been written to ~/PDFNetWrappers/Build
make followed by
sudo make install.
Next we need to fix the
rpaths issue on Mac. While still in the same
Build directory, execute these lines:
cp ../fix_rpaths.sh ../PDFNetC/Lib/ cd ../PDFNetC/Lib/ sudo sh ./fix_rpaths.sh
Running a specific sample
PYTHONfolder in the sample, for example
Run all samples
The tests will run one by one.
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.
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
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()
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!
output.pdf that the program output in the same directory. It should be a PDF with one blank page.
Check the troubleshooting page if you run into any issues going through this document.
Get the answers you need: Support