# Datalogics API Reference > API reference documentation for Datalogics SDKs, generated from the product XML exports. Each product, language, and version has its own index (llms.txt) and a complete single-file Markdown reference (llms-full.txt). Every documentation page is also available as Markdown by adding `.md` to its URL. ## Adobe PDF Library 18 - [C++ APDFL18.0.5PlusP2e](https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2e/llms-full.txt - [C++ APDFL18.0.5PlusP2d](https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2d/llms-full.txt - [C++ APDFL18.0.5PlusP2c](https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2c/llms-full.txt - [C++ APDFL18.0.5PlusP2a](https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2a/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2a/llms-full.txt - [.NET APDFL18.0.5PlusP2e](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/llms-full.txt - [.NET APDFL18.0.5PlusP2d](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2d/llms-full.txt - [.NET APDFL18.0.5PlusP2c](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2c/llms-full.txt - [.NET APDFL18.0.5PlusP2a](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2a/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2a/llms-full.txt - [.NET Framework APDFL18.0.5PlusP2e](https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2e/llms-full.txt - [.NET Framework APDFL18.0.5PlusP2d](https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2d/llms-full.txt - [.NET Framework APDFL18.0.5PlusP2c](https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2c/llms-full.txt - [.NET Framework APDFL18.0.5PlusP2a](https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2a/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2a/llms-full.txt - [Java APDFL18.0.5PlusP2e](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms-full.txt - [Java APDFL18.0.5PlusP2d](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2d/llms-full.txt - [Java APDFL18.0.5PlusP2c](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2c/llms-full.txt - [Java APDFL18.0.5PlusP2a](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2a/llms-full.txt ## Adobe PDF Library 21 - [Adobe C++ APDFL21.0.0PlusP1e](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/llms-full.txt - [Adobe C++ APDFL21.0.0PlusP1d](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1d/llms-full.txt - [Adobe C++ APDFL21.0.0PlusP1c](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1c/llms-full.txt - [Adobe C++ APDFL21.0.0PlusP1b](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1b/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1b/llms-full.txt - [.NET APDFL21.0.0PlusP1e](https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1e/llms-full.txt - [.NET APDFL21.0.0PlusP1d](https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1d/llms-full.txt - [.NET APDFL21.0.0PlusP1c](https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1c/llms-full.txt - [.NET Framework APDFL21.0.0PlusP1e](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms-full.txt - [.NET Framework APDFL21.0.0PlusP1d](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1d/llms-full.txt - [.NET Framework APDFL21.0.0PlusP1c](https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1c/llms-full.txt - [Java APDFL21.0.0PlusP1e](https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1e/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1e/llms-full.txt - [Java APDFL21.0.0PlusP1d](https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1d/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1d/llms-full.txt - [Java APDFL21.0.0PlusP1c](https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1c/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1c/llms-full.txt - [Modern C++ 21.4.0](https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/llms.txt) (latest): index. Complete reference: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/llms-full.txt - [Modern C++ 21.3.3](https://docs.datalogics.com/apdfl21/ModernCPP/21.3.3/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/ModernCPP/21.3.3/llms-full.txt - [Modern C++ 21.2.0](https://docs.datalogics.com/apdfl21/ModernCPP/21.2.0/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/ModernCPP/21.2.0/llms-full.txt - [Modern C++ 21.1.0](https://docs.datalogics.com/apdfl21/ModernCPP/21.1.0/llms.txt): index. Complete reference: https://docs.datalogics.com/apdfl21/ModernCPP/21.1.0/llms-full.txt ## Notes - Version folders are named exactly as released; pick the version that matches the SDK you have installed. - Developer guides, samples, and licensing: https://dev.datalogics.com/ - Technical support: https://www.datalogics.com/tech-support-pdfs --- # Adobe PDF Library 18 C++ API Reference APDFL18.0.5PlusP2e - Index: https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl18/CPlusPlus/APDFL18.0.5PlusP2e/llms-full.txt The Adobe PDF Library C++ API provides low-level access to PDF document manipulation. The API is organized into functional layers, each containing related functions, definitions, and data types. --- # Adobe PDF Library 18 .NET API Reference APDFL18.0.5PlusP2e - Index: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/llms-full.txt The Adobe PDF Library .NET API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. ### Instantiating the Library The Library object must be instantiated on each thread before any of the PDFL objects are used. If the Library object is instantiated on any thread, it must also at least be instantiated on the main thread. In addition, for cleanup purposes, the Dispose method **must** be called on the Library object before the thread is terminated. A simple way to accomplish this is a **using** statement: ```csharp using (Library lib = new Library()) // your application code that uses PDFL goes here... ``` The Library object can be instantiated without specifying flags or a list of Resource locations. User Resources will be placed first in the search list. ### Activating a License-Managed version To use an activation key, the *LibraryKey* member of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```csharp Library.LicenseKey = "xxxx-xxxx-xxxx-xxxx"; Library lib = new Library(); ``` --- # Adobe PDF Library 18 .NET Framework API Reference APDFL18.0.5PlusP2e - Index: https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl18/DotNetFramework/APDFL18.0.5PlusP2e/llms-full.txt The Adobe PDF Library .NET Framework API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. ### Instantiating the Library The Library object must be instantiated on each thread before any of the PDFL objects are used. If the Library object is instantiated on any thread, it must also at least be instantiated on the main thread. In addition, for cleanup purposes, the Dispose method **must** be called on the Library object before the thread is terminated. A simple way to accomplish this is a **using** statement: ```csharp using (Library lib = new Library()) // your application code that uses PDFL goes here... ``` The Library object can be instantiated without specifying flags or a list of Resource locations. User resources will be placed first in the search list. ### Activating a License-Managed version To use an activation key, the *LibraryKey* member of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```csharp Library.LicenseKey = "xxxx-xxxx-xxxx-xxxx"; Library lib = new Library(); ``` --- # Adobe PDF Library 18 Java API Reference APDFL18.0.5PlusP2e - Index: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms-full.txt The Adobe PDF Library Java API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. ### Instantiating the Library The Library object must be instantiated on each thread before any of the PDFL objects are used. If the Library object is instantiated on any thread, it must also at least be instantiated on the main thread. In addition, for cleanup purposes, the Delete method **must** be called on the Library object before the thread is terminated. ```java Library lib = new Library(); // your application code that uses PDFL goes here... lib.delete(); ``` The Library object can be instantiated without specifying flags or a list of Resource locations. User resources will be placed first in the search list. ### Activating a License-Managed version To use an activation key, the *setLicenseKey()* static method of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```java Library.setLicenseKey("xxxx-xxxx-xxxx-xxxx"); Library lib = new Library(); ``` --- # Adobe PDF Library 21 Adobe C++ API Reference APDFL21.0.0PlusP1e - Index: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/llms-full.txt The Adobe PDF Library Adobe C++ API provides low-level access to PDF document manipulation. The API is organized into functional layers, each containing related functions, definitions, and data types. --- # Adobe PDF Library 21 .NET API Reference APDFL21.0.0PlusP1e - Index: https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl21/DotNet/APDFL21.0.0PlusP1e/llms-full.txt The Adobe PDF Library .NET API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. ### Instantiating the Library The Library object must be instantiated on each thread before any of the PDFL objects are used. If the Library object is instantiated on any thread, it must also at least be instantiated on the main thread. In addition, for cleanup purposes, the Dispose method **must** be called on the Library object before the thread is terminated. A simple way to accomplish this is a **using** statement: ```csharp using (Library lib = new Library()) // your application code that uses PDFL goes here... ``` The Library object can be instantiated without specifying flags or a list of Resource locations. User Resources will be placed first in the search list. ### Activating a License-Managed version To use an activation key, the *LibraryKey* member of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```csharp Library.LicenseKey = "xxxx-xxxx-xxxx-xxxx"; Library lib = new Library(); ``` --- # Adobe PDF Library 21 .NET Framework API Reference APDFL21.0.0PlusP1e - Index: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl21/DotNetFramework/APDFL21.0.0PlusP1e/llms-full.txt The Adobe PDF Library .NET Framework API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. ### Instantiating the Library The Library object must be instantiated on each thread before any of the PDFL objects are used. If the Library object is instantiated on any thread, it must also at least be instantiated on the main thread. In addition, for cleanup purposes, the Dispose method **must** be called on the Library object before the thread is terminated. A simple way to accomplish this is a **using** statement: ```csharp using (Library lib = new Library()) // your application code that uses PDFL goes here... ``` The Library object can be instantiated without specifying flags or a list of Resource locations. User resources will be placed first in the search list. ### Activating a License-Managed version To use an activation key, the *LibraryKey* member of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```csharp Library.LicenseKey = "xxxx-xxxx-xxxx-xxxx"; Library lib = new Library(); ``` --- # Adobe PDF Library 21 Java API Reference APDFL21.0.0PlusP1e - Index: https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1e/llms.txt - Complete reference: https://docs.datalogics.com/apdfl21/Java/APDFL21.0.0PlusP1e/llms-full.txt The Adobe PDF Library Java API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. ### Instantiating the Library The Library object must be instantiated on each thread before any of the PDFL objects are used. If the Library object is instantiated on any thread, it must also at least be instantiated on the main thread. In addition, for cleanup purposes, the Delete method **must** be called on the Library object before the thread is terminated. ```java Library lib = new Library(); // your application code that uses PDFL goes here... lib.delete(); ``` The Library object can be instantiated without specifying flags or a list of Resource locations. User resources will be placed first in the search list. ### Activating a License-Managed version To use an activation key, the *setLicenseKey()* static method of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```java Library.setLicenseKey("xxxx-xxxx-xxxx-xxxx"); Library lib = new Library(); ``` --- # Adobe PDF Library 21 Modern C++ API Reference 21.4.0 - Index: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/llms.txt - Complete reference: https://docs.datalogics.com/apdfl21/ModernCPP/21.4.0/llms-full.txt The Adobe PDF Library Modern C++ API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area.