Get started with C
This guide walks you through the steps to use a sample project, and then explains how to integrate the Toolbox add-on into your application with the C programming language.
Getting started with a sample project
Learn how to use the Toolbox add-on using a C sample project and extract all images and image masks from a PDF document.
Prerequisites
This sample project uses GCC toolset 4.8+ and CMake version 3.16 or higher.
Compile and run the sample
-
Download a sample project, and then unzip the file.
-
In the
toolboximageextraction.cfile, replace the string"insert-license-key-here"with your license key:GOTO_CLEANUP_IF_FALSE_PRINT_ERROR(Ptx_Sdk_Initialize(_T("insert-license-key-here"), NULL), _T("Failed to set license key. %s (ErrorCode: 0x%08x).\n"), szErrorBuff, Ptx_GetLastError()); -
Navigate to the root directory of the unzipped sample project, and then run:
cmake . -
Build the sample:
cmake --build . -
Run the compiled sample application. Provide
inputPathfor the input PDF file andoutputDirpath for the output directory where the image files will be stored:./toolboximageextraction <inputPath> <outputDir>For example, to extract all images and image masks from the sample PDF file
ImageCollection.pdfto the output directory/tmp/images, run:./toolboximageextraction ImageCollection.pdf /tmp/images
You can apply a similar procedure as described in this tutorial for other code samples. For more information, see Code samples page.
Integrate the Toolbox add-on into your application
Integrate and initialize the Toolbox add-on into your application by following the instructions in the next sections.
Add the Toolbox add-on to your project
-
Click the download link to get the latest version of the Toolbox add-on for C in a zip archive.
-
Unzip the file on your machine into a local directory recommended for your operating system. For example:
- Windows
- Linux
- macOS
C:\Program Files\PDF Tools AG\Included subdirectories are:
Subdirectory Description libRuntime executable binaries and runtime import libraries:
win-x86\PdfTools_Toolbox.dllandwin-x86\PdfTools_Toolbox.libfor 32-bit Windows
win-x64\PdfTools_Toolbox.dllandwin-x64\PdfTools_Toolbox.libfor 64-bit WindowsincludeHeader files to add to your C or C++ project. The main header PdfTools_Toolbox.hincludes all the other headers./opt/pdftools.com/Included subdirectories are:
Subdirectory Description libRuntime executable binaries for all supported platforms: linux-x64/libPdfTools_Toolbox.sofor 64-bit LinuxincludeHeader files to add to your C or C++ project. The main header PdfTools_Toolbox.hincludes all the other headers./opt/pdftools.com/Included subdirectories are:
Subdirectory Description libRuntime executable binaries:
osx-x64/libPdfTools_Toolbox.dylibfor 64-bit (Intel) macOS
osx-arm64/libPdfTools_Toolbox.dylibfor ARM (Apple Silicon) macOSincludeHeader files to add to your C or C++ project. The main header PdfTools_Toolbox.h includes all the other headers. -
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:
- Windows
- Linux
- macOS
Add the
lib\win-x64orlib\win-x86subdirectory to the%PATH%environment variable.Create a link to the shared library from one of the standard library directories, e.g:
ln -s /opt/pdf-tools.com/lib/linux-x64/libPdfTools_Toolbox.so /usr/libCreate a link to the shared library from one of the standard library directories. For example (for an Intel processor Mac):
ln -s /opt/pdf-tools.com/lib/osx-x64/libPdfTools_Toolbox.dylib /usr/lib
Initialize the SDK
Initialize the Toolbox add-on with your license key. Replace the <PDFSDK,V1,include-your-key-here> in the following function with the value of your license key:
// Initialize library
Ptx_Initialize();
// Set and check license key. The Toolbox add-on returns an error if you use an invalid license key.
GOTO_CLEANUP_IF_FALSE_PRINT_ERROR(Ptx_Sdk_Initialize(_T("insert-license-key-here"), NULL), _T("Failed to set license key. %s (ErrorCode: 0x%08x).\n"), szErrorBuff, Ptx_GetLastError());
Without a valid license key the Toolbox add-on returns an error. Get in touch with the Pdftools sales team through the Contact page to get a full license.
Uninitialize the SDK
After processing files with the Toolbox add-on, call the Uninitialize function to unload the library correctly:
// Uninitialize library
Ptx_Uninitialize();
Implement your use case
- Find more use cases and sample projects on the Toolbox add-on Code samples page.
- For more technical information about the Toolbox add-on for C, consult the C technical notes.