C++ PDF library integration

Welcome to Apryse. C++ for the Apryse SDK is cross-platform and supported on Windows and Linux. 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.

Prerequisites

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

Download the SDK

download Linux 64-bit Apryse SDK

Download the SDK

download Linux 64-bit ARM Apryse SDK

Download the SDK

download Linux 32-bit Apryse SDK

Note: For Alpine Linux specific details, please consult Alpine Linux guide.

Run Apryse SDK in production

A commercial license key is required for use in a production environment. Please contact sales to purchase a commercial key or if you need any other license key assistance.

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 PDFNetCAlpine64.tar.gz or tar xvzf PDFNetC.tar.gz.
  3. Get your Apryse trial key.

License Key

Apryse collects some data regarding your usage of the SDK for product improvement.

If you wish to continue without data collection, contact us and we will email you a no-tracking trial key for you to get started.

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

sh

1./TEST_NAME

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

Run all samples

  1. Navigate to /Samples and execute

sh

1./runall.sh

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 myApp if it does not exist already. This guide will assume your project is named myApp. Enter your myApp directory and create a CPP directory for organization. Then create a myApp.cpp file in the CPP directory.
  2. Open myApp.cpp with your favorite text editor and paste this inside:

C++

1#include <iostream>
2#include <PDF/PDFNet.h>
3#include <PDF/PDFDoc.h>
4#include <SDF/ObjSet.h>
5
6using namespace pdftron;
7using namespace PDF;
8using namespace SDF;
9
10int main(int argc, char** argv)
11{
12 try
13 {
14 PDFNet::Initialize("YOUR_APRYSE_LICENSE_KEY"); // PDFNet must be initialized before accessing any Apryse API. This line should only be called once in your main function.
15 PDFDoc doc;
16 Page page = doc.PageCreate(); // Start a new page
17 doc.PagePushBack(page); // Add the page to the document
18 doc.Save("output.pdf", SDFDoc::e_linearized); // Save the document as a linearized PDF
19 std::cout << "Hello World!" << std::endl;
20 }
21 catch(pdftron::Common::Exception& ex)
22 {
23 std::cout << ex << std::endl;
24 }
25 return 0;
26}
  1. Build the project using this line:

sh

1g++ myApp.cpp -I../../../Headers -L../../../Lib -lPDFNetC -lstdc++ -lpthread -lm -lc -Wl,-rpath,../../../Lib -Wl,-rpath$ORIGIN -o myApp
  1. Run the application via ./myApp. The output should read:

sh

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

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

Next step

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales