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.4PlusP6e (11/14/2019)
- Corrects a regression where flattening a document results in missing text.
- Corrects an issue in which text was dropped for a problematic page during PDF/A conversion that should have fallen back to page rasterization when enabled.
- Corrects an issue in which line width could be mishandled when updating the Page Content.
- Corrects an issue with Color Conversion in which the Backdrop Color of a Soft Mask Luminosity Group would not convert correctly.
- Corrects an issue in which a crash could occur in PDSysFontAcquirePlatformData() when using the DLI in the memory file system.
- Corrects a regression in which calling PDDocColorConvertPage results in missing text.
- Corrects an issue with PDFOptimizerDiscardUnusedFonts in which the option would not work as expected for Type 0 fonts.
- Corrects an issue with PDFOptimizerDiscardUnusedForms in which the option would improperly remove forms used in annotation appearances.
APDFL v15.0.4PlusP6d (10/22/2019)
- Adds a new flag PDWatermarkDrawOption, allowing users to either prefer or force a watermark to be included as an Annotation or Form XObject.
- Improves performance when optimizing documents with millions of images.
- Corrects a regression where the Flattener could mishandle colors.
- Corrects an issue that could occur writing files when using the in-memory file system.
- Corrects an issue in which a Linearize save results in merging fonts incorrectly.
- Corrects an issue in which fonts could be combined incorrectly when the PDSaveOptimizeFonts flag is in use.
- Corrects an issue in which the Flattener could be too strict when encountering a problematic element and raise an error going into a retry for a full page rasterization. This allows a more relaxed processing to use a raster/vector balance first.
- Corrects an issue in which retrieving the Bounding Box of a Form could return incorrect values.
- Corrects an issue in which flattening of vertical writing document results in shifted characters.
- Corrects a regression in which a Linearize save of a document with an exceedingly complex nesting of Form XObjects would take too long to process.
- Corrects a regression for rendering some 16 BPC DeviceN images.
- Corrects an issue in which PDBookmarkGetIndent() could hang on a Bookmark that has a /Parent that points to itself erroneously.
APDFL v15.0.4PlusP6b (9/18/2019)
- Adds support to Java and .NET interface for reading Planar, Stripped CMYK TIFF images.
- Open source PNG reference library (libpng) updated to latest version in APDFL and Java/.NET interfaces to address security concerns.
- Corrects a regression of the location of Word Quads found by the WordFinder.
- Corrects an issue in which printing a PDF that suffers from endless recursion of Page Resources can cause a Stack Overflow exception to occur.
- Corrects an issue in which heap corruption could occur when printing a PDF containing a Colour Key Masked image to Postscript.
- Corrects an issue with dlpdfimagecreatefromfile() for some TIFF files.
- Corrects an issue in which an error could occur when creating a PDF from an existing PDF with regard to how an ICCBased ColorSpace is created.
APDFL v15.0.4PlusP6a (9/6/2019)
- Exposes disableCurveToLineOptimization flag to Flattener to turn off path curve to line optimization. Also exposes pathDPI setting to Flattener to adjust the threshold of curve to line optimization.
- Enhances the RelaxedSyntax flag to permit processing of Page Content specifying a Dash Array with all zero elements.
- Improves the EmbedFonts sample so Encoding differences are taken into account for a font being embedded.
- Adds support for PDF/A Parts 2 and 3 for Levels B and U conformance. Includes new API options (core APDFL and Java/.NET), updated ConvertToPDFA (core APDFL) and PDFAConverter (Java/.NET) samples, a new sample for conversion to ZUGFeRD standard.
- Improves performance when optimizing documents with millions of images.
- Adds a new flag PDInsertDoNotRemovePageInheritance to be used with PDDocInsertPages() to improve performance in the Java/.NET interface.
- Corrects an issue in which calling PDETextGetBBox() could affect the Text retrieved from subsequent querying of a PDETextItem.
- Corrects an issue in which Text was emitted when CharacterSpacing is specified in some cases.
- Corrects an issue that could occur with the ASFileSysItemProps member fileSizeHigh on Unix.
- Corrects an issue when processing Page Content, where a TrueType font is encountered that specifies a /FontFile2 stream incorrectly.
- Corrects an issue in which color conversion could cause a subsequent save operation to crash.
- Corrects an issue in which a Colour Key Mask Image could be mishandled by the Optimizer.
- Corrects an issue in which the overload of GetImage() that uses page inks would not take the ImageParams resolution into account when creating the Image.
- Corrects a limitation of creating large images using the LZWDecode filter.
- Corrects a rendering issue that could occur for pages consisting of very thin strip images for certain documents at certain resolutions.
- Corrects an issue with the EmbedFonts sample where it could attempt to embed the same font twice when unique font objects share the same /FontDescriptor.
- Corrects an issue in which converting an XPS document could raise an exception due to an internal error.
- Corrects a regression in which flattening a document with bullets resulting in ‘F’ glyphs.
- Corrects an issue in which an exception was thrown when an alternate file system was used.
- Corrects an issue in which PDFOptimizerDiscardUnusedFonts could misidentify a font as being unused when it is used for content in a Clipping Path.
- Corrects a regression in which flattening a document with square bullets, quotation marks, apostrophes, or certain other kinds of text results in .notdef glyphs.
- Corrects an issue in which a compilation warning could occur when including CorCalls.h.
APDFL v15.0.4PlusP5m (8/2/2019)
- Corrects an issue with the DocToImages sample.
- Improves default saving behavior of APDFL samples.
- Boost library updated to latest version in APDFL, DLI, and Java/.NET interfaces to address security concerns.
- Adds new flag PDInsertDoNotRemovePageInheritance to be used with PDDocInsertPages() to improve performance.
- Corrects an issue in which Type 1 font subsetting could fail and glyphs would be dropped from the font subset unexpectedly.
- Corrects an issue in which font size matching parameters of Color Conversion was not working as expected.
- Corrects a crash that could occur when using PlaceTextUnder() with images that have certain color spaces.
- Corrects an issue in which updating Page Content could lose precision for small values of matrices.
- Corrects an issue in MergePDF and MergeDocuments samples where an exception would be thrown when merging Structure Trees.
- Corrects an issue is which an exception would be thrown during Optimization when encountering a /Type entry that is not of type Name.
- Corrects an issue in which colors could come out incorrect for XPS documents with CMYK JPEG images when converted to PDF.
- Corrects a crash that could occur when converting a document to Postscript.
- Corrects an issue in which Optimizer could result incorrect colors for an Indexed Image.
APDFL v15.0.4PlusP5k (7/19/2019)
- Adds a digital signature to dltesseract3.dll in Win64, and to XPS2PDF.ppi in Win32/64.
- Improves the FlattenTransparency sample to set the default Grayscale image compression to be lossless.
- Updates the open source Expat XML parser library (libexpat) to the most recent version to address security concerns.
- Corrects an issue where rendering could show slight differences after page content was updated during a round trip of the PDE content.
- Corrects a problem where the non-Unicode WordFinder search result was sometimes wrong when the word contained a ‘u’ character.
- Fixes a crash that could occur when the in-use memory limit was exceeded, files were spilled to disk and the temp directory was set to read-only.
- Corrects a problem where subsequent rendering of a document was incorrect after retrieving the bitmap of an image using a separation colorspace.
- Corrects a performance regression for PDDocCreatePage().
- Corrects an issue where an image could be converted to use an Indexed colorspace with incorrect colors.
- Corrects a problem where color conversion could cause a subsequent save operation to crash.
- Corrects an issue where color conversion could form an incorrect filter for images.
APDFL v15.0.4PlusP5h (6/24/2019)
- Improves performance when printing documents with large images on Windows to a PCL print driver.
- Adds a new member, TIFFByteOrder, to the ImageSaveParams class.
- Enhances the OCR sample programs by setting different languages explicitly, and by removing page segmentation to support Korean fonts.
- Corrects a small memory leak that resulted when the Flattener was used.
- Corrects an issue where an error message appeared when opening a single page TIFF file.
- Corrects an issue using the temporary file system when files were copied to the wrong location on the disk.
APDFL v15.0.4PlusP5f (5/23/2019)
- Adds the CMap file Adobe-Japan1-7 to the distribution.
- Adds support for Mandarin (traditional and simplified), Japanese, and Korean fonts when using OCR.
- Corrects an issue in which images could be mis-categorized and fail to be downsampled when they otherwise would be using the Optimizer.
- Corrects an issue in the conversion of stream content to PDE Content, and back, that caused text to be grouped incorrectly when constant alpha or blend mode is changed.
- Corrects two issues with how redactions are created in which interacting with them in Acrobat would cause the font and sizing to change unexpectedly.
- Corrects an issue causing exceptions and failure to flatten pages when multi-threading flatteners.
- Corrects an issue in which the font cache file created could grow in size in a threaded scenario when a particular font path was used.
- Corrects an issue with PDEImageRemoveIndexedColor() when the image used a /DCTDecode or /JPXDecode filter. It also corrects an issue when a /Decode entry was present.
- Corrects two issues in the placement of quads found through the word finder, in Arabic text, when the baseline is rotated using the text matrix.
- Corrects word order within a line, when the words are out of reading order in the PDF content.
- Sets up feature to prevent text blocks from being merged if they have different values for op/OP/OPM.
- Removes Non-ASCII characters from header files.
- Corrects an issue in which small JPEG2000 images would not be color converted correctly.
- Improves PDPageAcquirePDEContent() to not raise an error for Content stream’s that have a /Filter array with no elements.
- Corrects an issue with the AddText sample.
- When saving a PDF document as linearized, enhances the RelaxedSyntax flag to allow processing to continue when encountering an indirect reference with an object number outside the range of integer values.
APDFL v15.0.4PlusP5e (5/1/2019)
- Adds the SaveOriginalMetadata value to the SaveFlags enumeration.
- Improves performance when saving a document during font lookup.
- Improves performance for PDWordFinderAcquireWordList() when the preciseQuad option is enabled.
- Updates the PDF/A-1b conversion process to not include the Structure Tree in the output. This is not required for conformance.
- Enhances the RelaxedSyntax flag when set to permit rendering of a PDF page when an ill-defined DeviceN colorspace is found. Enhances decoding of problematic DCT encoded images to be more forgiving of bad data when possible.
- Adds PDETextItemGetTextMatrixEx()/PDETextItemSetTextMatrixEx() to the exported symbols for the DL150PDFL framework for Mac.
- Corrects an issue where inserting a page could cause an intermittent Access Violation when encountering a OBJR with a “/Pg” value that didn’t exist in the source document.
- Corrects an issue when using the Translate() method of the Image class in which the translated location could be slightly offset from where expected.
- Corrects an issue in which a Linearize save could get stuck, endlessly processing a document with a constant recursion of Form XObjects. Now the processing stops, and an error message is provided instead.
- Corrects an issue where a page with a translucent annotation prints as a white page.
- Corrects an issue where rendering a document to RGBA with OPP fails.
- Corrects an issue with page rasterization when OutputPrintPreview was enabled with a target of CMYK.
- Corrects a small memory leak that could occur when the Flattener was used.
- Corrects an issue in the RenderPage sample for rendering very large images.
- Corrects an issue in which rasterization of a page would be complete after encountering a problematic ICC Profile embedded in a JPG image.
- Corrects an issue Flattening a document that uses inherited page resources.
- Corrects an issue in font re-subsetting which caused missing glyphs in the optimized document.
- Corrects an issue where Indexed images could be converted incorrectly during optimization.
- Corrects an issue where embedding a font could result in an empty font stream.
APDFL v15.0.4PlusP5c (3/19/2019)
- Improves the GetImage() method of the Page class to support sizes exceeding 32760 pixels in dimension. This also improves the Save() method of the Image class to support larger sizes for image formats that support it.
- Improves performance when merging fonts during the save operation.
- Updates version of libpng used with XPS conversion and Java/.NET interfaces.
- Corrects an issue in which a non-Unicode search could return an incorrect result when the proper result could be found in Unicode.
- Corrects an issue in which the MXCSR register value would not be restored after Flattening a page when an exception occurred in 64-bit.
- Corrects a number of issues in extracting words in Arabic text.
- Corrects an issue in the application of Tw to word spaces in Unicode, that was causing bounding boxes to shift to the right in some cases.
- Corrects an issue in which a number of characters were displayed out of sequence in Arabic text.
- Corrects a number of issues in the sequencing of diacritical marks in Arabic text.
- Corrects a number of issues in the sequencing of diacritical marks in Arabic text.
- Corrects an issue in PDF/A conversion in which a CID font could cause the file to fail to be compliant.
- Corrects an issue in which Indexed images could be converted incorrectly during optimization.
APDFL v15.0.4PlusP5a (2/20/2019)
- Updates the sample program DotNetViewer to disable TaggedPDF in the word finder, hence allowing text inside a language Marked Content Block to be found by the text search engine.
- Adds the DoNotResolveInvalidStructureParentReferences flag to PageInsertFlags which can be set to improve performance.
- Updates the APDFL distribution to include the file Adobe-CNS1-7 in its CMap directory.
- Adds support to the AllowRelaxedSyntax flag to allow opening of a document with a bad entry in a cross reference stream.
- Adds OCR support on Linux 64 and Windows 64 platforms.
- Corrects a small memory leak that could occur when opening an Image using the Image() class constructor.
- Improves the performance of PDFOptimzer when using the PDFOptimizerDiscardUnusedFonts/Forms/Images options.
- Corrects an issue with the MergeDocuments sample that could lead to inconsistent results.
- Updates PDDocEmbedFonts() so the progress callback doesn’t report embedding for Type 3 fonts since it caused confusion.
Corrected an issue in which the in-use file system was ignored when using PDDocInsertPages().
- Corrects an issue with the RenderPage sample for 1bpc image output.
- Corrects an issue in which opening TIFF images with zero resolution led to an invalid BoundingBox being created.
- Updates the PDFL distribution to include the file Adobe-CNS1-7 in its CMap directory.
- Corrects an issue with the GetSegments() method of the Path class where it could not retrieve Point values outside the range of Fixed.
- Corrects an issue where rendering a problematic JPG would not raise an error. Now an error will be raised unless AllowRelaxedSyntax is enabled.
- Corrects an issue in which an error would be raised when a DeviceN image with 16 BPC was encountered while rendering.
- Corrects a regression for PDDocInsertPages() where pages with inherited /Rotate values would lose page content.
APDFL v15.0.4PlusP4m (2/5/2019)
- Adds a new option PDSaveOriginalMetaData to the PDDocSaveParamsRec saveflags2 options. When this option is used, the original document metadata stream and document instance ID will be retained from the original document.
- Updates the AdobeFnt file share mode flag, allowing it to be read under more conditions.
- Enhances the AllowRelaxed syntax flag to permit processing to continue when a dictionary with invalid name entries is encountered.
- Adds support to the AllowRelaxedSyntax flag to continue processing when acquiring Page Content when a problematic Image or Decode array is encountered.
- Corrects an issue in which ASTextEval() could sometimes hang.
- Corrects an incorrect statement in the Documentation regarding Disposing the Document class.
- Corrects a problem where files could be left behind in the temporary files directory after opening a XPS document.
- Corrects an issue in which PDFOptimizerResubsetSubsetFonts could create a subset with missing glyphs that were actually in use on the page.
- Corrects two issues in PDDocColorConvert in which the element which failed was being copied, resulting in incorrect color.
- Corrects a problem in the DotNetViewer sample when printing in 64-bit.
- Corrects a crash that could occur when converting a document to Postscript.
- Corrects an issue in which PDFOptimizerDiscardUnusedForms could misidentify a Pattern resource as not being in use when it was.
- Corrects an issue where converting a document to PDF/A had a compliance issue with Embedded Files.
- Corrects a regression causing annotations to not always render properly.
- Corrects an issue where long paths to a document (exceeding MAX_PATH) could not be opened or saved on Windows.
- Corrects an issue in which the in-memory file system was ignored when using PDDocInsertPages() and a file could be written to disk on Unix.
- Corrects an issue in which PDF/A conversion could leave behind files in the TEMP directory.
- Corrects a regression in which page content could be dropped when rendered.
- Corrects a performance issue when merging fonts.
- Corrects a regression that could occur for the Flattener when a Form with an invalid /BBox was encountered.
- Corrects an issue in which color conversion could incorrectly convert small JPX images.
APDFL v15.0.4PlusP4k (1/17/2019)
- Corrects a regression in which flattening a complicated document would create unneeded objects that slowed down processing when saving the file.
- Corrected an issue in which images were mistakenly removed from annotations.
- Corrected an issue in which Default Font resources could be misidentified by PDFOptimizer as being not in use for a document.
APDFL v15.0.4PlusP4h (12/18/2018)
- Corrects an issue when merging PDFs by ignoring incorrect /StructParent elements.
- Corrects an issue with color blending that could occur when a page containing material drawn in blend mode “Multiply” and a constant alpha other than 1.0 was rendered to separations.
- Corrects an issue with color blending when drawing separations to a page with transparency.
APDFL v15.0.4PlusP4g (12/10/2018)
- Adds a new parameter to CreateRedaction which allows a user to specify a font to use as the redaction. This allows for much better performance when a large number of redactions are to be created.
- Corrects an issue in which an image was lost in flattening when a malformed pattern color space was used as a Soft Mask over the image.
- Corrects an issue in the DotNetViewer sample which resulted in a blank page being printed.
- Corrects a bad allocation error that could occur when creating an instance of the Image class from a large dimension TIFF.
- Corrects an issue in which a font whose name includes a space was failing to embed. Also corrects an issue in which having a font which could not embed raised an exception rather than reporting to the notification callback.
- Corrects an issue in which using InsertPages results in an invalid PDF.
- Corrects the PDFViewer sample (C++) and the DotNetViewer sample to properly connect to resources. This allows pages which require fonts or CMaps not embedded in the document to display properly.
- Corrects an issue in which a subset font had a single glyph used and that glyph was GID 0, creating an invalid font object.
- Corrects an issue in which fonts were mishandled during the flattening process and caused the document to be rasterized.
APDFL v15.0.4PlusP4f (11/20/2018)
- Modifies the process of merging Structure Information when merging pages into a document to support share Attributes Objects between Structure elements.
- Adds the Cancel callback function to ‘PDDocumentOptimize()’.
- Relaxes the restriction on internal stream sizes, so that images larger than 6GB may be created under some conditions.
- Adds a new option PDFOptimizerDiscardUnusedFonts to PDFOptimizer, which defaults to True to remove fonts from a document that aren’t actually used.
- Speeds up merging when using PDInsertDoNotMergeFonts.
- Improves license activation error messages resulting from HTTP proxy failures.
- Updates “All” sample project to build and run TestSelectEnum program on all platforms.
- Corrects an issue in which some characters were missing or incorrect after flattening when ToUnicode tables are omitted in the input fonts and when glyphs whose names are outside of the presumed character set are used within encodings.
- Corrects an issue in which some characters were missing or incorrect after flattening when ToUnicode tables are omitted in the input fonts and when glyphs whose names are outside of the presumed character set are used within encodings.
- Corrects an issue in color conversions when input color is an illegal separation color (one with the name “All” or “None”).
- Corrects an ambiguity in the Redaction class by removing the Title member; The base Annotation class Title member should be used instead.
- Corrects a problem with the public header PDProcs.h for the function PDDocCreateTextSelectUCS().
- Corrects an issue in flattening text which caused the incorrect font to be used in the resulting document.
- Corrects an issue in which images with zero content were not iterable when Allow Relaxed Syntax was used.
- Corrects a problem in which merging one PDF into another could result in missing content by flattening all inherited values from the page tree before merging.
- Corrects response to errors in width table construction so that a document with such errors displays and prints the same in Adobe PDF Library as in Acrobat.
APDFL v15.0.4PlusP4e (10/15/2018)
- Improves rendering performance of a PDF page with thousands of nearly empty Form XObject streams.
- 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.
- 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.
- 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).
- Corrects a problem with loading PDFs over 2GB from a stream.
- Corrects a problem where Text Leading could be mishandled when updating a Page’s Content.
APDFL v15.0.4PlusP4d (10/3/2018)
- Improves Optimizer’s ability to discard page overhead for a document when the PDFOptimizerDiscardUnusedImages and PDFOptimizerDiscardUnusedForms options are set.
- 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.
- Updates Mac framework structure of ICUData and ICUConverter to match the rest of the distributed bundles.
- 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..
- Improves the performance of applying redactions to a document with structure information.
- 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..
- Corrects an issue with forms when the Bounding Box is set to the maximum size (-32768, 32767, 32767, -32768).
- Corrects an issue in JPG decoding that caused slightly different values than expected.
- Corrects a memory leak that could occur when subsetting base 14 fonts.
- Corrects an issue that caused text to disappear from the page after Optimization.
- Corrects an internal rounding error that could occur when rendering Separations.
- Corrects a problem with the AlternateFileSystem C++ sample where the setpos() callback for 64-bit was not being used.
- 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)
- A new sample program, TextSelectEnum, was added to demonstrate the use of PDDocCreateTextSelect and PDTextSelectEnumUCS.
- Corrects an issue rendering content by ignoring invalidly formed Halftone entries in an extended GState when relaxed syntax is permitted.
- Corrects an internal limitation of decoding a JPEG2000 image during rasterization in 64-bit.
- 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.
- Corrects a problem where a JPG image on the page of a PDF document would fail to render because of an empty DHT marker.
- Corrects a regression where font merging during saving was prematurely ended if many similar subset names were found.
- Corrects an issue with the PDFOptimizerDiscardUnusedImages/ PDFOptimizerDiscardUnusedForms option was used for a document with many images and forms. Performance problem addressed.
- Corrects an issue where PDDocColorConvertPageEx() could leave files behind in the temp directory.
- 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)
- 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.
- 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.
- 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.
- Improves rendering performance of a PDF page with thousands of invalid Form XObject streams.
- 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.
- 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.
- 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.
- Corrects an issue in vertical placement logic that added a large pad above the first line.
- Corrects a small memory leak that occurred when optimizing images.
- Corrects an error that could occur retrieving a document’s attachments.
- Corrects an issue with PDSaveOptimizeXObjects where identical ICCBased streams used in images were not always consolidated.
- Corrects an issue in which the annotations rectangle did not update when the quads were updated.
- 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.
- Corrects an issue rendering separations for colorants where ones specified in annotations would be ignored.
- Corrects an issue where setting a page’s content could lead to a mishandling of the text leading on the page.
- Corrects a warning in a public header file.
APDFL v15.0.4PlusP3t (7/16/2018)
- Adds the methods ChangeWorkingSpaceRGB(), ChangeWorkingSpaceCMYK(), and ChangeWorkingSpaceGray() to the Library class.
- 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.
- Corrects a problem in which extraneous “invisible” characters embedded in the document were being printed via non-postscript printers.
- 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.
- 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)
- Adds a new .NET/Java interface property PDFDict to the Container class.
- 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.
- Adds a new property HasSignature to the Document class.
- 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.
- Corrects a problem with Flattener behavior when the Page Blending Colorspace is set to an uncalibrated colorspace.
- Corrects an issue in which Arabic Diacriticals were placed one glyph later than they should have been.
- Corrects a problem where glyph widths for a font used on the page could be incorrect when flattening it.
- Corrects a small memory leak in the ASFileOpenWithVirtualEOF() method.
- Corrects an issue where a PDE round trip could misplace some text vertically on the page.
- Corrects an issue where the Java Samples would not find the Resources if the Maven Set Up commands were not run.
- Corrects a crash that could occur running the DisplayPDEContent sample for a particular document.
- Corrects a problem with PDDocInsertPages() that could occur for documents with atypical Structure Trees.
- Improves the behavior of MovePage() for documents with Flat Page Trees.
- Corrects a problem that could affect the masking of an image when changing the Compression property of an Image that contains a SoftMask.
- Suppresses a warning under Visual Studio from CorCalls.h about an unreferenced parameter.
APDFL v15.0.4PlusP3g (5/15/2018)
- Improves rendering performance of a PDF page with thousands of empty Form XObject streams.
- Updates the PrintPDFGUI .NET sample to make it easier to use and understand the code.
- Corrects an issue in the flattener where some areas of a large graphic, tiled in flattening, were omitted at the boundary of overlaid elements.
- 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.
- Corrects an issue with dlpdfimagecreatefromfile() reading a PDF that contained an enormous amount of ColorSpaces and XObjects.
- 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.
- Corrects an issue in which references to PDE objects could outlive those objects, leading to exceptions and potential access violations.
- Corrects an issue with missing spaces in text extracted from a PDF.
- 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.
- Corrects a problem where extra text leading was being applied under specific conditions.
- 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.
- Corrects an error that would occur when a large value was encountered in the /Coords array of a Radial Shading dictionary.
- Corrects an issue where the flattener could reuse a font improperly resulting in incorrect glyph widths being set.
- Corrects an issue that could occur when updating page content for matrix values that were very small.
- Corrects a warning seen by the Clang compiler for a public header file.
- Corrects an issue where eligible 1bpc images were not downsampled. Also corrects an issue where eligible stencil image masks were not downsampled.
- Corrects a problem that would occur when printing to Postscript in which a DSC Page comment was off by 1.
- Corrects a problem with DLI runtime dependencies.
APDFL v15.0.4PlusP3e (4/17/2018)
- 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.
- Adds a NoFlags value to the LibraryFlags enumeration and improves explanatory comments regarding usage of LibraryFlags.
- Corrects an issue with images rendered through a soft mask appears incorrectly after flattening.
- Corrects an issue in which printing to Postscript could create a file that was problematic for Adobe Distiller.
- Corrects multiple problems that occurred when rendering separations that required memory to exceed 4 GB.
- Corrects an issue when adding a JPG larger than 16 MB to the page of a PDF.
- Corrects an Access Violation that could occur when calling PDDocColorConvertPage() on a document.
- Corrects an issue with optional content by enabling the “ClientOCContext” field of the draw params record.
- Corrects an issue where assigning a Bookmark’s Action to a Link Annotation’s action could raise an error.
- Corrects build compilation warnings seen when building with shipped public header files.
- Corrects an issue where the DeletePages() method could hang when deleting all of the pages of a particular document.
- 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.
- Adds a new member CalibrateDeviceSpacesWhenPrinting to the PageImageParams class.
- Improves reading of corrupted non-tiled G3/G4 TIFF images by attempting to decode as much of the image as can reasonably be read.
- Corrects an issue where PDF/A conversion would drop a font used for Invisible Text on a page.
- Corrects a problem where inserting pages from one document to another would not persist the /E and /Lang entries of a structure element dictionary.
- 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)
- 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.
- Updates open source graphics libraries (libjpeg, libtiff, PNGLib, ZLib) to latest versions in APDFL, DLI, and Java/.NET interfaces to address security concerns.
- Corrects a problem in detecting and setting leading (Tl and TD) when writing a content stream that uses T* (previously released for Windows/Linux).
- 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.
- 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).
- Corrects a problem where the TextFinder could disorder Arabic text with diacritical marks present.
- Corrects a problem with text color changing unexpectedly after flattening a document.
- Corrects a problem where flattening a document could misplace glyphs on the page.
- 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)
- Improves documentation in the Adobe PDF Library public header files.
- Corrects a performance issue when converting a PDF document with many annotations to PDF/A.
- Corrects a problem flattening a document with certain fonts, resulting in .notdef glyphs (Mac only).
- Corrects a crash that could sometimes occur during system font acquisition.
- Corrects a problem where the PDFOptimizer would skip certain images that should have been downsampled.
- Corrects a crash that could occur during disposal of the Library after a PDF/A conversion failed.
- 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)
- Adds a new option 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.
- Prevents the system from hanging in PDFLTermHFT.
- Corrects a problem for specific PDF documents in which ‘PDDocSaveWithParams’ generates the wrong Postscript code.
- Corrects an issue with the setting of the version of a file when working with a v2.0 PDF file.
- Corrects a recent regression that could occur when rendering a page.
- Corrects an Access Violation that occurs when flattening a document with an Output Intent profile specified.
- Corrects an Access Violation that occurs when small images are resampled by the PDFOptimizer.
- 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)
- Adds a new enumerator, “DoNotMergeFonts,” to the enumeration CPageInsertFlagsEnum.
- Adds a member ConvertProfilePath to the ColorConvertActions class to allow a path to an external ICC profile to be set.
- The software was not properly making a colorant when it was used in a Shading.
- Corrects a problem where PDEContentToCosObj() could cause a Stack Overflow for very complex Page Content.
- Updates the process that creates Separation colors to properly display the Spot and Process color.
- Corrects a problem where Link annotation destinations would have their destinations be invalidated after flattening a document.
- Corrects a problem where calling PDWordFinderAcquireWordList() could cause an Access Violation.
- Optimizes the code used to replace page references in Link Annotations and in Outline entries.
- Corrects an error that was invalid, sometimes appearing when printing documents with 3D annotations.
APDFL v15.0.4PlusP2s (11/10/2017)
- 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.
- 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.
- 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.
- 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.
- 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.
- Corrects an intermittent problem where kPDPageIPParseThread could cause an Access Violation.
- 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.
- 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.
- Corrects a problem where rendering a page could raise an error when a very large matrix value was encountered by an internal routine.
- Corrects an issue where an Access Violation could occur when accessing the OptionalContentGroups of an OptionalContentMembershipDict.
- 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.
- Corrects a problem where PDEFormGetContent() could get stuck in an infinite loop.
- 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.
- Corrects a problem where merging of fonts during a save could create invalid width information.
- Corrects a problem where an Access Violation would occur using PDEImageJPXGetAttrs().
- Corrects a problem where a Form with a very small rotation was unintentionally driven to 0 when flattening took place.
- Corrects a problem where Path elements with different alpha values for Fill and Stroke were not rendered correctly.
- Corrects a problem where CMYK JPG graphics files were being created without resolution information.
- Corrects a problem in which flattening a document removed content due to lack of permission to re-embed a font after re-encoding.
- Correct problems where merging of fonts during a save could create invalid width information.
- 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)
- Updates CreateSeparations C++ sample for generating separation previews for spot/process color pages.
- Creates 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
- 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.
- Corrects a problem in which font width tables could be merged incorrectly during a rendering.
- Corrects a performance issue where ACE optimizations were mistakenly disabled for Windows.
- Corrects a problem with persisting structure information when converting to PDF/A.
- Corrects a problem in which the optimizer would skip very large images for resampling.
- 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)
- Adds additional ICC Profiles to the distribution.
- Adds compiler flags added to the Linux and Intel Solaris build process and linker flags to Linux for added security.
- Corrects a problem in which converting the page of a document to PDF/A would fail.
- 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.
- Corrects a performance issue with IBM AIX.
- 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.
- 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.
- 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.
- 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.
- Corrects a problem where XCode samples on Mac could not be run out of the box without changing to the Scheme settings.
- 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)
- Adds 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.
- Improves multi-threading stability and reduced potential for crashes related to font caches and thread resource sharing.
- Corrects a problem where flattening a document could invalidate its bookmarks.
- Corrects a problem in the DrawToBitmap sample.
- 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.
- Corrects a problem where calling PDESoftMaskAcquireForm() could raise an error when called on a PDESoftMask created by PDEExtGStateAcquireSoftMask().
- 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
- Permits an application written in C++ to use try/catch exclusively to catch APDFL exceptions. This feature is not available for Mac.
- Moves 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.
- Permits 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.
- Adds a new value, LessImageDataThanExpectedWarning, 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.
- Adds a new method, PDFontXlateToUCSCanRaise(). This method will raise an error if it can’t be determined how to translate a text string.
- Corrects a problem where saving a Signed PDF incrementally could raise an error.
- Corrects a problem where the Flattener would cut off page content unexpectedly.
- Corrects a problem where rendering would cut off page content unexpectedly.
- Corrects a problem where slightly skewed content on the page would be unexpectedly cut off when rendered.
- Corrects a problem where TrueType fonts with embedded bitmaps for glyph data would be drawn in the wrong location on the page.
- Corrects a problem where the sample makefile was missing a reference to the DisplayPDEContent sample.
- Corrects a problem with the ImageImport sample.
- 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.
- 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.
- 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)
- Corrects a problem where setting the content of a PDEForm using a BBox with very large values updated the BBox to have default values.
- Corrects a problem when printing to Postscript where invalid output was created when empty Image XObject streams were encountered in the input PDF.
- Extends the recent case resolution to support translations in a single X or Y direction.
- 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.
- Corrects a problem with heap corruption encountered on Mac.
- 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.
- Corrects a problem where the Translate() method was not working correctly on Text elements when a multibyte font was in use.
- 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.
- Updates the RenderPage sample default resolution to 300 DPI.
- Adds the EmbedNow() method to the Font class, allowing the user to embed the font created immediately.
- Adds a parameter that is a Document instance to the EmbedNow() method of the Font class.
- Corrects library initialization for multi-threading and prevents a resulting crash when merging PDF files with multiple threads.
- Corrects a problem in which the Bitmap retrieved from the Image class was returned with an incorrect palette.
- Corrects a problem where converting to PDF/A could result in some text being dropped if there were errors encountering on previously processed pages.
- Enhances redaction annotation creation in PDFL to facilitate review during Content Identification.
- 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.
- Adds individual 32bit and 64bit Solution (.sln) files for each Windows C++ sample.
- Adds .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.
- Adds 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.
- Updates Eclipse support files to support the new packaging structure of the Java samples.
- Renames DLEViewer samples for the DotNET and Java interface to DotNETViewer and JavaViewer.
- Adds a new Getting Started guide as a PDF document to the installation package
- Adds 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.
- Corrects a problem where text leading could be incorrectly changed when the page’s contents were updated.
- Corrects a problem where the Translate() method was not working correctly on Text elements when a multi-byte font was in use.
- Corrects a problem with the FlattenTransparency sample. It was crashing when the input file could not be found.
- Corrects a problem where PDColorConvertPDEElement() would cause stencil image masks to be drawn incorrectly.
- Corrects a problem with rendering, where a document’s page was taking over 10 minutes to render when using annotation faces.
- Corrects a problem with Japanese characters not being rendered correctly. The distributed Font resource ‘KozMinPr6N-Regular.otf’ has been updated.
- The PosePrintDialog() method of the PrintUserParams class now uses the current foreground window as its owner.
- 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.
Corrects a problem with Indexed images that were becoming distorted as a result of document optimization.
- Corrects a problem where embedding a font after converting XPS to PDF would cause an Access Violation.
- Corrects a problem with the PagePaperSource member of the PageRange class. It did not always work correctly.
- Corrects a problem with Indexed images and 1bpc images, which were distorted as a result of document optimization.
- Corrects a problem where getting an annotation color could raise an error during the drawing of a page.
- 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.
- Adds 20 new samples to the CPlusPlus interface:
- Updates all samples to accept inputs (if used) and have default inputs specified.
- Removes pre-built executables for Java and DotNET samples from the package.
- Removes Adobe Systems samples from the package
- Removes DLI from the package
- Provides Java and DotNET interfaces 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
- Eliminates VisualStudio .NET CPU type selection requirement by specifying Win x86 and Win x64 build files per distribution
- Provides Windows-only support for sending a single print job to multiple print trays based on page ranges
- Corrects a recent unintentional change to PDDocSetXAPMetadata()
- Improves the GenerateAppearance() method of the FreeText annotations class with regard to fonts and updates the constructors that take a default appearance string
- This corrects a crash that occurred during rendering when an unsupported Output Intent was found.
- Enables Windows-only Java and Microsoft .NET support for multi-threading with the Flattener plugin.
- Improves the GenerateAppearance() method of the FreeText annotations class with regard to fonts and updates the constructors that take a default appearance string.
- Updates several defined constants to reflect the recently incremented 15.0.4 release version.
APDFL v15.0.4PlusP1b (2/27/2017)
- Adds a feature to Optimizer to optimize documents directly in memory.
- Adds more detailed information to an exception being returned during PDF/A conversion, allowing the caller to recall the conversion with different parameters specified.
- Corrects heap corruption that could occur when saving a document.
- Corrects a problem with rendering when OptimizeForInteractive flag is set on Windows platforms. Use of this flag is not supported on other platforms.
- Corrects an Optimizer problem where a stencil mask could be improperly down-sampled.
- Corrects an Optimizer problem for documents opened from memory.
Ported from Adobe PDF Library 10:
- Reverts an internal change to PDRenderObjectToMemoryWithParamsEx() that was responsible for introducing artifacts when rendering certain fonts.
- Corrects a problem with noncompliant XMP CreateDate entries being created occasionally.
- 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
- Adds border width and opacity support to appearance generation of FreeText annotations.
- Updates an internal resource version string to 15.
- Provides support for AIX 6.1.
- Corrects a crash while rendering a problematic J2K image.
- Corrects a crash found on more recent AMD processors when opening secure documents.
- Provides support for AIX 6.1.
- Corrects a problem with watermarks, that did not retain their desired position when printed in landscape orientation.
- Corrects a problem with the PDFAConverter sample that resulted in an output PDF that was not PDF/A-1b compliant.
Ported from Adobe PDF Library 10:
- 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.
- Corrects a problem preserving relative layouts for two or more graphic elements when applying any combination of transformations.
- Corrects a problem with PDDocInsertPages(). Structural tags in the output were no longer pointing to existential pages.
- Updates the logic introduced by 39240 to achieve better performance when precise bounding boxes are not required.
- Corrects a problem embedding TrueType fonts for PDF/A conversion.
- Corrects a fault when attempting to save a monochrome image with the HalftoneGrayImages set.
APDFL v15.0.1PlusP1m (1/10/2017)
- Corrects an intermittent AccessViolationException with Flattener.
- Corrects a memory leak that could occur while creating an internal color specification.
- Corrects a problem in which text extraction resulted in inaccurate word reconstruction.
- Corrects a crash that occurred while looking for a font to render a page.
- Corrects a crash that could occur while fonts were optimized during a save.
Ported from Adobe PDF Library 10:
- Corrects a problem in which colors were not rendering correctly.
- Corrects a problem creating an invalid content stream with regard to a text block.
- Corrects a problem in which a black artifact was rendering over an embedded image.
- Corrects a problem in which the PDF/A converter had an incorrect decode array when creating Image Stencil Masks.
- Corrects a memory leak that could occur when calling PDDocEmbedFonts().
APDFL v15.0.1PlusP1k (12/21/2016)
Problems Corrections (limited release)
- 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)
- Adds 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.
- Corrects an unexpected exception on multiple threads in DLE.
- Corrects a segmentation fault with the FlattenTransparency sample.
- Corrects a problem building APDFL15 for SPARC32 on Solaris 10.
- Restores desired behavior with a smoothing effect.
Ported from Adobe PDF Library v10.1.0:
- Corrects a problem in which the PDWordGetCharPoint function was returning incorrect location results of rotated text.
- Corrects a problem in which the Alternate FileSystem’s (ASFileSysRec) DisposePathName callback would not always fire on Windows 64-bit.
- Corrects a problem in which certain graphic objects were not being rendered.
- Corrects a problem causing excessive file size increases when a document containing Structured PDF tags was copied to a new file page-by-page.
- Corrects a problem with PDF/A conversion incorrectly processing ImageMasks.
- Corrects a problem with missing letters after font embedding.
- Corrects a crash with merged TrueType fonts during saving with PDSaveLinearized.
- Corrects a problem in which PDDocSetNewCryptHandler resulted in corrupted PDFs.
- Corrects a problem in which PDDocInsertPages was crashing with a specific PDF file.
- Corrects a problem in which unexpected black rectangles were rendered over the PDF.
- 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.
- Corrects a problem with PNG encoder that incorrectly combined image data with soft mask.
- Corrects a problem converting pictures from PDF to JPG with the DocToImages sample in DLE Java.
APDFL v15.0.1PlusP1g (11/16/2016)
- Adds support for APDFL15.0.1 on HP/titanium-32.
- Update 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.
- Corrects a problem where the page footer was not appearing. Ported from the APDFL10.1.0PlusP5m release.
- Corrects memory leaks for version 15.0.1 for the .NET and Java interface.
- Corrects 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)
- Adds support for APDFL15.0.1 on three new platforms, IBM AIX, Intel Solaris, and Sparc Solaris. The product is now available on:
- When half toning isn’t used for G3 or G4 TIFF output, use threshholding to create the monochrome output. Provides a new DLE property to allow a user to control the threshold value used.
- Adds ‘kPDPrintUseCropBox’ interface support to DLE.
- Corrects an APDFL internal PDEContent memory leak that occurred when the content parser encountered an error.
- Eliminates an APDFL/DLE heap corruption error when trying to create a PDF page from an Image.
- Modifies 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)
- Adds a parameter allowing the customer to control the Flattener vector/rater decision. This allows the customer to control the time to flatten pages.
- Corrects a problem with the PDF/A conversion of certain documents that resulted in PDF/A-1b compliance errors (“Dictionary with more than 4095 entries”).
- Corrects a problem with PDPageDrawContentsToMemory not respecting UserUnit if updateRect is used.
- Corrects a problem with the Adobe PDF Library Linux release only being compatible with RHEL7. Now it is compatible with both RHEL6 and RHEL7.
- Corrects a problem that caused the Library to crash when flattening certain documents.
- Exposes new Flattener parameters in DLE.
APDFL v15.0.1PlusP1d (8/19/2016)
- Adds 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.
- Adds a parameter, kPDPrintUseCropBox , to the PDFLPrintDoc() interface to use the crop box for paper width and paper height.
- ASFileClose now returns an error code instead of raising an exception when attempting to close an already-closed ASFile.
- Corrects issues with blank output text when the ZapfDingbats font was used.
- Corrects a problem where temporary files could not be created by PDDocOpen because the temporary directory was not accessible.
- Corrects a problem that caused PDF/A conversion failure in DLE.
APDFL v15.0.1PlusP1b (7/14/2016)
- Adds Progress Monitor Callbacks to APDFL and DLE for DrawContents methods.
- Adds Progress Monitor Callbacks to APDFL and DLE for Print methods.
- Corrects the Vivaldi Italic entry in the APDFL internal cache was modified so that it could be found using the customer’s keywords.
- Tolerates 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.
- Modifies DLE to skip over invalid Annotations when rendering a PDF Document.
- Modifies the PDPageDrawContentsToMemoryEx() internal logic to not do Antialias processing for clip paths.
- Corrects 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.
- Corrects a segmentation fault termination of applications that attempt to use one of the plug-ins (such as the PDFlattener) on a Sparc32 Solaris11 machine.
- Corrects 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.
- Corrects handling of widths in PDEElementGetWIdth() when the element is a PDEText element.
- Corrects a problem that prevented embedding, without subsetting, type 0 fonts.
- Modifies 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.