Get started with Java
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 Java programming language.
Request trial or full license
Unlike the Pdftools SDK or the Pdftools SDK Shell Tool, the Toolbox add-on requires a license key for both evaluation and full use. To request a license key, follow these steps:
- Reach out to the sales team through the Contact page and mark the Toolbox add-on as the product of your interest for a trial license.
If you already have a license key and you need to copy it, review Find the license key.
Prerequisites
The Toolbox add-on for Java requires Java version 8 or higher.
Getting started with a sample project
Learn how to use Toolbox add-on using a Java sample project and extract all images and image masks from a PDF document.
Compile and run the sample
To compile and run the sample, follow these steps:
-
Download a sample project, and then unzip the file.
-
Copy your license key. For more information, review Find the license key.
-
In the
ToolboxImageExtraction.java
file, replace the string"insert-license-key-here"
with your license key:Sdk.initialize("insert-license-key-here", null);
Use the license key in the same format as you copied it. Include the less-than (
<
) and greater-than (>
) signs. -
In the command line, navigate to the root directory of the unzipped sample project.
-
Create an output directory:
mkdir output_images
-
Compile the Java source file:
- macOS and Linux
- Windows
javac -cp jar/com.pdftools.toolbox.jar:. ToolboxImageExtraction.java
javac -cp jar/com.pdftools.toolbox.jar;. ToolboxImageExtraction.java
-
To extract all images and image masks from the sample PDF file
ImageCollection.pdf
to the output directory/output_images
, run the following command:- macOS and Linux
- Windows
java -cp jar/com.pdftools.toolbox.jar:bin:. ToolboxImageExtraction ImageCollection.pdf /output_images
java -cp jar/com.pdftools.toolbox.jar;bin;. ToolboxImageExtraction ImageCollection.pdf /output_images
The code sample takes:
- The input and output files represented as a file name, a file path with the file name, or the output directory.
- Both file paths (input and output) can be relative or absolute.
Review the following snippet with a placeholder and compare it to the last step of the previous procedure:
- macOS and Linux
- Windows
java -cp jar/com.pdftools.toolbox.jar:bin:. ToolboxImageExtraction INPUT_FILE OUTPUT_DIRECTORY
java -cp jar/com.pdftools.toolbox.jar;bin;. ToolboxImageExtraction INPUT_FILE OUTPUT_DIRECTORY
You can apply a similar procedure as described in this tutorial for other code samples. For more information, see Code samples page.
Integrate the SDK into your application
Integrate and initialize the Pdftools SDK into your application by following the instructions in the next sections.
Add the SDK to your project
- Maven
- Manual
The Toolbox add-on for Java is available on Maven. To add the Toolbox add-on for Java to your project, select your operating system and system architecture and add the following to your pom.xml
:
- linux-x64
- osx-arm64
- osx-x64
- win-x64
- win-x86
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
<classifier>linux-x64</classifier>
<type>so</type>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
<classifier>osx-arm64</classifier>
<type>dylib</type>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
<classifier>osx-x64</classifier>
<type>dylib</type>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
<classifier>win-x64</classifier>
<type>dll</type>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.pdftools</groupId>
<artifactId>toolbox</artifactId>
<version>1.3.0</version>
<classifier>win-x86</classifier>
<type>dll</type>
</dependency>
- Download the Toolbox add-on for Java product kit, and then unzip the file.
- Add the
jar
file to your project's classpath. - Copy the
lib
folder containing the native binary files to your project, for example<project-dir>/lib
.
Load the Toolbox add-on
The Toolbox add-on for Java requires you to load the underlying native binary files suitable for your operating system and system architecture at runtime.
- Maven
- Manual
There are two ways how to load the Toolbox add-on for Java with Maven:
-
If you are consuming Java libraries directly from the local Maven repository, load the native binary files using the following code:
- linux-x64
- osx-arm64
- osx-x64
- win-x64
- win-x86
System.load(System.getProperty("user.home") + "/.m2/repository/com/pdftools/toolbox/1.0.0/toolbox-1.0.0-linux-x64.so");
System.load(System.getProperty("user.home") + "/.m2/repository/com/pdftools/toolbox/1.0.0/toolbox-1.0.0-osx-arm64.dylib");
System.load(System.getProperty("user.home") + "/.m2/repository/com/pdftools/toolbox/1.0.0/toolbox-1.0.0-osx-x64.dylib");
System.load(System.getProperty("user.home") + "/.m2/repository/com/pdftools/toolbox/1.0.0/toolbox-1.0.0-win-x64.dll");
System.load(System.getProperty("user.home") + "/.m2/repository/com/pdftools/toolbox/1.0.0/toolbox-1.0.0-win-x86.dll");
-
Alternatively, use the system library path:
-
Add the Toolbox add-on
lib
directory to the system library path.- Windows: Environment variable
PATH
- Linux and macOS: Defined by
LD_LIBRARY_PATH
- Or specify the path using the VM arg
-Djava.library.path=
.
- Windows: Environment variable
-
Load the library using:
- linux-x64
- osx-arm64
- osx-x64
- win-x64
- win-x86
System.loadLibrary("toolbox-1.0.0-linux-x64");
System.loadLibrary("toolbox-1.0.0-osx-arm64");
System.loadLibrary("toolbox-1.0.0-osx-x64");
System.loadLibrary("toolbox-1.0.0-win-x64");
System.loadLibrary("toolbox-1.0.0-win-x86");
-
In the default configuration of the Toolbox add-on, the lib
directory has the following structure:
lib
├── linux-x64
├── osx-arm64
├── osx-x64
├── win-x64
└── win-x86
If you are using the default directory structure, load the library from the respective subfolder in lib
directory appropriate for your operating system and system architecture.
There are two ways to load the Toolbox add-on for Java manually:
-
Load the Toolbox add-on using the system library path:
-
Add the directory for your operating system to the system library path.
- Windows: environment variable
PATH
. - Linux and macOS: defined by
LD_LIBRARY_PATH
. - Specify the path using the Java VM argument
-Djava.library.path=
.
- Windows: environment variable
-
Load the library from the system's library path by using:
System.loadLibrary("PdfTools_Toolbox");
-
-
Alternatively, load the Toolbox add-on by specifying the absolute path:
- linux-x64
- osx-arm64
- osx-x64
- win-x64
- win-x86
System.load(new File("lib/linux-x64/libPdfTools_Toolbox.so").getAbsolutePath());
System.load(new File("lib/osx-arm64/libPdfTools_Toolbox.dylib").getAbsolutePath());
System.load(new File("lib/osx-x64/libPdfTools_Toolbox.dylib").getAbsolutePath());
System.load(new File("lib/win-x64/PdfTools_Toolbox.dll").getAbsolutePath());
System.load(new File("lib/win-x86/PdfTools_Toolbox.dll").getAbsolutePath());
Note the difference between:
System.load(..)
: Loads the library from an absolute file path.System.loadLibrary(..)
: Load the library from the system's library path.
If you are shipping your application, ensure to ship it with the native binary files.
Note that you must load the native binary files from the file system and cannot load them from within a jar
file or other bundle.
Initialize the SDK
The Toolbox add-on requires a license key even in a trial version (unlike the Pdftools SDK which you can try without a license key). To initialize the Toolbox add-on with your license key, follow these steps:
-
Copy your license key. For more information, review Find the license key.
-
Find the following method, and then replace the
insert-license-key-here
with the value of your license key:Sdk.initialize("insert-license-key-here", null);
Use the license key in the same format as you copied it. Include the less-than (
<
) and greater-than (>
) signs.
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.
Implement your use case
- Find more use cases and sample projects at the Code samples page.
- For more technical information about the Pdftools SDK for Java, consult the Java technical notes.