Full offline mode
Use the Pdftools software fully offline with valid license keys for at least three months or more, depending on your license. Your local network can stay without an internet connection, and license keys are validated for a set period of time.
Activate the same license key on up to 10 offline LGS machines. Follow the License key activation steps on each machine. To activate on more than 10 machines, contact Pdftools through the Contact form.
The full offline mode isn’t available for the free trial license keys created in the Pdftools Portal.
For Docker deployments, review Full offline mode in Docker.
Before you start
Make sure your license key supports full offline mode. Whether you can use offline mode depends on the order form and quote you accepted from Pdftools. If you require an upgrade to get this feature, contact Pdftools through the Contact form.
Activate one license key on multiple machines
Multi-machine activation requires LGS version 1.3.1030 or later.
To check the version of your LGS installation, run the following command:
ptl --version
A single license key supports activation on up to 10 separate offline LGS machines. Each machine requires its own LGS installation, configuration, and a separate activation. Deactivating on one machine doesn’t affect the other machines using the same license key.
To activate the same license key on multiple machines:
- Install and configure the LGS on each offline machine as described in Install the LGS and Configure the LGS for offline use.
- Activate the license key on each machine individually by following the steps in License key activation.
- Reactivate the license key on each machine before the 365-day activation period expires, as described in License key reactivation.
To activate the same license key on more than 10 machines, contact Pdftools through the Contact form.
Install the LGS
Install the LGS to set up fully offline configuration. Download and install the package on a machine in your network that is not connected to the internet.
- The Conversion Service comes with the LGS preinstalled on Windows. Installing the LGS on such a machine for the second time may render the Conversion Service unusable. For more details, review the implementation of the Licensing Gateway Service in the Conversion Service licensing documentation.
- The full offline mode is available in the Conversion Service version 6+. Configure the full offline mode using steps described in Full offline mode license activation section.
If you want to install the LGS on another machine than the one where you run the Conversion Service, follow the steps in this section Install the LGS, and then continue with Full offline mode license activation section.
- Windows
- Linux
- Download the LicensingGatewayService.msi package.
- Run the installer.
The installer also creates a Windows service that acts as an agent to regularly synchronize the LGS with the Pdftools Licensing Server.
On Linux systems, the LGS requires glibc 2.34+.
- Download the licgwy_amd64.snap package.
- Install the snap package:
snap install licgwy_amd64.snap --classic --dangerous
The installer also creates a service that acts as an agent to regularly synchronize the LGS with the Pdftools Licensing Server.
On Linux, the CLI command name depends on which snap package is installed:
- On the offline machine (
licgwysnap): invoke the CLI aslicgwy.ptl. - On the online machine (
ptlsnap): invoke the CLI asptl.
To create a shorter alias on the offline machine, run the following command with elevated privileges:
sudo snap alias licgwy.ptl ptl
On Windows, the CLI is always ptl on both machines. All CLI examples on this page use ptl for brevity.
Configure the LGS for offline use
To configure the LGS:
-
Find the LGS configuration file
appsettings.json:- Windows
- Linux
For Windows, the configuration file is in the installation folder, for example:
C:\Program Files\Pdftools\Licensing Gateway Service\appsettings.jsonFor Linux systems the configuration file is in the
$SNAP_DATAdirectory, for example:/var/snap/licgwy/current/appsettings.jsonExample configuration file:
{"LicensingServicePortNumber": 9999,"LogFilePath": "C:/logs/pdftls/log.txt","LogRetentionDays": 7,"Endpoints": []} -
Turn on offline mode in the LGS. Update the configuration file so that the
IsOfflineModeproperty is set totrue.Example configuration file after update:
{"LicensingServicePortNumber": 9999,"LogFilePath": "C:/logs/pdftls/log.txt","LogRetentionDays": 7,"IsOfflineMode": true,"Endpoints": []} -
Optionally, you can configure these options:
- Licensing Service Port number: Set the port number used by the service. The default value is
9999. - Log file path: Specify the desired path of the log files.
- Log retention: Define the number of days the log files remain.
- Endpoints: An array of stored LGS endpoint URLs for batch commands. Managed through
ptl endpoints-addandptl endpoints-remove, but you can also edit this field manually.
- Licensing Service Port number: Set the port number used by the service. The default value is
-
Restart the service after modifying the
appsettings.jsonfile so the changes take effect.
Install the Pdftools Licensing Shell on the online machine
To use the CLI-based activation and deactivation workflows, install the Pdftools Licensing Shell (ptl) on a machine in your network that is connected to the internet.
The ptl CLI is the same tool used on the offline machine for the LGS. Install the same package on the online machine to access the activation and deactivation commands.
- Windows
- Linux
- Download the LicensingShell.msi package.
- Run the installer.
- Download the ptl_amd64.snap package.
- Install the snap package:
snap install ptl_amd64.snap --classic --dangerous
Offline license configuration
The following sections explain how to manage your license keys offline using the ptl CLI or the Pdftools Portal.
You can activate your license in the full offline mode by following the procedures in the following sections:
You can deactivate your license in the full offline mode by following the procedures in the following sections:
Prerequisites
To use the license keys offline, fulfill the following prerequisites:
- The Pdftools Licensing Shell (
ptl) is installed on a machine that is not connected to the internet (offline machine). - Optional: The Pdftools Licensing Shell (
ptl) is installed on the machine that is connected to the internet (online machine). This is only necessary in the procedures that involve license key activation and deactivation using the CLI.
License key activation
Activate license key in the Pdftools Portal
Activate your license key in the full offline mode in the Pdftools Portal by following these steps:
-
On the offline machine with the installed Licensing Gateway Service, generate an offline activation token:
ptl export-activation "LICENSE_KEY_VALUE"- Replace
LICENSE_KEY_VALUEwith your license key.
- Replace
-
Copy the generated offline activation token and transfer it to a machine with internet access.
-
Log in to the Pdftools Portal.
-
Go to the Licenses tab.
-
Paste the offline activation token into the field marked as Insert your token here….

-
Click Activate, and then click Continue.
-
Copy the generated license activation token and transfer it to the offline machine.
-
On the offline machine, activate or extend the license key:
ptl import-activation "LICENSE_ACTIVATION_TOKEN"- Replace
LICENSE_ACTIVATION_TOKENwith your license activation token from the previous step.
- Replace
The license is activated or extended and ready for use.
When you activate a license key in the LGS, it’s linked to that machine. You can activate the same license key on up to 10 offline LGS machines without deactivating it first.
Activate license key using the CLI
Activate your license key in the full offline mode using the ptl CLI by following these steps:
-
On the offline machine with the installed Licensing Gateway Service, generate an offline activation token:
ptl export-activation "LICENSE_KEY_VALUE"- Replace
LICENSE_KEY_VALUEwith your license key.
- Replace
-
Copy the generated offline activation token and transfer it to the online machine.
-
On the online machine with the installed Pdftools Licensing Shell, activate the token:
ptl activate "OFFLINE_ACTIVATION_TOKEN"- Replace
OFFLINE_ACTIVATION_TOKENwith the offline activation token from the previous step.
- Replace
-
Copy the generated license activation token and transfer it to the offline machine.
-
On the offline machine, activate or extend the license key:
ptl import-activation "LICENSE_ACTIVATION_TOKEN"- Replace
LICENSE_ACTIVATION_TOKENwith your license activation token from the previous step.
- Replace
The license is activated or extended and ready for use.
When you activate a license key in the LGS, it’s linked to that machine. You can activate the same license key on up to 10 offline LGS machines without deactivating it first.
License key deactivation
Although you can activate a license key on up to 10 machines, deactivate the license key on machines you plan to retire. If a machine with an active license key becomes permanently inaccessible, the activation slot remains occupied. If all slots are used, contact Pdftools support to free an activation. Review the Support page.
Deactivate license key in the Pdftools Portal
Deactivate your license key in the full offline mode in the Pdftools Portal by following these steps:
-
On the offline machine with the installed LGS, locally deactivate the license key:
ptl export-deactivation "LICENSE_KEY_VALUE"- Replace
LICENSE_KEY_VALUEwith your license key. - You can’t generate a new activation request token for the same license key until you complete all deactivation steps.
- Replace
-
Copy the generated license deactivation request token and transfer it to a machine with internet access.
-
Log in to Pdftools Portal.
-
Go to the Licenses tab.
-
Click Deactivate.
-
Paste the license deactivation request token into the field marked as Insert your token here….

-
Click Deactivate, and then click Continue.
-
Copy the generated license deactivation token and transfer it to the offline machine.
-
On the offline machine, deactivate the license key:
ptl import-deactivation "LICENSE_DEACTIVATION_TOKEN"- Replace
LICENSE_DEACTIVATION_TOKENwith your license deactivation token from the previous step.
- Replace
The license is removed from the system. If necessary, you can generate a new activation request token for this license key.
Deactivate license key using the CLI
Deactivate your license key in the full offline mode using the ptl CLI by following these steps:
-
On the offline machine with the installed LGS, locally deactivate the license key:
ptl export-deactivation "LICENSE_KEY_VALUE"- Replace
LICENSE_KEY_VALUEwith your license key. - You can’t generate a new activation request token for the same license key until you complete all deactivation steps.
- Replace
-
Copy the generated license deactivation request token and transfer it to the online machine.
-
On the online machine with the installed Pdftools Licensing Shell, deactivate the token:
ptl deactivate "OFFLINE_DEACTIVATION_TOKEN"- Replace
OFFLINE_DEACTIVATION_TOKENwith the token from the previous step.
- Replace
-
Copy the generated license deactivation token and transfer it to the offline machine.
-
On the offline machine, deactivate the license key:
ptl import-deactivation "LICENSE_DEACTIVATION_TOKEN"- Replace
LICENSE_DEACTIVATION_TOKENwith your license deactivation token from the previous step.
- Replace
The license is removed from the system. If necessary, you can generate a new activation request token for this license key.
Manage stored endpoints
When managing multiple LGS instances, save frequently used endpoint URLs so you don’t have to specify them on every batch command invocation.
| Command | Description |
|---|---|
ptl endpoints-add <url> | Save an LGS endpoint URL (must be a valid HTTP or HTTPS URL). |
ptl endpoints-remove <url> | Remove a stored endpoint. |
ptl endpoints-list | List all stored endpoints. |
Stored endpoints are saved in the "Endpoints" array in appsettings.json. You can also edit this field manually.
When batch commands (activate-all, deactivate-all, batch-export-activation, batch-export-deactivation) are called without endpoint URL arguments, they automatically use the stored endpoints. Endpoint URLs provided on the command line always take priority over stored ones.
Batch activation across multiple LGS instances
To activate the same license key across multiple LGS instances, such as several Docker containers, Linux servers, or Windows machines, use the batch commands. The machine running ptl must be able to reach all listed LGS endpoints over the network. Whether internet access is also required depends on whether you use the Pdftools Portal or a fully offline CLI workflow.
Save your LGS endpoint URLs with ptl endpoints-add to avoid specifying them on every batch command. For details, refer to Manage stored endpoints.
Batch activation
Batch activate in the Pdftools Portal
Activate a license key across multiple LGS instances using the Pdftools Portal by following these steps:
-
Generate a batch activation token from all LGS endpoints:
ptl batch-export-activation "LICENSE_KEY_VALUE" ENDPOINT_1 ENDPOINT_2- Replace
LICENSE_KEY_VALUEwith your license key. - Replace
ENDPOINT_1 ENDPOINT_2with the addresses of your LGS instances (for example,http://localhost:9991http://localhost:9992). Omit the endpoint arguments to use stored endpoints.
- Replace
-
Copy the generated batch activation token. If the machine running
ptldoesn’t have internet access, transfer the token to a machine that does. -
Log in to the Pdftools Portal.
-
Go to the Licenses tab.
-
Paste the batch activation token into the field marked as Insert your token here….

-
Click Activate, and then click Continue.
-
Copy the generated license activation token. If necessary, transfer it back to the machine running
ptl. -
Import the activation across all LGS instances:
ptl batch-import-activation "LICENSE_ACTIVATION_TOKEN"- Replace
LICENSE_ACTIVATION_TOKENwith the token from the previous step.
- Replace
The license key is activated across all specified LGS instances.
Batch activate using the CLI
If the machine running ptl has internet access, activate a license key across multiple LGS instances by following these steps:
-
Generate a batch activation token from all LGS endpoints:
ptl batch-export-activation "LICENSE_KEY_VALUE" ENDPOINT_1 ENDPOINT_2- Replace
LICENSE_KEY_VALUEwith your license key. - Replace
ENDPOINT_1 ENDPOINT_2with the addresses of your LGS instances. Omit the endpoint arguments to use stored endpoints.
- Replace
-
Copy the generated batch activation token.
-
Activate the token online:
ptl activate "BATCH_ACTIVATION_TOKEN"- Replace
BATCH_ACTIVATION_TOKENwith the token from the previous step. Theactivatecommand auto-detects batch tokens.
- Replace
-
Copy the generated license activation token.
-
Import the activation across all LGS instances:
ptl batch-import-activation "LICENSE_ACTIVATION_TOKEN"- Replace
LICENSE_ACTIVATION_TOKENwith the token from the previous step.
- Replace
The license key is activated across all specified LGS instances.
Shortcut: activate-all
If the machine running ptl has internet access, use the activate-all command as a shortcut that combines the export, activate, and import steps:
ptl activate-all "LICENSE_KEY_VALUE" ENDPOINT_1 ENDPOINT_2
- Replace
LICENSE_KEY_VALUEwith your license key. - Replace
ENDPOINT_1 ENDPOINT_2with the addresses of your LGS instances. Omit the endpoint arguments to use stored endpoints.
Batch deactivation
Batch deactivate in the Pdftools Portal
Deactivate a license key across multiple LGS instances using the Pdftools Portal by following these steps:
-
Generate a batch deactivation token from all LGS endpoints:
ptl batch-export-deactivation "LICENSE_KEY_VALUE" ENDPOINT_1 ENDPOINT_2- Replace
LICENSE_KEY_VALUEwith your license key. - Replace
ENDPOINT_1 ENDPOINT_2with the addresses of your LGS instances. Omit the endpoint arguments to use stored endpoints.
- Replace
-
Copy the generated batch deactivation token. If the machine running
ptldoesn’t have internet access, transfer the token to a machine that does. -
Log in to the Pdftools Portal.
-
Go to the Licenses tab.
-
Click Deactivate.
-
Paste the batch deactivation token into the field marked as Insert your token here….

-
Click Deactivate, and then click Continue.
-
Copy the generated license deactivation token. If necessary, transfer it back to the machine running
ptl. -
Import the deactivation across all LGS instances:
ptl batch-import-deactivation "LICENSE_DEACTIVATION_TOKEN"- Replace
LICENSE_DEACTIVATION_TOKENwith the token from the previous step.
- Replace
The license key is deactivated across all specified LGS instances.
Batch deactivate using the CLI
If the machine running ptl has internet access, deactivate a license key across multiple LGS instances by following these steps:
-
Generate a batch deactivation token from all LGS endpoints:
ptl batch-export-deactivation "LICENSE_KEY_VALUE" ENDPOINT_1 ENDPOINT_2- Replace
LICENSE_KEY_VALUEwith your license key. - Replace
ENDPOINT_1 ENDPOINT_2with the addresses of your LGS instances. Omit the endpoint arguments to use stored endpoints.
- Replace
-
Copy the generated batch deactivation token.
-
Deactivate the token online:
ptl deactivate "BATCH_DEACTIVATION_TOKEN"- Replace
BATCH_DEACTIVATION_TOKENwith the token from the previous step. Thedeactivatecommand auto-detects batch tokens.
- Replace
-
Copy the generated license deactivation token.
-
Import the deactivation across all LGS instances:
ptl batch-import-deactivation "LICENSE_DEACTIVATION_TOKEN"- Replace
LICENSE_DEACTIVATION_TOKENwith the token from the previous step.
- Replace
The license key is deactivated across all specified LGS instances.
Shortcut: deactivate-all
If the machine running ptl has internet access, use the deactivate-all command as a shortcut that combines the export, deactivate, and import steps:
ptl deactivate-all "LICENSE_KEY_VALUE" ENDPOINT_1 ENDPOINT_2
- Replace
LICENSE_KEY_VALUEwith your license key. - Replace
ENDPOINT_1 ENDPOINT_2with the addresses of your LGS instances. Omit the endpoint arguments to use stored endpoints.
License key reactivation
The activated license key is valid in the full offline mode for 365 days. Reactivate the license key to extend this period for another 365 days. The license expiration date is independent of this activation period. For example:
- Your license key expires in two years. You can reactivate the license key for full offline mode before or after the 365-day period expires. This will reset the offline activation license period to another 365 days.
- Your license key expires in six months. Your offline activation period is displayed as 365 days. Your license key stops working after 6 months, but the license key activation period still displays 182 days remaining.
You can reactivate your license at any time. Reactivation only resets the full offline mode activation period to 365 days. Reactivate the license key before the activation period expires to ensure uninterrupted use. If you reactivate after the activation period expires, the license stops working until you complete the reactivation.
To reactivate your license key:
- Repeat the activation steps as described in License key activation section.
If you activated the same license key on multiple offline LGS machines, reactivate it on each machine individually. Complete the reactivation before the 365-day activation period expires.
References
The following section lists the ptl CLI commands for managing licenses in the fully offline configuration.
CLI commands
The Pdftools Licensing Shell (ptl) is a command-line interface for managing licenses associated with your Pdftools products.
To access a full list of available commands, use the ptl help command.
General commands
| Command | Description |
|---|---|
ptl help | Get instructions on how to use the CLI with a full list of commands. |
ptl version | Get the version number. |
ptl status | Check the licensing service status. |
ptl list | Get information about added license keys and for how long they are valid. |
Single-instance offline commands (run on the offline machine)
| Command | Description |
|---|---|
ptl export-activation LICENSE_KEY_VALUE | Export an activation request. |
ptl import-activation LICENSE_ACTIVATION_TOKEN | Import an activation response. |
ptl export-deactivation LICENSE_KEY_VALUE | Export a deactivation request. |
ptl import-deactivation LICENSE_DEACTIVATION_TOKEN | Import a deactivation response. |
Online activation and deactivation commands (run on the online machine)
| Command | Description |
|---|---|
ptl activate TOKEN | Activate an offline token. Auto-detects single and batch tokens. |
ptl deactivate TOKEN | Deactivate an offline token. Auto-detects single and batch tokens. |
Batch commands (for multiple LGS instances)
| Command | Description |
|---|---|
ptl activate-all LICENSE_KEY [ENDPOINT...] | Activate a license key across multiple LGS endpoints in one step. |
ptl deactivate-all LICENSE_KEY [ENDPOINT...] | Deactivate a license key across multiple LGS endpoints in one step. |
ptl batch-export-activation LICENSE_KEY [ENDPOINT...] | Export a batch activation token from multiple LGS endpoints. |
ptl batch-import-activation TOKEN | Import a batch activation response to all LGS endpoints. |
ptl batch-export-deactivation LICENSE_KEY [ENDPOINT...] | Export a batch deactivation token from multiple LGS endpoints. |
ptl batch-import-deactivation TOKEN | Import a batch deactivation response to all LGS endpoints. |
Endpoint management commands
| Command | Description |
|---|---|
ptl endpoints-add <url> | Save an LGS endpoint URL. |
ptl endpoints-remove <url> | Remove a stored endpoint. |
ptl endpoints-list | List all stored endpoints. |
Full offline mode with Pdftools OCR Service
If you configured the full offline mode with the Pdftools OCR Service, update your worker nodes configuration. Follow the steps described in Configuration in connected mode and full offline mode section.