Release Notes v. 21.0.0.7¶
This guide describes how to install the Adobe PDF Library SDK, as well as general information regarding the release. In addition to this document, please read the PDF Library documentation for important information on developing with and using the PDF Library.
Tip
This document is available in HTML and PDF.
Version 21.0.0.7, December 5, 2024¶
Changes for this release¶
The Base Image Address memory limit of 4GB has been increased for the theAXE8SharedExpat.dll and XPS2PDF.ppi libraries to conform with Address Space Layout Randomization (ASLR) standards.
Font library functionality enhancements.
Note
In our packaging, the updated OpenSSL library is included across all platforms as it is now dynamically linked at runtime.
Fixed bugs¶
4176713: Flattener plugin resolution parameters restricted incorrectly. The limits for 2 flattener parameters are changed to correspond to Acrobat’s behaviour.
internalDPI: (equivalent to “Gradient and Mesh resolution” in Acrobat) is now limited to 1200. The previous value was 9600.
externalDPI: (equivalent to “Line Art and Text resolution” in Acrobat) is now limited to 9600. The previous value was 1200.
4176733: Text disappears after saving with PDSaveLinearized flag
Getting started¶
System requirements¶
The following operating systems and compilers are supported by PDFL 21.0.0.7:
Note
The product dropped support for Windows 32-bit with the 20.0 release.
Platform |
Processor |
Compiler |
Additional OS |
---|---|---|---|
Windows 10 64-bit |
Intel |
Visual Studio 2019 (16.11.30) |
|
Linux 64-bit, Ubuntu 18.0.4 |
Intel |
Clang 9 |
|
Mac 64-bit (OS 11.2) |
Intel |
Xcode 12.4 |
M1 & M2 |
Installation overview¶
All installations generally involve the following:
Setting up your environment as described below.
Reading the PDF Overview which provides links to related documentation, including the PDF Reference and Snippet Runner Cookbook.
Examine, compile, and run the relevant code samples or snippets for your platform (located in the AdobePDFLSDK21.0.0.7/SAMPLES/ directory).
On all platforms, read the source code comments before compiling and running the sample so that you understand the demonstrated functionality.
Directory structure¶
The following is the directory structure for all platforms:
/AdobePDFLSDK<version>
/Docs
/Include
/Headers
/Source
/Libs/PLATFORM
/Plugins
/Flattener
/Include
/Libs/PLATFORM
/Samples
/PDFProcessor
/Include
/Libs/PLATFORM
/Samples
/XPS2PDF
/Include
/Libs/PLATFORM
/Resource
/Samples
/Resource
/Samples/SAMPLE_NAME
Path modification¶
Because some samples require font, CMap, unicode, or color profile files, modify the MyPDFLibUtils.cpp file with the folder paths on your system.
For example, PDFLInitHFT()
’s function calls PDFLGetDirList
, PDFLGetCMapDir
, PDFLGetUnicodeDir
, and PDFLGetColorProfileDirList
to locate the font, CMap ,unicode, color profile files on your system when they pass PDFLDataRec’s dirList
, cMapDirectory
, unicodeDirectory
, and colorProfileDirList
members.
Best practices¶
General¶
Examine, compile, and run the relevant code samples or snippets for your platform. The code samples and the SnippetRunner reside in the AdobePDFLSDK21.0/samples directory.
On all platforms, read the comments in the source code before compiling and running the sample to understand the functionality demonstrated by the sample.
Required best practices¶
All PDFLSDK API calls should go from Host Function Table (HFT). To enable HFT, all projects should be initialized with PDFLInitHFT and should be terminated with PDFLTermHFT APIs respectively. Host Function Table (HFT) has been in place since PDFL 7.0 and all new APIs added after 7.0 are accessible through HFT only.
From 18.0 onwards, all PDFLSDK client projects should enable C++ based Exception Handling. To achieve that kindly set USE_CPLUSPLUS_EXCEPTIONS_FOR_ASEXCEPTIONS flag to 1.
To enable HFT and C++ based Exception Handling efficiently, please include the platform specific project-setting files available in Samples/utils folder.
Samples are tested and built with the valid values in the PDFLDataRecstructure. If you do not have the valid font, CMap, unicode, or color profile folders on your system, samples may crash or throw an exception. You must either install the font and color profile files in the correct folder or you must pass NULL to these members for the PDF library not to look for the fonts or color profile files.
Windows installation¶
The following two archives are shipped for Microsoft Windows:
AdobePDFLSDKMinSize21.0.0.7.zip - For standard version of the PDF Library SDK.
AdobePDFLSDKMaxSpeed21.0.0.7.zip - For the speed-optimized version of the PDF Library SDK.
Verify the signature of the ZIP file:
Install JDK (preferably JDK 1.6 or higher) on your machine.
From the bin folder of the JDK installation, execute the following command:
jarsigner.exe -verify [-verbose -certs] %ZIP_File_Path%
Note
The following parameters are optional: -verbose
, -certs
Unzip the preferred ZIP file: Important: If both the above variants need to exist on the disk, extract them to separate locations.
For standard version of the PDF Library SDK, use AdobePDFLSDKMinSize21.0.zip.
For the speed-optimized version of the PDF Library SDK, use AdobePDFLSDKMaxSpeed21.0.zip.
To ensure that applications run successfully outside the Microsoft Visual Studio C++ .NET IDE, verify the executable can find the dynamic linked libraries at run time:
Copy the libraries supplied in the Libs folder to the folder where your executable resides.
Place the path for the libraries into the PATH environment variable.
To ensure that the plugins run successfully:
Copy the libraries supplied in the Plugins[PLUGIN_NAME]Libs folder to the folder where your executable resides.
Place the path for the libraries into the PATH environment variable.
Include the PDFLInitCommon.cpp file available in Include/Source folder to enable C++ Exception Handling across multiple HFT calls.
Note: Executing SnippetRunner in UI mode (64-bit): You must explicitly set the 64BitMode
parameter to 1 in the pdflsdk.config file in your home directory. This variable is initialized to 0 (zero) by default.
Mac installation¶
AdobePDFLSDK21.0.0.7.dmg ships for the Mac platform. To install:
Verify the AdobePDFLSDK21.0.0.7.dmg. From 18.0.2 onwards, the signing process on Mac platform has been changed. Now, the SIG file is not required. To view the signature of the DMG file, you can use the following codesign command:
codesign -dvv $DMG_File_Path
.
codesign -dvv AdobePDFLSDK21.0.0.7.dmg
Note
The signature information appears. If it is unsigned, “code object is not signed at all” appears.
Mount the DMG image for AdobePDFLSDK21.0.0.7.dmg.
Copy the AdobePDFLSDK21.0.0.7 folder to a local drive.
By default, all libs are present under the AdobePDFLSDK21.0/Libs folder; categorized under mac_x64 for 64-bit target configuration. Aliases or proper paths must be set to ensure that the sample applications run properly.
Linux installation¶
Copy AdobePDFLSDK21.0.0.7.tar.gz to a directory.
Run the following command in the directory where you want to unpack the SDK:
tar -xvf AdobePDFLSDK21.0.0.7.tar.gz
Change directories to AdobePDFLSDK21.0.0.7/Samples/utils and modify the appropriate .mak file to point to your installed Clang directory and static library directories.
Set the environment variable LD_LIBRARY_PATH to point to the AdobePDFLSDK21.0.0.7/Libs/linux_x64/ folder
Before you can build your product on a Linux platform running the Ubuntu 18.0.4 operating system, install the Clang compiler. We recommend using version Clang 9 and keeping the compiler in the directory: /opt/llvm/
Additional documentation¶
PDF Redaction: Addendum to the PDF Reference, sixth edition, version 1.7
Errata for the PDF Reference, sixth edition, version
Adobe Supplement to the ISO 32000, BaseVersion 1.7, ExtensionLevel 3 (for Acrobat XI)
PDF Library API Reference. The API Reference is the reference manual for all APIs exposed by the PDF Library.
PDF Library Overview: Provides an introduction to development using the Adobe PDF Library.
3rd party software notices and TOU¶
Copyright 2024 Adobe Systems Incorporated and its licensors. All rights reserved. Adobe and the Adobe logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.
This product contains either BSAFE and/or TIPEM software by RSA Security, Inc. Portions utilize Microsoft Windows Media Technologies. Copyright (c) 2006 Microsoft Corporation. All Rights Reserved.
Notices, terms and conditions pertaining to other third party software are located at https://www.adobe.com/go/thirdparty and incorporated herein by reference.