Adobe® PDF Library

Installing the Software


Adobe PDF Library is delivered as a self-extracting executable file (.exe). You can download the latest software release package from your secure FTP user account on the Datalogics FTP site (  You can download it to any local or server directory and install it from there.

By default the process will install the files to a series of directories under APDFL18. You can use "APDFL" or create your own directory name and location. The full product installs to six subfolders, CPlusPlus, Documentation, DotNET, DotNETCore, Java, and Resources. This applies to both Windows and Linux/Unix machines.

The CPlusPlus directory stores the C libraries for the Adobe PDF Library as well as supporting materials.  The Dynamic Link Library (DLL) files are stored in the Binaries directory, and the C++ sample programs in Sample_Source.  You will also find Header files in the Include directory and a variety of resources in the Resources folder, including fonts and CMap files that you can use for rendering PDF files.  You will need to distribute these files with any applications you create. The sample programs and library files related to the Java, .NET, and .NET Core interfaces are found in the Java, DotNET, and DotNETCore subfolders.

Running the installation process

If you are already using Adobe PDF Library and decide to install a newer version, you should plan to install the new software release in a new directory. That is, when you install a new release for APDFL it will not overwrite or otherwise conflict with previous versions of the same product. You will have two complete installations of the product in two different places on your machine, the new version and your original.

After you complete the installation process, the result might look something like this:

If you are transitioning from an earlier version of the Adobe PDF Library to the latest release, make sure that any applications that you already built and that rely on the Library point to the correct directories for the latest version of the software.  Also, make sure that you move any font files, CMap files, or other custom resources from your old APDFL installation directories to the new file folders, if necessary, so that any applications you built using the Library will be able to find these files.

Feel free to delete the files and folders for the earlier installation of the product if you like. It is not necessary to uninstall earlier versions of the software or delete registry keys.

Note that if you use the Windows installer (.exe file) to install the Adobe PDF Library, you will be prompted to select the components you want to add to your software package. You can choose any of these four options:

Windows install

So if you only select Java, only the Java folder will appear in the root installation directory, with Documentation and Resources. You won’t see folders for C++, .Net, or .NET Core:

The Folder Structure

You should see at most six top level directories, for C++, Java, .NET and .NET Core files, including a folder for Documentation and another for Resources.

The CPlusPlus directory holds the original C language interface to the Library, including the library files, header files, and sample program files. For Linux applications, the corresponding .so files are included. For Mac systems, the framework (.framework) files are included.

The other folders hold the .NET and Java interfaces to the Library, and the .NET Core interface. The Java, DotNET and DotNET Core folders also hold an independent copy of the C library files.

The Documentation directories each provide a link to the online programming reference for Java, .NET, or .NET Core. In the Java, DotNET, or DotNETCore folder, click Index.html to open an HTML reference for the APIs built using Doxygen.

The Resources folder holds mostly fonts needed by the applications using the Library, as well as input files used by the sample programs and other items.

Windows install

This folder should be the first location to check if your application encounters problems rendering document text, or any other font issue. This is especially true if the document references fonts but does not include them. The Resource folder is where an Adobe PDF Library application will look to find necessary font information if it is not embedded in the PDF file itself.

Color. A color profile (.icc) file is used to manage colors used in a PDF document, to make sure that the colors for text or graphics in a PDF are the same regardless of the hardware or software used to display, edit, or print that file. The .icc file is normally embedded within the PDF document itself, though color profiles are also provided with software applications and hardware devices, like printers.

joboption. The joboption file is provided by Adobe Systems and is used to define the properties of a PDF document to be generated. It is used with the standard plug-ins provided with the Adobe PDF Library.

CMAP, Font, and Unicode. CMAP refers to a type of font called a Character Map. Some fonts in PDF files use predefined mappings between character encodings and specific, predefined character identifier sets. These mappings (CMaps) are a standard part of the PDF specification. Because of their large size, these character maps are stored in files that are provided with Acrobat and other Adobe Systems products, and are usually referenced by name from PDF files when needed.
Unicode is an international font standard for coding and representing text digitally. The Unicode font set contains all of the characters for most of the alphabets and writing systems in the world, more than 120,000 characters used in 129 modern and historic alphabets and scripts. Besides western alphabets, Unicode contains characters for Multi-byte character sets, including the Chinese, Japanese, Korean, and Vietnamese writing systems.

Managing installed files

The Adobe PDF Library is more of a toolbox than an application, so the installation process does not automatically place DLL files in known locations such as C:\Windows\System32. The installation also does not add or change Windows registry keys.  We assume that when you build your own Library application, you will allocate resources in your own setup procedures, and make their location or locations known to Adobe PDF Library.

You do not need to define any environment variables for Windows before you build your own applications using Adobe PDF Library.

When installing an update to Adobe PDF Library, be sure to propagate the new library and DLL files to any locations where previous copies may be found.  Verify that your application build procedures reference the correct version number as seen in the Adobe PDF Library filenames, such as DL180PDFL.dll.

When you deploy the Adobe PDF Library, the components you need depend on the language interface you use.

Digital signatures in the Dynamic Link Library files

Right click on a DLL file, select Properties, and open the Digital Signatures tab to verify that a digital signature is in place for a file. Each DLL file provided with the Adobe PDF Library contains a digital signature. The signature ensures the DLL is authentic; the DLL files were provided by Datalogics and have not been altered. The DLL for the .NET and .NET Core interfaces, Datalogics.PDFL.dll, is a strong-named assembly that can be installed in the Global Assembly Cache.

Max speed libraries

Note that the MaxSpeedLibs directory is only provided with Adobe PDF Library 15. The directory is no longer needed with APDFL 18.

The DLL files contained in the Binaries/MaxSpeedLibs directory trade floating-point strictness and file size in favor of run time performance. They are compiled using settings that favor speed, such as using the SS2 instruction set and the "Fast" floating point model. These libraries perform 15% to 20% faster than the regular libraries. The improvements are most obvious during render and color conversion operations.

Setting up the Java and Microsoft .NET and .NET Core interfaces for Windows

For your convenience, we provide copies of the DLL files for use with the Java and .NET Interfaces and for .NET Core when you install the Adobe PDF Library.  That way, when you install this Interface the system is ready for you to get started. You don’t have to copy these DLL files yourself.

So the DLL files that appear in your Binaries directory for the Adobe PDF Library will match the DLL files that appear in the Binaries directories under the Java and DotNET directories for use with the Java and .NET Interface. The same is true for DotNETCore.  But we provide four other DLL files as well.  Two of them are interfaces that allow Java or .NET programs that you create to call the Adobe PDF Library core functions:

  • com-datalogics-DL180PDFL.dll is the interface for Java
  • DL180PDFLPINVOKE.dll is the interface for .NET programs

Both of these DLL files communicate with Datalogics.PDFL.dll, and Datalogics.PDFL.dll in turn communicates with DL180PFL.DLL, which links the Java and .NET Interface to the native Adobe PDF Library DLL files.

Note the reference to “180” in these file names in fact refers to the most recent version of the PDF Library, 18.0.x.


To work with Adobe PDF Library on Mac, please note that:

  1. Autorelease pools are the responsibility of the caller.

A set of macros can be used for convenience. Simply use


At the beginning of the program's main or thread function, and


All Adobe PDF Library v18 samples have been updated to use these convenience macros.

  1. Projects must be set to compile as Objective-C or Objective-C++. To do this, open the Build Settings tab of the project or target, and change the "Compile Sources As" setting to

Objective-C or

The following environment variables must be defined for MacOS before you build applications using Adobe PDF Library.

DYLD_LIBRARY_PATH A value specifying your library file locations:
DYLD_FRAMEWORK_PATH A value specifying your Java and .NET Interface frameworks location:

Working with the Java and Microsoft .NET interfaces, and .NET Core, on a MacOS platform

Follow these steps to set up the Adobe PDF Library Java and .NET Interface on a MacOS platform.

  1. Double click on the .dmg file.
  2. You should see a window open that shows an APDFL18.0.x folder. Copy or drag that folder to the APDFL folder on your desktop.
  3. Rename the folder APDFL18.0.xPlusxxx, where “xxx” is the specific version. Look for the version value in the name of the dmg file that you run to install the product. For example, if the file name is “APDFL18.0.3PlusP1h_MacOSX.dmg,” the version is the “P1h” value.
  4. To run the APDFL samples, make sure that you put the frameworks included in the APDFL release, such as “./Binaries” in this system location:


  1. As an alternative, you can set environment variables for DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH to point to equivalent Library Framework locations.
  2. Then, to run the sample programs, simply double click on the appropriate project file. For APDFL sample programs, select “Build and Go.”
  3. For sample Java programs, click on the Terminal icon on the dock to open a Terminal Session.

Note that you can run Java on a Mac computer from a Terminal Session from the working directory—where the ./APDFL18.0.x/Java files and folders are installed.

  1. The Terminal Session opens. This is effectively a UNIX dialog.  You will be at the Users/your user folder by default.  Change to the installation directory for Java. Use the “cd Desktop” command and then:
    1. cd APDFL
    2. cd P3a release
    3. cd Java


UNIX installations will contain the Adobe PDF Library files in a single .bsx file (a bash self-extracting script), or in a single .tar file for IBM AIX or Oracle SPARC Solaris platforms, typically gzipped with the .gz file extension. Unpack the release to the proper directory, such as /var, /opt, /var/Datalogics or /opt/Datalogics. The release will unpack itself into directory trees under the current location.

The following steps demonstrate a typical installation on a Linux machine. Other UNIX platforms will be similar.

  1. Copy the .bsx or .tar file to your selected location, such as /var/Datalogics.
  2. Issue the unpack command for your release file, such as:

chmod 755 *.bsx



tar xvfz APDFLv18.0.3PlusP1h_x86_64-linux_gcc48.tar.gz

This will unpack the release .tar file into its individual component files and folders.

Subsidiary directories under the top level directories will be created as the unpacking process proceeds. After the system unpacks the last file, the directories and subdirectories should be fully populated.

  1. Under the /var/Datalogics/ branch that was just created, locate the *.mak file (whichever one is appropriate for your platform) within /APDFL/Samples/utils:


Note that on the bottom of the screen shown above, we change to the All directory, and list (ls) the files found there. The *.mak file offered in this example is called "GNUmakefile."

  1.  Update the definitions as needed to point to the correct gcc and g++ locations on your system, to ensure that make procedures will build correctly.
  2. Set the environment variables:


  1. At this point you should be able to build all samples by issuing a gmake command, triggering a build process that will walk through each sample folder in turn.
  2. After the builds have completed, the samples will run automatically as part of the same process.

See the appropriate listings for your platform in Environment Variables.