Some test text!

Hamburger Icon

Core / Guides

Get started with C++

Welcome to Apryse. C++ for the Apryse SDK is supported on both Linux and Windows. To get started, choose your preferred platform from the tabs below.

Linux C++ PDF library integration

This guide will help you run Apryse samples and integrate a free trial of the Apryse SDK into C++ applications on Linux. Your free trial includes unlimited trial usage and support from solution engineers.


  • GCC ≥ 4.2.1 (32-bit, 64-bit) or GCC ≥ 8 (64-bit ARM)
  • Apryse SDK for Linux:

Download the SDK

Download the SDK

Download the SDK

Run Apryse SDK in production
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).

Initial setup

  1. Download the Apryse SDK.
  2. Extract via tar xvzf PDFNetC64.tar.gz or tar xvzf PDFNetCArm64.tar.gz or tar xvzf PDFNetC.tar.gz.
  3. Get your Apryse trial key.

Login / Sign Up to get a trial key

Run the samples

Run a specific sample

  1. Navigate to the CPP folder in the sample you want to run and make the project by calling make. Then run the test by executing

For example to run AddImageTest, navigate to /Samples/AddImageTest/CPP and execute ./AddImageTest.

Run all samples

  1. Navigate to /Samples and execute

The tests will run one by one.

Output files will be in /Samples/TestFiles/Output

Integrate into your application

This section will show you how to use our SDK to create a simple Apryse "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 CPP. Navigate into the CPP directory and create a new CPP file called myApp.cpp. This guide will assume your application is named myApp.

  2. Open myApp.cpp with your favorite text editor and paste this inside:

    #include <iostream>
    #include <PDF/PDFNet.h>
    #include <PDF/PDFDoc.h>
    #include <SDF/ObjSet.h>   
    using namespace pdftron;
    using namespace PDF;
    using namespace SDF;
    int main(int argc, char** argv)
        PDFNet::Initialize();  // PDFNet must be initialized before accessing any Apryse API. This line should only be called once in your main function.
        PDFDoc doc;
        Page 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
        std::cout << "Hello World!" << std::endl;
       catch(pdftron::Common::Exception& ex)
            std::cout << ex << std::endl;
        return 0;
  3. Build the project using this line:

    g++ myApp.cpp -I../../../Headers -L../../../Lib -lPDFNetC -lstdc++ -lpthread -lm -lc -Wl,-rpath,../../../Lib -Wl,-rpath$ORIGIN -o myApp
  4. Run the application via ./myApp. The 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.

Next step

Guides API docsSamples

Get the answers you need: Chat with us