Skip to main content

Get started with C

This guide walks you through the steps to use a code example, and then explains how to integrate the Pdftools SDK into your application with the C programming language.

tip

Try the Pdftools SDK without a license key.

Get started with a sample project

Learn how to use the Pdftools SDK using a C code example. The Pdf2ImgSimple example converts a PDF file to an image. Use similar steps to run any other code example from the sdk-examples-c repository.

Prerequisites

This code example uses GCC toolset 4.8+ and CMake version 3.16 or higher.

Compile and run the sample

  1. Clone the sdk-examples-c repository:

    git clone https://github.com/pdf-tools/sdk-examples-c.git
  2. Navigate to the Pdf2ImgSimple code example:

    cd sdk-examples-c/Pdf2ImgSimple
  3. Configure the project:

    cmake .
  4. Build the sample:

    cmake --build .
  5. The code example contains a PDF file PdfPrimerWhitePaper.pdf. To render it in multi-page TIFF image format, run:

    ./pdftoolspdf2imgsimple PdfPrimerWhitePaper.pdf PdfPrimerWhitePaper.tiff

The sample runs without a license key, and the output carries a watermark. To remove the watermark, open pdftoolspdf2imgsimple.c and uncomment the PdfTools_Sdk_Initialize function call in main(). Replace the "insert-license-key-here" placeholder with your license key. Include the less-than (<) and greater-than (>) signs.

The code example takes:

  • The input and output files are represented as a file name or a file path with the file name.
  • Both file paths (input and output) can be relative or absolute.

Compare the command syntax with a placeholder to the previous procedure:

./pdftoolspdf2imgsimple INPUT_FILE OUTPUT_FILE
note

You can apply a similar procedure described in this tutorial for other code examples. For more information, see Code samples page.

Integrate the SDK into your application

Integrate and initialize the Pdftools SDK into your application.

Add the SDK to your project

  1. Click the download link to get the latest version of the Pdftools SDK for C in a zip archive.

    Optional: For older Linux distributions running glibc 2.12+, download the SDK from a separate download.

  2. Unzip the file on your machine into a local directory recommended for your operating system. For example:

    C:\Program Files\PDF Tools AG\

    Included subdirectories are:

    SubdirectoryDescription
    ~Contains important information in the README.md file.
    libRuntime executable binaries and runtime import libraries:
    • win-x86\PdfToolsSdk.dll and win-x86\PdfToolsSdk.lib for 32-bit Windows.
    • win-x64\PdfToolsSdk.dll and win-x64\PdfToolsSdk.lib for 64-bit Windows.
    • win-arm64\PdfToolsSdk.dll and win-arm64\PdfToolsSdk.lib for 64-bit Windows ARM.
    includeHeader files to add to your C or C++ project. The main header PdfTools.h includes all the other headers.
  3. Optional: The native libraries must be available in your compiler’s library path. This step is only required if your build process doesn’t resolve it automatically:

    Add the lib\win-x64, lib\win-arm64 or lib\win-x86 subdirectory to the %PATH% environment variable.

Optional: Initialize the SDK

Learn how to remove watermarked output of the Pdftools SDK using a valid license key.

tip

Initialization removes watermarks from output files and readies the SDK for production. Without a license key, output files carry a watermark.

Getting a license key

Contact the Pdftools sales team through the Contact page to get a full license. For more information, review the Pdftools SDK license management.

To remove watermarks, follow these steps:

  1. Find your license key. For more information, review Find the license key.

  2. Call PdfTools_Sdk_Initialize once at application startup, before any other Pdftools SDK function call:

    GOTO_CLEANUP_IF_FALSE_PRINT_ERROR(PdfTools_Sdk_Initialize(_T("YOUR_LICENSE_KEY"), NULL),
    _T("Failed to set the license key. %s (ErrorCode: 0x%08x).\n"), szErrorBuff,
    PdfTools_GetLastError());

    Replace YOUR_LICENSE_KEY with your license key. Use the license key in the same format you copied it. Include the less-than (<) and greater-than (>) signs.

To get a working reference with the PdfTools_Sdk_Initialize function, follow these steps:

  1. Clone the sdk-examples-c repository and navigate to a sample directory. For example, sdk-examples-c/Pdf2ImgSimple.
  2. Open the main C file and find the commented-out PdfTools_Sdk_Initialize call. For example, the Pdf2ImgSimple C sample includes it in pdftoolspdf2imgsimple.c.
  3. Uncomment the call and replace the "insert-license-key-here" placeholder with your license key.

Uninitialize the SDK

After processing files with the Pdftools SDK, call PdfTools_Uninitialize to unload the library correctly:

// Uninitialize library
PdfTools_Uninitialize();

Implement your use case

  • Find more use cases and code examples on the Code samples page.
  • For more technical information about the Pdftools SDK for C, consult the C technical notes.
  • If you need to configure a proxy, review Configure proxy documentation section.