This page lists updates, fixes, changes and enhancements made to the Adobe PDF Library version 15 provided by Datalogics.
We also provide the release notes with the Adobe PDF Library software installation package.
APDFL v15.0.4PlusP4e (10/15/2018)
- 41651: Improves rendering performance of a PDF page with thousands of nearly empty Form XObject streams.
- 41530: Corrects an issue in which fonts could be embedded with a substitute font when a font reference is not found as a system resource. Also corrects an issue in which re-embedding fonts could leave fonts non-functional. Lastly, improves logic to abandon font subsetting when the result would end up with a font that has no glyphs.
- 41668: Corrects a problem where page rasterization could raise an error if a FreeTextAnnotation contained an invalid appearance. This has been relaxed to allow rasterization to proceed.
- 41676: Corrects an issue converting Matrices, Rectangles, and Points from floating point values to APDFL ASFixed values by clamping the values to fit the ASFixed value range (-32768 through 32767).
- 41680: Corrects a problem with loading PDFs over 2GB from a stream.
- 41684: Corrects a problem where Text Leading could be mishandled when updating a Page’s Content.
APDFL v15.0.4PlusP4d (10/3/2018)
- 41604: Improves Optimizer’s ability to discard page overhead for a document when the PDFOptimizerDiscardUnusedImages and PDFOptimizerDiscardUnusedForms options are set.
- 41621: Updates the sample RenderPage to reflect best practices, including using double values for geometry, allocating buffer using APDFL routines, catching allocation errors, using PDPageDrawContentsToMemoryWithParams, removing many small, single use methods, making them in-line, improving commentary.
- 41632: Updates Mac framework structure of ICUData and ICUConverter to match the rest of the distributed bundles.
- 41639: Improves performance of documents with many redactions by changing the behavior of PDRedactGetProps(), to not set the pageNumber to create the PDAnnot. The caller already knows the page number..
- 41643: Improves the performance of applying redactions to a document with structure information.
- 41653: Updates the RenderPage sample to more clearly and completely show the process of scaling and positioning of text in the image. Allows for PDRotate not set to zero, and for an offset Crop Box.
- Permits the extraction of non-roman text using the new function, PDDocCreateTextSelectUCS().
- Updates the Java Redactions sample so that it works on systems without Helvetica installed..
- 41452: Corrects an issue with forms when the Bounding Box is set to the maximum size (-32768, 32767, 32767, -32768).
- 41592: Corrects an issue in JPG decoding that caused slightly different values than expected.
- 41616: Corrects a memory leak that could occur when subsetting base 14 fonts.
- 41637: Corrects an issue that caused text to disappear from the page after Optimization.
- 41652: Corrects an internal rounding error that could occur when rendering Separations.
- 41657: Corrects a problem with the AlternateFileSystem C++ sample where the setpos() callback for 64-bit was not being used.
- 41663: Corrects a problem where the FontFace property of the Redactions class was not being respected when the annotation was created.
- Restores documentation for some .NET PrintUserParams that were previously missing, including ChoosePaperSourceBySize and all the get/set properties such as DeviceName, DriverName, PortName.
APDFL v15.0.4PlusP4c (9/17/2018)
- 41591: A new sample program, TextSelectEnum, was added to demonstrate the use of PDDocCreateTextSelect and PDTextSelectEnumUCS.
- 34766: Corrects an issue rendering content by ignoring invalidly formed Halftone entries in an extended GState when relaxed syntax is permitted.
- 36338: Corrects an internal limitation of decoding a JPEG2000 image during rasterization in 64-bit.
- 41437: Corrects an issue with flattening. An image would be lost during composition when resampling when applying an increase in resolution by 1.25 to 10 times, and using an image with a separation color that was also a process color name. Also corrects an issue in which the profile passed into the ProfileDesc in the Flatten Parameters could sometimes be ignored as the blending space for the flattening process.
- 41474: Corrects a problem where a JPG image on the page of a PDF document would fail to render because of an empty DHT marker.
- 41567: Corrects a regression where font merging during saving was prematurely ended if many similar subset names were found.
- 41573: Corrects an issue with the PDFOptimizerDiscardUnusedImages/ PDFOptimizerDiscardUnusedForms option was used for a document with many images and forms. Performance problem addressed.
- 41589: Corrects an issue where PDDocColorConvertPageEx() could leave files behind in the temp directory.
- 41605: Corrects an issue in which setting the Keywords property of DocInfo would not set the dc:subject of the XMP Metadata.
APDFL v15.0.4PlusP4a (8/20/2018)
- 39619: Adds new property DisableAlphaChannelGeneration to the ImageSaveParams class, defaulting to false. When set to false, RGB images with a mask present are combined to create a 32-bit RGBA output (only relevant for PNG and TIFF). When set to true, the output does not include the mask.
- 40201: Changes the set of released profiles to exclude profiles of version 3, which APDFL is not able to use. The set now consists of 33 profiles, which are all either freely redistributable from Adobe or are reflections of the internally defined profiles.
- 41426: Adds new entry outputIntentName to the PDF/x and PDF/a control structures as an ASText object. When left NULL, conversion continues to use sRGB as profile for RGB documents, and SWOP for CMYK documents. When set to a valid description for a profile findable via resources that is of the proper color model for the type of conversion, this profile is used as the output intent profile for the converted document. Also adds new Java/C# interface attribute ProfileDesc, to both the PDFAConvertParams and the PDFXConvertParams objects. When this attribute is set, and the profile describes a valid profile, findable in resources, of a color model that matches the conversion requirements, the profile is used as the output intent profile for the converted document.
- 41458: Improves rendering performance of a PDF page with thousands of invalid Form XObject streams.
- 41499: Adds new flag PDInsertDoNotResolveInvalidStructureParentReferences to be used with PDDocInsertPages() to improve performance.
- Adds new option PDFOptimizerDiscardUnusedImages to PDFOptimizer, defaulting to true, which removes images in the document’s resources that aren’t used in the document’s content.
- 36579: Adds AIX-compatibility for previous resolution to correct an issue with the encoding of the Title field when printing a PDF to PostScript.
- Corrects a crash that could occur flattening a document with an invalid AcroForms Calculation Order entry.
- 38569: Corrects an issue in subsetting previously embedded TrueType fonts in which the CIDToGIDMap entry, when present in the font, was not used in setting the glyphs to be used in the subset.
- 41344: Corrects an issue in vertical placement logic that added a large pad above the first line.
- 41391: Corrects a small memory leak that occurred when optimizing images.
- 41461: Corrects an error that could occur retrieving a document’s attachments.
- 41478: Corrects an issue with PDSaveOptimizeXObjects where identical ICCBased streams used in images were not always consolidated.
- 41489: Corrects an issue in which the annotations rectangle did not update when the quads were updated.
- 41495: Corrects an issue in subsetting previously embedded CIDType2 fonts in which the CIDToGIDMap entry, when present in the font, was not used in setting the glyphs to be used in the subset.
- 41497: Corrects an issue rendering separations for colorants where ones specified in annotations would be ignored.
- 41500: Corrects an issue where setting a page’s content could lead to a mishandling of the text leading on the page.
- 41519: Corrects a warning in a public header file.
APDFL v15.0.4PlusP3t (7/16/2018)
- 38516: Adds the methods ChangeWorkingSpaceRGB(), ChangeWorkingSpaceCMYK(), and ChangeWorkingSpaceGray() to the Library class.
- 41308: Improves the “OutputPreview” sample by rendering the page to a CMYK image when DeviceN is requested for a page with transparency.
- Adds the new member DownConvert16To8BpcImages to the PDFOptimizer class for Java/.NET interfaces.
- 41350: Corrects a problem in which extraneous “invisible” characters embedded in the document were being printed via non-postscript printers.
- 41395: Corrects a problem with PDDocEmbedFonts() where fonts present in an Annotation’s appearance weren’t accounted for. Also corrects a problem with the PDFOptimizerRemoveAllBase14Fonts where a variant of Courier was not being included.
- 41402: Corrects an issue where characters were being lost in text extraction.
- Prevents error when readme file is not in same directory as activate program for license managed packages.
APDFL v15.0.4PlusP3m (6/20/2018)
- 40931: Adds a new .NET/Java interface property PDFDict to the Container class.
- 41185: Adds a new attribute PDFOptimizerResubsetSubsetFonts to the list of Optimizer attributes. Turned off by default. When true, this attempts to re-subset fonts which are already subset and embedded, which may be used to remove glyphs from a subset font when the document has been edited.
- 41337: Adds a new property HasSignature to the Document class.
- 38317: Corrects a problem where updating page content could ruin the text output on the page due to unsupported operand value ranges. Error is now raised to prevent this scenario, unless the Relaxed Syntax preference is enabled.
- 40946: Corrects a problem with Flattener behavior when the Page Blending Colorspace is set to an uncalibrated colorspace.
- 41186: Corrects an issue in which Arabic Diacriticals were placed one glyph later than they should have been.
- 41221: Corrects a problem where glyph widths for a font used on the page could be incorrect when flattening it.
- 41265: Corrects a small memory leak in the ASFileOpenWithVirtualEOF() method.
- 41270: Corrects an issue where a PDE round trip could misplace some text vertically on the page.
- 41298: Corrects an issue where the Java Samples would not find the Resources if the Maven Set Up commands were not run.
- 41313: Corrects a crash that could occur running the DisplayPDEContent sample for a particular document.
- 41316: Corrects a problem with PDDocInsertPages() that could occur for documents with atypical Structure Trees.
- 41333: Improves the behavior of MovePage() for documents with Flat Page Trees.
- 41338: Corrects a problem that could affect the masking of an image when changing the Compression property of an Image that contains a SoftMask.
- 41375: Suppresses a warning under Visual Studio from CorCalls.h about an unreferenced parameter.
APDFL v15.0.4PlusP3g (5/15/2018)
- 41268: Improves rendering performance of a PDF page with thousands of empty Form XObject streams.
- 41273: Updates the PrintPDFGUI .NET sample to make it easier to use and understand the code.
- 40644: Corrects an issue in the flattener where some areas of a large graphic, tiled in flattening, were omitted at the boundary of overlaid elements.
- 40804: Corrects an issue in which the placement point for a character was set incorrectly in the PDWord information when there was text that was converted from Boxes to Quads late in the word construction process. Also adds a detector for “drop shadows” to avoid duplicated text.
- 40970: Corrects an issue with dlpdfimagecreatefromfile() reading a PDF that contained an enormous amount of ColorSpaces and XObjects.
- 40997: Corrects a problem in which the recently introduced print parameter to select the paper source (PagePaperSource) would cause issues for PCL print jobs due to an issue in how the print driver information was being stored.
- 41056: Corrects an issue in which references to PDE objects could outlive those objects, leading to exceptions and potential access violations.
- 41064: Corrects an issue with missing spaces in text extracted from a PDF.
- 41075: Corrects a problem in which the document was not successfully flattened on the first pass and some settings were not getting properly reset during the second pass.
- 41147: Corrects a problem where extra text leading was being applied under specific conditions.
- 41163: Corrects a problem where inserting a v1.x PDF into a v2.0 PDF could result in a document that PDDocGetVersion() would incorrectly report the file version.
- 41181: Corrects an error that would occur when a large value was encountered in the /Coords array of a Radial Shading dictionary.
- 41202: Corrects an issue where the flattener could reuse a font improperly resulting in incorrect glyph widths being set.
- 41206: Corrects an issue that could occur when updating page content for matrix values that were very small.
- 41217: Corrects a warning seen by the Clang compiler for a public header file.
- 41230: Corrects an issue where eligible 1bpc images were not downsampled. Also corrects an issue where eligible stencil image masks were not downsampled.
- 41254: Corrects a problem that would occur when printing to Postscript in which a DSC Page comment was off by 1.
- 41259: Corrects a problem with DLI runtime dependencies.
APDFL v15.0.4PlusP3e (4/17/2018)
- 41033: Renames the paths argument to the Library() constructors as fontPaths. This is more descriptive of its purpose. Updates the ColorConvertDocument sample’s usage of the Library() constructor.
- 41173: Adds a NoFlags value to the LibraryFlags enumeration and improves explanatory comments regarding usage of LibraryFlags.
- 40655: Corrects an issue with images rendered through a soft mask appears incorrectly after flattening.
- 40784: Corrects an issue in which printing to Postscript could create a file that was problematic for Adobe Distiller.
- 40965: Corrects multiple problems that occurred when rendering separations that required memory to exceed 4 GB.
- 40969: Corrects an issue when adding a JPG larger than 16 MB to the page of a PDF.
- 41060: Corrects an Access Violation that could occur when calling PDDocColorConvertPage() on a document.
- 41100: Corrects an issue with optional content by enabling the “ClientOCContext” field of the draw params record.
- 41101: Corrects an issue where assigning a Bookmark’s Action to a Link Annotation’s action could raise an error.
- 41105: Corrects build compilation warnings seen when building with shipped public header files.
- 41183: Corrects an issue where the DeletePages() method could hang when deleting all of the pages of a particular document.
- 41190: Corrects an issue with rasterization to DeviceGray where colors would look slightly different than expected.
APDFL v15.0.4PlusP3d (3/30/2018)
- Restructures Java interface samples project and adds POM to allow the import of samples into an IDE as a Maven project.
- 40952: Adds a new member CalibrateDeviceSpacesWhenPrinting to the PageImageParams class.
- 41020: Improves reading of corrupted non-tiled G3/G4 TIFF images by attempting to decode as much of the image as can reasonably be read.
- 40297: Corrects an issue where PDF/A conversion would drop a font used for Invisible Text on a page.
- 40871: Corrects a problem where inserting pages from one document to another would not persist the /E and /Lang entries of a structure element dictionary.
- 41035: Corrects an issue with the release build configuration of the C# AddVerticalText sample.
- Corrects a problem that had caused Maven wrapper to be excluded in UNIX distributions.
- Removes Readme.txt file with outdated Java setup information.
- Updates dead links in Actions C# and Java samples.
- Prevents an error with the PDFObject Java sample by using correct input.
APDFL v15.0.4PlusP2z (2/22/2018)
- 40491: Updates the PostscriptInjection printing sample to allow output to printer. Uses the GUI logic to select a printer for MAC and WIndows and print to Lp0 on Unix.
- Open source graphics libraries (libjpeg, libtiff, PNGLib, ZLib) updated to latest versions in APDFL, DLI, and Java/.NET interfaces to address security concerns.
- 40508: Corrects a problem in detecting and setting leading (Tl and TD) when writing a content stream that uses T* (previously released for Windows/Linux).
- 40639: Corrects a problem in which an error was not being reported for invalid image data. Modifies the parsing of DCT images and re-enables multi-threaded Huffman decoding with a 2-thread limit.
- 40833: Corrects a problem in the flattener “retry” when a page cannot be flattened quickly enough that could cause problems with PS and EPSF files (previously released for Windows/Linux).
- 40849: Corrects a problem where the TextFinder could disorder Arabic text with diacritical marks present.
- 40909: Corrects a problem with text color changing unexpectedly after flattening a document.
- 40911: Corrects a problem where flattening a document could misplace glyphs on the page.
- 40957: Corrects a problem with multi-threaded flattening by moving the stack which carries requests for notification of events from global to thread local space.
APDFL v15.0.4PlusP2x (1/19/2018)
- Improved documentation in the Adobe PDF Library public header files.
- 40816: Corrects a performance issue when converting a PDF document with many annotations to PDF/A.
- 40847: Corrects a problem flattening a document with certain fonts, resulting in .notdef glyphs (Mac only).
- 40863: Corrects a crash that could sometimes occur during system font acquisition.
- 40841: Corrects a problem where the PDFOptimizer would skip certain images that should have been downsampled.
- 40793: Corrects a crash that could occur during disposal of the Library after a PDF/A conversion failed.
- 40796: Corrects a crash that could occur when inserting pages from one document into another when structure information was merged.
APDFL v15.0.4PlusP2w (12/27/2017)
- A new option was added to not embed Base 14 “equivalent” fonts
- New sample program, PDFPrintDefault. This sample prints the default file or a file specified on a command line to the default printer for any platform.
- New sample program, PDFPrintGUI for Mac systems, updated to display a Mac Print Panel using the Cocoa interface.
- 40034: Prevents the system from hanging in PDFLTermHFT.
- 40470: Corrects a problem for specific PDF documents in which ‘PDDocSaveWithParams’ generates the wrong Postscript code.
- 40711: Corrects an issue with the setting of the version of a file when working with a v2.0 PDF file.
- 40723: Corrects a recent regression that could occur when rendering a page.
- 40746: Corrects an Access Violation that occurs when flattening a document with an Output Intent profile specified.
- 40773: Corrects an Access Violation that occurs when small images are resampled by the PDFOptimizer.
- 40778: Improves the ability of the Adobe PDF Library to open files with an EOF marker with non-PDF data.
APDFL v15.0.4PlusP2t (11/28/2017)
- A new enumerator, “DoNotMergeFonts,” was added to the enumeration CPageInsertFlagsEnum.
- Added a member ConvertProfilePath to the ColorConvertActions class to allow a path to an external ICC profile to be set.
- 34311: The software was not properly making a colorant when it was used in a Shading.
- 39254: Corrects a problem where PDEContentToCosObj() could cause a Stack Overflow for very complex Page Content.
- 40264: Updates the process that creates Separation colors to properly display the Spot and Process color.
- 40710: Corrects a problem where Link annotation destinations would have their destinations be invalidated after flattening a document.
- 40714: Corrects a problem where calling PDWordFinderAcquireWordList() could cause an Access Violation.
- 40724: Optimizes the code used to replace page references in Link Annotations and in Outline entries.
- 40759: Corrects an error that was invalid, sometimes appearing when printing documents with 3D annotations.
APDFL v15.0.4PlusP2s (11/10/2017)
- 39723: Corrects a problem when font encoding is neither standard nor specified. Changes the logic that creates To Unicode translations, so that the default encoding of a Type1 font is used if the font object does not specify an encoding.
- 39840: Corrects the parsing of TrueType type 8, 10 and 12 CMaps Language field. Allows a match for the CMap as a Unicode CMap, bypassing the otherwise required re-encoding of the text fields.
- 40221: Corrects a problem where multiple pages per sheet could not be printed in the same print job. The resolution also requires that a setting to be changed in the Adobe PDF Converter driver. This is under the Advanced settings tab. “Enable advanced printing features” must be unchecked.
- 40351: Corrects a problem where retrieving the Text of a TextRun would be incorrect for a UTF-16 character using two code units instead of one.
- 40378: Prevents an error that terminated rendering when an invalid profile was referenced in the DestProfile clause of an Output Intent. A DocError is now logged, indicating the error occurred. Also, the default profile for blending space is used rather than the Output Intent profile.
- 40441: Corrects an intermittent problem where kPDPageIPParseThread could cause an Access Violation.
- 40569: Corrects a problem where the GetImageSeparations() method of the Page class could return an out of memory error for a Page requiring a very large amount of memory.
- 40597: Corrects a problem where saving a PDF with an invalid Object Stream would raise an error. This has been relaxed to permit saving the file.
- 40671: Corrects a problem where rendering a page could raise an error when a very large matrix value was encountered by an internal routine.
- 40685: Corrects an issue where an Access Violation could occur when accessing the OptionalContentGroups of an OptionalContentMembershipDict.
- 40686: Updates the definition of font embedding in Java/.NET to include type3 fonts. Type 3 fonts do not have a font program but are always complete in the document.
- 40706: Corrects a problem where PDEFormGetContent() could get stuck in an infinite loop.
- 40707: Removes a restriction that raised an exception when there was a circular resource reference, allowing for print to PostScript.
APDFL v15.0.4PlusP2p (10/18/2017)
- A new method, PDEImageRemoveIndexedColor(), was added, which creates a new image from an Indexed image using the base color space.
- Added a new constructor to the Library class to permit specification of the path of Color Profiles to be used.
- 40271: Corrects a problem where merging of fonts during a save could create invalid width information.
- 40556: Corrects a problem where an Access Violation would occur using PDEImageJPXGetAttrs().
- 40577: Corrects a problem where a Form with a very small rotation was unintentionally driven to 0 when flattening took place.
- 40583: Corrects a problem where Path elements with different alpha values for Fill and Stroke were not rendered correctly.
- 40595: Corrects a problem where CMYK JPG graphics files were being created without resolution information.
- 40613: Corrects a problem in which flattening a document removed content due to lack of permission to re-embed a font after re-encoding.
- 40615 and 40634: Correct problems where merging of fonts during a save could create invalid width information.
- 40635: Corrects a problem with the PDFOptimizer when downsampling 1bpc images. System now raises an error when invalid compression options for monochrome images are selected.
APDFL v15.0.4PlusP2m (9/29/2017)
- Updated CreateSeparations C++ sample for generating separation previews for spot/process color pages.
- Created the new OutputPreview C++ sample, which produces both a composite image in true colors and separation plates in true colors.
- When forcing an incremental save of a modified document with new major and minor versions specified in the PDDocSaveParamsRec structure, the saved document now contains the /Version entry for the catalog with the new major and minor versions.
- PDF 2.0 support for:
- Creating a PDF from scratch and saving it as a PDF 2.0
- Taking an existing PDF and updating it’s version to PDF 2.0 in a full save
- Taking an existing PDF and updating it’s version to PDF 2.0 via an incremental save
- Taking an existing PDF 2.0, modifying it, and saving as a PDF 2.0
- 40229: Prevents systems from crashing by making use of setjmp/longjmp for error handling when GCC is used by the client on AIX, HP-UX, and SPARC Solaris 64.
- 40512: Corrects a problem in which font width tables could be merged incorrectly during a rendering.
- 40515: Corrects a performance issue where ACE optimizations were mistakenly disabled for Windows.
- 40532: Corrects a problem with persisting structure information when converting to PDF/A.
- 40543: Corrects a problem in which the optimizer would skip very large images for resampling.
- 40545: Corrects a problem when a document contains a font which has a named Encoding in the form “SymbolEncoding”, “SymbolSetEncoding,” or “WingdingsEncoding.”
APDFL v15.0.4PlusP2h (9/15/2017)
- Additional ICC Profiles have been added to the distribution.
- Compiler flags added to the Linux and Intel Solaris build process and linker flags to Linux for added security.
- 40289: Corrects a problem in which converting the page of a document to PDF/A would fail.
- 40339: Corrects a problem so that the software does not replace transformation matrix inside of a text block when doing a PDF round trip of a content stream.
- 40390: Corrects a performance issue with IBM AIX.
- 40420: Converts gray colors to CMYK colors when converting to PDF/x. This is to avoid distortions when translucent pages contain material interspersed with Gray and CMYK.
- 40434: Corrects a problem where documents forced to be printed as bitmaps were missing default color space profiles, and as a result aborted the print operation with the first page being printed as a blank page. A default color space profile is now provided and the full document prints out.
- 40443: Corrects problem where the ranges of pages for printing, as specified by the user via the PDFLPrintUserParams, were only being recognized when printing to a PostScript printer. Print ranges are now recognized regardless of the type of printer.
- 40459: This makes certain to properly set the encoding for the embedded font. The font now matches the original font’s encoding when embedding a type0 font using PDDocEmbedFonts.
- 40489: Corrects a problem where XCode samples on Mac could not be run out of the box without changing to the Scheme settings.
- 40496: Corrects a problem where after encountering an error converting the page of a document to PDF/A, subsequent pages were missing text.
APDFL v15.0.4PlusP2g (8/18/2017)
- Added new C++ sample called AddTriangularRedaction to demonstrate redacting text in a document by applying triangular areas over a page, leaving a diagonal line of content visible between two triangles.
- Improved multithreading stability and reduced potential for crashes related to font caches and thread resource sharing.
- 36720: Corrects a problem where flattening a document could invalidate its bookmarks.
- 39999: Corrects a problem in the DrawToBitmap sample.
- 40269: Enhances PDEGetTextASText() so it can retrieve the text for a Type 0 font without a /ToUnicode entry when the descendant CIDFont uses a well-known character collection.
- 40389: Corrects a problem where calling PDESoftMaskAcquireForm() could raise an error when called on a PDESoftMask created by PDEExtGStateAcquireSoftMask().
- 40400: Corrects a problem where calling the Clone() method of the Form class would cause a memory leak.
APDFL v15.0.4PlusP2e (6/22/2017)
- It is now possible to edit watermarks created using APDFL in Acrobat
- Permit an application written in C++ to use try/catch exclusively to catch APDFL exceptions. This feature is not available for Mac.
- Moved the folder “MaxSpeedLibs” out from the Binaries folder under CPlusPlus, to become a separate folder under CPlusPlus in the release package. This is to avoid the LoadPlugin error.
- Permit creating of a 40-bit TIFF when the colorspace is CMYK and there’s a soft mask image. The new member TIFFCMYKAlpha has been added to the ImageSaveParams class.
- A new value, LessImageDataThanExpectedWarning, has been added to the PageRenderWarning enumeration. This permits callers to check if, after a page is rendered, an image was encountered that lacked sufficient data and will be padded with white pixels.
- A new method was added, PDFontXlateToUCSCanRaise(). This method will raise an error if it can’t be determined how to translate a text string.
- 40097: Corrects a problem where saving a Signed PDF incrementally could raise an error.
- 40216: Corrects a problem where the Flattener would cut off page content unexpectedly.
- 40241: Corrects a problem where rendering would cut off page content unexpectedly.
- 40245: Corrects a problem where slightly skewed content on the page would be unexpectedly cut off when rendered.
- 40202: Corrects a problem where TrueType fonts with embedded bitmaps for glyph data would be drawn in the wrong location on the page.
- 40238: Corrects a problem where the sample makefile was missing a reference to the DisplayPDEContent sample.
- 40258: Corrects a problem with the ImageImport sample.
- 40057: Corrects a problem with PDF/X conversion. The color conversion options where changed, so that all uncalibrated spaces are converted into calibrated spaces prior to color conversion. That calibration is retained after the conversion is complete.
- 40220: Corrects a problem where subsetting a Type 1 Base14 font could result in having an invalid FontDescriptor dictionary. This also corrects a memory leak when looking for system fonts.
- 40192: Corrects a problem where an Access Violation error could appear when calling PDPageMakeSeparations. This also corrects a problem with the value of the transparencyLevel member of the PDHostSepsSpec structure not being respected.
APDFL v15.0.4PlusP2d (5/17/2017)
- 40048: Corrects a problem where setting the content of a PDEForm using a BBox with very large values updated the BBox to have default values.
- 40063: Corrects a problem when printing to Postscript where invalid output was created when empty Image XObject streams were encountered in the input PDF.
- 39491: Extends the recent case resolution to support translations in a single X or Y direction.
- 39952: Adobe changed how spot inks are reported by PDPageEnumInks(), which caused a mismatch in the number of plates drawn and resulted in errors in separating plates. This produces correct plate images regardless of whether the ink list contains duplicate names. Customers can produce a single plate for each ink name by manually removing duplicate names or by using the new interface PDPageenumInksWithParams() to produce an ink list without duplicate names.
- 40044: Corrects a problem with heap corruption encountered on Mac.
- 40059: Corrects a problem introduced by a recent case resolution in which page insertion for documents that have logical structure could hold a lock on the document.
- 35723: Corrects a problem where the Translate() method was not working correctly on Text elements when a multibyte font was in use.
- 40081: Corrects a problem in which converting to PDF/A increased the file size by an excessive amount and corrects a problem with the noValidationErrors parameter not always behaving as intended.
- 40109: Updates the RenderPage sample default resolution to 300 DPI.
- 40065: Adds the EmbedNow() method to the Font class, allowing the user to embed the font created immediately.
- 40165: Adds a parameter that is a Document instance to the EmbedNow() method of the Font class.
- 39678: Corrects library initialization for multi-threading and prevents a resulting crash when merging PDF files with multiple threads.
- 40020: Corrects a problem in which the Bitmap retrieved from the Image class was returned with an incorrect palette.
- 40104: Corrects a problem where converting to PDF/A could result in some text being dropped if there were errors encountering on previously processed pages.
- 39987: Enhances redaction annotation creation in PDFL to facilitate review during Content Identification.
- 39976: Corrects a problem in which the byteIdx in the interface to PDWordGetCharPoint() was being misinterpreted as a character offset rather than a byte offset.
APDFL v15.0.4PlusP2b (4/21/2017)
The Adobe PDF Library was repackaged with release 15.0.4PlusP2a on March 14, 2017. But this release adds some enhancements.
- Added individual 32bit and 64bit Solution (.sln) files for each Windows C++ sample.
- Added .vcproj.user files for the Windows C++ samples, which set the binaries location when the sample is run through the debugger so customers don’t have to.
- Added short descriptions to the comments for the Java and DotNET interface sample programs, and links to longer descriptons provided on the Datalogics Developer’s page online.
- Updated Eclipse support files to support the new packaging structure of the Java samples.
- Renamed DLEViewer samples for the DotNET and Java interface to DotNETViewer and JavaViewer.
- Added a new Getting Started guide as a PDF document to the installation package
- Added a new Overview guide as a PDF document to the installation package, under Documentation/CPlusPlus. This provides some best practices for working with the original Adobe PDF Library C++ interface.
- 39908: Corrects a problem where text leading could be incorrectly changed when the page’s contents were updated.
- 39491: Corrects a problem where the Translate() method was not working correctly on Text elements when a multi-byte font was in use.
- 40030: Corrects a problem with the FlattenTransparency sample. It was crashing when the input file could not be found.
- 39844: Corrects a problem where PDColorConvertPDEElement() would cause stencil image masks to be drawn incorrectly.
- 40017: Corrects a problem with rendering, where a document’s page was taking over 10 minutes to render when using annotation faces.
- 39970: Corrects a problem with Japanese characters not being rendered correctly. The distributed Font resource ‘KozMinPr6N-Regular.otf’ has been updated.
- 40069: The PosePrintDialog() method of the PrintUserParams class now uses the current foreground window as its owner.
- 39733: For APDFL applications written in C++, we will use try/catch in place of longjmp, to implement DURING/HANDLER. Applications written in “C” remain unchanged.
40045: Corrects a problem with Indexed images that were becoming distorted as a result of document optimization.
- 39909: Corrects a problem where embedding a font after converting XPS to PDF would cause an Access Violation.
- 40055 / 40056: Corrects a problem with the PagePaperSource member of the PageRange class. It did not always work correctly.
- 40019: Corrects a problem with Indexed images and 1bpc images, which were distorted as a result of document optimization.
- 40027: Corrects a problem where getting an annotation color could raise an error during the drawing of a page.
- 39853: Corrects a problem where inserting pages from one document to another could raise an error if the Action dictionaries being merged were problematic.
APDFL v15.0.4PlusP2a (3/14/2017)
Adobe PDF Library repackaged:
- The library package now contains five root-level directories:
- CPlusPlus, C++ Interface
- DotNET, .NET Interface (Windows only)
- Java, Java Interface
- Resources, support files and sample input for the sample programs of all three interfaces
- Documentation, online HTML API reference files
- Samples are organized into groups that represent the type of operation demonstrated
- Samples for all three interfaces reference a common “Resources” directory. Previously each interface had its own separate directory.
- Twenty new samples were added to the CPlusPlus interface:
- All samples have been updated to accept inputs (if used) and have default inputs specified
- Pre-built executables for Java and DotNET samples have been removed from the package
- Adobe samples have been removed from the package
- DLI has been removed from the package
- Java and DotNET interfaces are shipped in separate directories. Previously they were shipped together.
- Default working directory of the DotNET samples is “Binaries,” where the executables are built
- Default location of the DotNET and Java interfaces searches for “Resources” has changed from DLE_INSTALL_LOCATION/Resources to DLE_INSTALL_LOCATION/../../Resources. This is where the interfaces will search for CMaps, fonts, and other needed files when no location is passed at initialization.
- The Library files can be found under the “Binaries” directory for each interface
- DotNET and Java “Binaries” directory contains a directory called “Signed_DLLs” which has a copy of the DLLs with a signature from Datalogics
- Eliminated VisualStudio .NET CPU type selection requirement by specifying Win x86 and Win x64 build files per distribution
- Revised and reorganized user documentation on the Developer’s site, dev.datalogics.com
- 39839/39633: Provides Windows-only support for sending a single print job to multiple print trays based on page ranges
- 39938: Corrects a recent unintentional change to PDDocSetXAPMetadata()
- 39907: Improves the GenerateAppearance() method of the FreeText annotations class with regard to fonts and updates the constructors that take a default appearance string
- 39925: This corrects a crash that occurred during rendering when an unsupported Output Intent was found.
- 39522: Enables Windows-only Java and Microsoft .NET support for multi-threading with the Flattener plugin.
- 39907/3991: Improves the GenerateAppearance() method of the FreeText annotations class with regard to fonts and updates the constructors that take a default appearance string.
- 39954: Updates several defined constants to reflect the recently incremented 15.0.4 release version.
APDFL v15.0.4PlusP1b (2/27/2017)
- 39661: Corrects heap corruption that could occur when saving a document.
- 39771 / 39858: Corrects a problem with rendering when OptimizeForInteractive flag is set on Windows platforms. Use of this flag is not supported on other platforms.
- 39832: Adds more detailed information to an exception being returned during PDF/A conversion, allowing the caller to recall the conversion with different parameters specified.
- 39850: Corrects an Optimizer problem where a stencil mask could be improperly down-sampled.
- 39864: Corrects an Optimizer problem for documents opened from memory.
- 39865: Adds a feature to Optimizer to optimize documents directly in memory.
Ported from Adobe PDF Library 10:
- 39626: Reverts an internal change to PDRenderObjectToMemoryWithParamsEx() that was responsible for introducing artifacts when rendering certain fonts.
- 39867: Corrects a problem with noncompliant XMP CreateDate entries being created occasionally.
- 39931: Corrects a problem with noncompliant XMP ModifyDate entries being created occasionally.
APDFL v15.0.4PlusP1a (2/21/2017)
- Port of Adobe code changes for 15.0.2, 15.0.3 and 15.0.4
- 36338: Corrects a crash while rendering a problematic J2K image.
- 39589: Corrects a crash found on more recent AMD processors when opening secure documents.
- 39630: Provides support for AIX 6.1.
- 39693: Corrects a problem with watermarks, that did not retain their desired position when printed in landscape orientation.
- 39732: Corrects a problem with the PDFAConverter sample that resulted in an output PDF that was not PDF/A-1b compliant.
- 39794: Provides support for AIX 6.1.
- 39812: Adds border width and opacity support to appearance generation of FreeText annotations.
- 39833: Updates an internal resource version string to 15.
Ported from Adobe PDF Library 10:
- 39240: A new Boolean option was added to the word finder config record, “preciseQuad,” turned off by default. When off, word finder will behave as it always has. When turned on, the bounding boxes and quads returned from the PDWord interfaces will reflect the actual outline of each glyph, rather than the height and depth, and frequently width, of the font bounding box.
- 39564: Corrects a problem preserving relative layouts for two or more graphic elements when applying any combination of transformations.
- 39676: Corrects a problem with PDDocInsertPages(). Structural tags in the output were no longer pointing to existential pages.
- 39728: Updates the logic introduced by 39240 to achieve better performance when precise bounding boxes are not required.
- 39749: Corrects a problem embedding TrueType fonts for PDF/A conversion.
- 39816: Corrects a fault when attempting to save a monochrome image with the HalftoneGrayImages set.
APDFL v15.0.1PlusP1m (1/10/2017)
- 39506: Corrects an intermittent AccessViolationException with Flattener.
- 39679: Corrects a memory leak that could occur while creating an internal color specification.
- 36925: Corrects a problem in which text extraction resulted in inaccurate word reconstruction.
- 39734: Corrects a crash that occurred while looking for a font to render a page.
- 39754: Corrects a crash that could occur while fonts were optimized during a save.
Ported from Adobe PDF Library 10:
- 37381: Corrects a problem in which colors were not rendering correctly.
- 39518: Corrects a problem creating an invalid content stream with regard to a text block.
- 39687: Corrects a problem in which a black artifact was rendering over an embedded image.
- 39689: Corrects a problem in which the PDF/A converter had an incorrect decode array when creating Image Stencil Masks.
- 39691: Corrects a memory leak that could occur when calling PDDocEmbedFonts().
APDFL v15.0.1PlusP1k (12/21/2016)
Problems fixed (limited release)
- 39551: Corrects a problem where values for text bounding boxes were altered in an effort to resolve a previous customer issue.
APDFL v15.0.1PlusP1h (12/20/2016)
- 38598: Added two PDFAConverter parameters to DLE (“noValidationErrors” and “rasterizationResolution”) that were previously introduced in APDFL.
- Additional enhancements to PDF Optimizer automatic Indexed colorspace rewriting
With this release, the DLE version has been increased to 15.7.13.
- 39533: Corrects an unexpected exception on multiple threads in DLE.
- 39589: Corrects a segmentation fault with the FlattenTransparency sample.
- 39641: Corrects a problem building APDFL15 for SPARC32 on Solaris 10.
- 39652: Restores desired behavior with a smoothing effect.
Ported from Adobe PDF Library v10.1.0:
- 38492: Corrects a problem in which the PDWordGetCharPoint function was returning incorrect location results of rotated text.
- 38964: Corrects a problem in which the Alternate FileSystem’s (ASFileSysRec) DisposePathName callback would not always fire on Windows 64-bit.
- 39062: Corrects a problem in which certain graphic objects were not being rendered.
- 39457: Corrects a problem causing excessive file size increases when a document containing Structured PDF tags was copied to a new file page-by-page.
- 39513: Corrects a problem with PDF/A conversion incorrectly processing ImageMasks.
- 39563: Corrects a problem with missing letters after font embedding.
- 39566: Corrects a crash with merged TrueType fonts during saving with PDSaveLinearized.
- 39580: Corrects a problem in which PDDocSetNewCryptHandler resulted in corrupted PDFs.
- 39592: Corrects a problem in which PDDocInsertPages was crashing with a specific PDF file.
- 39595: Corrects a problem in which unexpected black rectangles were rendered over the PDF.
- 39597: Corrects a problem in which loading an improperly encoded PNG into the Image class would trigger an early exit, which was relaxed to permit decoding.
- 39617: Corrects a problem with PNG encoder that incorrectly combined image data with soft mask.
- 39629: Corrects a problem converting pictures from PDF to JPG with the DocToImages sample in DLE Java.
APDFL v15.0.1PlusP1g (11/16/2016)
- Added support for APDFL15.0.1 on HP/titanium-32.
- 39450: This change allows the customer to set a Flattener parameter (maxPageFlatteningTime) to control the time to spend attempting to vectorize a page, before reaching a cutoff point and automatically rasterizing. This parameter can be used to reduce Flattener time, but it is possible that the result will be a rasterized document instead of a vectorized document. It was ported from the APDFL10.1.0PlusP5m release.
- 39176: Corrected a problem where the page footer was not appearing. Ported from the APDFL10.1.0PlusP5m release.
- 39121: Corrected memory leaks for version 15.0.1 for the .NET and Java interface.
- 39323: Corrected a problem where save/restore state operators were not being preserved during element decomposing. The result was distorted text.
APDFL v15.0.1PlusP1f (10/19/2016)
- Added support for APDFL15.0.1 on three new platforms, IBM AIX, Intel Solaris, and Sparc Solaris. The product is now available on:
- 39157: When half toning isn’t used for G3 or G4 TIFF output, use threshholding to create the monochrome output. Provided a new DLE property to allow a user to control the threshold value used.
- 39242: Add ‘kPDPrintUseCropBox’ interface support to DLE.
- 39121: Corrected an APDFL internal PDEContent memory leak that occurred when the content parser encountered an error.
- 39253: Eliminated an APDFL/DLE heap corruption error when trying to create a PDF page from an Image.
- 39362: Modified APDFL/DLE to keep certain PDF documents PDF/UA compliant when an application uses APDFL to copy pages from one document into a new one.
APDFL v15.0.1PlusP1e (9/14/2016)
Added a parameter allowing the customer to control the Flattener vector/rater decision. This allows the customer to control the time to flatten pages.
- 38598: Corrected a problem with the PDF/A conversion of certain documents that resulted in PDF/A-1b compliance errors (“Dictionary with more than 4095 entries”).
- 38693: Corrected a problem with PDPageDrawContentsToMemory not respecting UserUnit if updateRect is used.
- 39272: Corrected a problem with the Adobe PDF Library Linux release only being compatible with RHEL7. Now it is compatible with both RHEL6 and RHEL7.
- 39351: Corrected a problem that caused the Library to crash when flattening certain documents.
- 39600, 39209: Expose new Flattener parameters in DLE.
APDFL v15.0.1PlusP1d (8/19/2016)
- Added the PDF Optimizer to the Library, a tool that can be used to compress PDF documents to make them smaller. The Optimizer works by image down sampling and by eliminating duplicate fonts. Smaller PDF documents can be more easily distributed across a network.
- Added a parameter, kPDPrintUseCropBox , to the PDFLPrintDoc() interface to use the crop box for paper width and paper height.
- 38925: ASFileClose now returns an error code instead of raising an exception when attempting to close an already-closed ASFile.
- 39245: Corrected issues with blank output text when the ZapfDingbats font was used.
- 39055: Corrected a problem where temporary files could not be created by PDDocOpen because the temporary directory was not accessible.
- 39139: Corrected a problem that caused PDF/A conversion failure in DLE.
APDFL v15.0.1PlusP1b (7/14/2016)
- 37871: Added Progress Monitor Callbacks to APDFL and DLE for DrawContents methods.
- 37872: Added Progress Monitor Callbacks to APDFL and DLE for Print methods.
- 38728: Corrected the Vivaldi Italic entry in the APDFL internal cache was modified so that it could be found using the customer’s keywords.
- 38885: Tolerated the case where a ‘node’ was not found in the color table by using use the closest color table element rather than throwing a bad PDF exception.
- 39130: Modified DLE to skip over invalid Annotations when rendering a PDF Document.
- 39195: Modified the PDPageDrawContentsToMemoryEx() internal logic to not do Antialias processing for clip paths.
- 39211: Corrected a performance issue that was slowing the APDFL word finder down.
APDFL v15.0.1PlusP1a (6/17/2016)
This release incorporates Adobe’s PDF Library 15.0.1 update. It also adds three new Datalogics Print Samples:
- ConvertPDFtoPostScript – Convert the contents of the input PDF file into a newPostScript file.
- ConvertPDFtoEPS – Convert the contents of each page of the input PDF file into a separate Encapsulated PostScript file.
- PDFPrintGUI – Print a PDF file to a printer using the platform’s Print Interface GUI (Windows only for this release).
Two new APIs have been introduced in this release to control black point compensation for AC*() calls ─ ACGetBlackPointCompensation() and ACSetBlackPointCompensation(). Black point compensation maps the darkest point of one profile to the darkest point of another profile during color conversion. Previously, while converting one ICC based profile to another, the lightest points of these profiles were mapped; now you can choose whether to add darkest point mapping or not. By default, only the lightest point mapping is used.
- This release now supports conversion of spots to its alternate color space using the tint transformation. Previous releases supported conversion of spots to process colors only.
- Option to set default Transparency Blending Color Space has been added in this release. If no value is specified for this option, the default value ‘Working CMYK’ is used. Previously, there was no option to set default Transparency Blending Color Space other than the default value ‘Working CMYK’.
- This release now supports creation of 16-bit DeviceN images with n number of colorants. Previously, creation of 16-bit DeviceN images was supported only with 1, 3, and 4 number of colorants.
- 37602: Corrected a segmentation fault termination of applications that attempt to use one of the plug-ins (such as the PDFlattener) on a Sparc32 Solaris11 machine.
- 38862: Corrected a problem where a page fails to render, silently, when it contains a corrupted image. Added a mechanism allowing the customer to direct APDFL to throw an exception instead.
- 38903: Corrected handling of widths in PDEElementGetWIdth() when the element is a PDEText element.
- 39054: Corrected a problem that prevented embedding, without subsetting, type 0 fonts.
- 39073: Modified APDFL handling of a badly formed font to tolerate and skip a truncated glyph outline description, rather than repeatedly re-parse the font. In most scenarios, all characters are correctly processed.
APDFL v15.0.0PlusP1b (5/27/2016)
- Fixes problems for DLE applications failing to find system fonts.
APDFL v15.0.0PlusP1a (5/18/2016)
Revamped Existing Samples. This has been a feature requested by our customers. As a result of this request, we have revamped and expanded the samples in our new 15.0 distribution. Some regrouping has been done under the APDFL samples path, where you will now find two subfolder. The Samples_Adobe folder holds the original sample applications distributed with the Adobe build of the Library, and Samples contains the newer applications created by Datalogics. We also renamed the drawtomemory sample “Renderpage,” and moved it to the Samples folder.
PDF/X-1a and PDF/X-3 Conversion. PDF/X is the standard in the graphics arts and press fields for conveying accurate, complete PDF proofs and documents for printing. This new functionality can be seen in the PDFProcessor sample (in the C++ applications) or PDFXConverter samples (in C# and Java applications).
Black Point Compensation. Black Point Compensation can now be enabled or disabled when using the Adobe Color Engine color transformation API in the Adobe PDF Library. Two new APIs have been added to support this functionality: ACGetBlackPointCompensation() and ACSetBlackPointCompensation().
Black point compensation maps the darkest point of one profile to the darkest point of another profile during color conversion. Previously, while converting one ICC-based profile to another, the lightest points of these profiles were mapped; now you can choose whether to add darkest point mapping. By default, only the lightest point mapping is used.
Transparency Blending Color Space. Users can now set the transparency blending color space used for rendering, printing and flattening PDF documents. If no value is specified for this option, the default value “Working CMYK” is used. Previously, there was no option to set default Transparency Blending Color Space other than the default.
Performance Improvements in Importing and Merging. Users should see performance improvements when importing pages and merging documents when working with large PDF files. The exact degree of improvement depends in part on the complexity and quantity of the documents involved, but some better performance should be seen as compared with previous release series.