Migrating from 3-Heights® PDF Toolbox API to the PDF Toolbox SDK
This guide explains how to migrate from 3-Heights® PDF Toolbox API (version 6.12) to the PDF Toolbox SDK (version 2.2 and higher).
Follow these steps to migrate your project to the PDF Toolbox SDK:
- Read the overview and changes for your chosen interface, and adapt your project accordingly.
- Use the source code migration script initiate source code migration. This step can alternatively be done manually with the help of the reference.
- Refer to interface changes to update your code to reflect incompatible interface changes and changed functional behavior. The source code migration script can help you in this step by marking code that needs attention.
- Run your tests. For many changes, making the source code compile does not guarantee the same behavior. As an additional source of correct usage of the PDF Toolbox SDK, source code samples are available.
Overview
Despite a general similarity in packaging, platform support, programming language bindings, and API, there are significant differences between 3-Heights® PDF Toolbox API and the PDF Toolbox SDK.
Packaging
The 3-Heights® PDF Toolbox API comes as four different ZIP archives PdfToolbox-API-‹version›-‹platform›.[zip|tar.gz]
, one for each platform.
The PDF Toolbox SDK comes as a single ZIP archive PdfToolbox_C-‹version›.zip
.
- .NET
- Java
- C
The 3-Heights® PDF Toolbox API comes as a NuGet package, which targets
- .NET Framework 2.0 and higher
- .NET Standard 1.1
- .NET Standard 2.0
The PDF Toolbox SDK comes as a NuGet package, which targets
- .NET Standard 2.0
All NuGet packages are hosted on https://www.nuget.org.
3-Heights® PDF Toolbox API | PDF Toolbox SDK |
---|---|
3-Heights® PDF Toolbox JAR file PdfToolboxAPI.jar | PDF Toolbox JAR file com.pdf_tools.fourheights.pdftoolbox.jar |
The 64-bit native library for the respective platform: PdfToolboxAPI.dll , libPdfToolboxAPI.so , or libPdfToolboxAPI.dylib . (For Windows, also the 32-bit library.) | The native libraries for all supported platforms (Windows 64-bit and 32-bit, Linux 64-bit, macOS 64-bit): PdfToolbox.dll , libPdfToolbox.so , libPdfToolbox.dylib |
A graphical license management tool or the license management shell tool | The license management tools are no longer necessary. See License keys |
Manual and JavaDoc API reference | Manual and JavaDoc API reference |
Samples | Samples are no longer provided in the kit, but are available online. |
3-Heights® PDF Toolbox API | PDF Toolbox SDK |
---|---|
C header files | C header files |
The 64-bit native library for the respective platform: PdfToolboxAPI.dll , libPdfToolboxAPI.so , or libPdfToolboxAPI.dylib . (For Windows, also the 32-bit library.) | The native libraries for all supported platforms (Windows 64-bit and 32-bit, Linux 64-bit, macOS 64-bit): PdfToolbox.dll , libPdfToolbox.so , libPdfToolbox.dylib |
A graphical license management tool or the license management shell tool | The license management tools are no longer necessary. See License keys |
Manual | Manual |
Samples | Samples are no longer provided in the kit, but are available online. |
C header files
In 3-Heights® PDF Toolbox API, there is one main header filepdftoolboxapi_c.h
, which included the additional header filespdfcdecl.h
, pdfcopydecl.h
, pdffiledecl.h
, pdfintfdecl.h
, and pdfsecuritydecl.h
.
In the PDF Toolbox SDK, there is one main header filePdfToolbox.h
, which includes the following subheader files:
PdfToolbox_Platform.h
: A platform abstraction header file.PdfToolbox_Types.h
: Declaration of all types.PdfToolbox_‹prefix›.h
: Subheader file for each ‹prefix› (seePrefixes), containing function declarations.
License keys
The 3-Heights® PDF Toolbox API supports the installation of machine-bound license 3-Heights® license keys by means of the graphical tool LicenseManager.exe
for Windows or the shell toollicmgr
for all platforms.
The PDF Toolbox SDK does not support installed keys anymore. Instead, a license key must be provided at application initialization time. See also The Sdk functions
.Additionally, the license key has a new format: <4H,V4,TOOLSDK,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>
.
Changes to the interface
- .NET
- Java
- C