Toolkit Release Notes 5.5.1.15339


Build 5.5.1.15339


This article contains the software release notes for ActivePDF Toolkit Build 5.5.1.15339. This release includes bug fixes.


Software Requirements

The following software is required to successfully use Toolkit.


Server

  • Windows Server® 2003 (32- or 64-bit edition) OR
  • Windows Server® 2008 (32- or 64-bit edition) OR
  • Windows Server® 2012 64-bit edition
  • Windows Server® 2012 R2 64-bit edition
  • Microsoft® .NET Framework is required to use Toolkit's .NET component
    (1.1 or 2.0 minimum — if it is not detected, it will be installed automatically)


Desktop

(32- or 64-bit editions)

  • Microsoft Windows 8.1® OR
  • Microsoft Windows 8® OR
  • Microsoft Windows 7® OR
  • Microsoft Windows VistaTM  OR
  • Microsoft Windows XP®
  • Microsoft® .NET Framework is required to use Toolkit's .NET component
    (1.1 or 2.0 minimum — if it is not detected, it will be installed automatically)


Hardware Requirements

The minimum hardware requirements for Toolkit are:


Server

  • 125 MB of RAM
  • 25 MB of hard disk space (for application)


Desktop

  • 125 MB of RAM
  • 25 MB of hard disk space (for the application)


Known Bugs

When a bug is fixed, it is moved to the Bug Fixes table.

NOTE: Even if a workaround exists, the bug may be fixed in a later release.



ID #



Known Issue



Workaround



2566



Making a change using BarWidthReduction does not change the width of the barcode in the output.



No resolution at this time.



2585



When using the ü character in a field with webdings, the Monalisa glyph displays instead of the Webding glyph (a map of Europe).



Use a different (non-symbolic) font .



2627
2879
3664



When digitally signing a PDF containing compressed cross-reference streams, the output file is corrupt.


Cause: After a PDF compresses a cross-reference stream, subsequent cross-references must be compressed as well. At this time, Toolkit does not support writing out compressed object streams.



No resolution for this file at this time.



2962



When StichPDF is used to stitch pages to a PDF with different-sized pages, the CPU run at 90%, and takes a very long time to finish.


Cause: The resource replacement code could be optimized when stitching different-sized pages. An enhancement request has been submitted for this.



No resolution for this file at this time.



3082



When using barcode.Symbology with the values 125.126,127,128, no barcode is created in the output PDF.



At this time, use alternate symbologies.



3249



When iteratively merging or form filling the same file from a sample application, Toolkit's memory appears to progressively accumulate.Cause: This is not a memory leak; over successive runs, the memory accumulates proportionately and then stabilizes. This is due to a best fit memory issue with .NET string marshaling and Toolkit's native code interface. An enhancement request has been submitted to improve the string marshaling behavior.



No resolution for this application at this time.



3953



When the Arial Unicode MS fonts are not embedded, the fields in the output have truncated text.Cause: The rendering supplies a substitute font, and uses metrics that truncate the last character.



Select Use Local Fonts, and embed the fonts used in the original document.



4128



After a PDF with a logo was merged, the output PDF displays corrupt characters and returns an error "Cannot extract the embedded font".Cause: The PDF has Type 3 fonts which use XObject image resources that are not copied over.



Set DisableFontCache = true.



4442



When a field is created with Toolkit and the font property is set to "Arial", text manually typed into the field disappears after moving to the next field.



The encoding needs to be explicitly set. Set font information to:


Arial|encoding=WinAnsiEncoding



4507



File specific: Tiff conversion receives error "Insufficient data for an image" when opened with Acrobat Reader.



No resolution for this file at this time.



4533



When using the Stitch method to stitch a PDF with populated fields, the data from the fields is missing in the output file.



Flatten the file before using Stitch.



2645
3005
3007
3016
3663
4402
4453
4495



File specific bugs.



Please contact customer support for further information.



Bug Fixes in Toolkit R5

The following bugs were resolved.



ID #



Description



Resolution



2474



When PDFs were merged, sometimes subset fonts were not embedded, even if the fonts were present in C:\Windows\fonts.



The ASCII85 encoding algorithm was edited to resolve the problem.



2512



The GetInputFields method should return a message box for each information field found, but did not work as expected.



To resolve this problem, these properties were added to the GetInputFields method:


·         For GetInputFields :


o    Names - Yields a collection of field names


o    Instances - Yields a collection of FieldInstances


·         For FieldInstances:


o    Fields - Yields a collection of FieldInfo


o    InstanceNumbers - Yields a collection of Instance numbers


For more information, see the API documentation for the GetInputFields method.



2613



Only .tif image files worked with VisiblySignFile, .png and .jpg files failed to produce an image.



The compression method used when embedding the images was updated, and now .png and .jpg files produce an image.



2631



Toolkit crashes when using SetFont with a full font path that includes an encoding attribute.



This problem was corrected.



2648



If a string of text ended with the Unicode symbol, the last character of the string was missing in the output file.



The last character of the string is now included in the output file.



2669



File specific: ActivePDF is unable to copy pages.



Toolkit has been updated to discard empty pages.



2684



File Specific: Alignments are different for different fonts. 



The file contained a non-embedded font with defined widths including a default width, but included characters with no widths defined. The default width was used, impacting character alignment. No corresponding OS font was loaded due to name collision.This issue has been resolved.



2886



When an attached file was stitched, the conversion sometimes hung up.



There was an internal 64-bit pointer mismatch in the .NET class, and a problem processing disjointed content stream arrays. This problem was fixed.



2901



During conversion, some bullets were changed to the ≥ symbol, and some ≤ symbols were changed to ≥ .



Embedded nulls in some strings caused caching to fail. This problem was fixed.



2915



When a signature Field was added and SignExistingField is was used with Flag16, the date did not print.



This issue was resolved.



2932



Windows 2003 - 86 bit server failed during CopyForm, with a memory error.



This issue was resolved.



3006



File specific: When a TiffToPDF or ImageToPdf conversion was attempted, the output PDF was corrupt.



Some internally-mapped files were used for performance reasons. This caused an issue with certain types of .tif images. This issue was resolved.



3017



Toolkit crashed when attempting to open a PDF with 256-bit encryption.



Note: Toolkit does not support 256-bit encryption.Resolution: Now when Toolkit encounters a PDF with 25-bit encryption, Toolkit displays an error message and does not crash.



3058



File specific: After a CopyForm conversion, when Adobe Reader attempted to display one of the pages, an Insufficient Data for an Image message displayed.



The original PDF file violates the PDF specification in creating streams prefaced only with carriage returns.Toolkit has been updated to work around this issue.



3064



File Specific : An unhandled exception was thrown when merging two PDF files together.



This issue was resolved.



3067



In certain cases, a memory leak occurred when merging files.



This issue was resolved.



3076



When an encrypted PDF included Adobe extended features, using SetInputPasswords caused a crash.



The permission extensions used by Acrobat Reader are not encrypted, and are now bypassed during encryption. This resolves the issue.



3171



When Text2PDF was used to convert a text file with the "€" symbol, the symbol displayed as expected, but when the inputstream was instead of a file, the same text did not convert properly.



When the text comes in as a string stream, Windows converts it to the Unicode equivalents. WinAnsiEncoding is now used, which resolved the problem.



3185



After a TiffToPDF conversion, some .tif files displayed pink backgrounds.



This issue was resolved.



3606



File Specific: Toolkit Release 5.4.1.13272 locks when OpenInputFile is used.



Page arrays are now cleared when OpenInputFile is used, and Toolkit no longer locks up.



3610



Toolkit crashes when SetFormFieldData is used with null parameter.



Toolkit now checks the incoming parameter, and if null, sets it to""



3677



In certain cases, when a .tif files was converted using TiffToPDF, the output was a negative image of original.



This issue was resolved.



3726



In certain cases, when PDFs with attachments were copied the attachments were not copied.



During the copy, some items in the catalog were not being copied over.  Now all items are copied over and attachments are copied as expected.



3799



When a PDF file did not contain embedded fonts, some input fields did not display their data unless the field was selected.



When a font is not embedded, a similar font is substituted, and input fields display as expected.



3801



File specific: In COM, using OpenInputFile returned a " -1".



This issue was resolved.



3856



File specific: when merging the attached PDF, a memory error occurred,



The input PDF had bad width arrays, which are now handled and the PDF now merges as expected.



3972



In Windows 7, Toolkit locked up if OpenInputFile was used.



This was an issue with empty pages, and is now resolved.



4023



Font specific: CJK Japanese fonts did not display as expected in the output PDF.



The encoding for built-in CJK fonts is now loaded during conversion and the fonts display as expected.



4035



When SetHeaderFont or SetFont and CopyForm together are used together, the last page of the output was distorted.



When calling CopyForm several times without re-opening the input file,
if a resource was shared between pages,
subsequent resources were not written out.This has been resolved and the output now displays as expected.



4155



When attempting to open the stamp collection in a PDF, an error message displayed : "There was an error while trying to parse an image."



The stamp collection now opens as expected.



4206



An attached application failed when using IIS 8 with the 64 bit application pool.



An internal pointer mismatch with the 64 bit .NET wrapper was resolved and the application now opens as expected.



4231



File specific: Toolkit crashed when try to stamp the PDF with a timestamp.



This file had over 50,000 dictionary entries in a single object for the accessibility structure. The maximum number of dictionary entries in Toolkit was 32767.  The new maximum is now set to 2 billion, which resolves the issue.



4322



When filling out a form, a character was cut off in the field.



The rendering supplied a substitute font, and used metrics that truncated the last character.This issue has been resolved.



4333



When using an evaluation key for Toolkit, if PrintText twice was used twice, the display was rotated.



When using an evaluation key, the rotation angle was not reset. This issue has been resolved.



4365



When a multi-page .tif file was stored in memory with ImageByteArray and then MEMORY used with TIFFToPDF, only the first page was converted.



The internal return code processed the TIFF as a one-page image. This was corrected.



4380



The background color of a PDF changed when encrypted.



The indexed colorspace string is now handled correctly, and the issue is resolved.



4433



File specific: When attempting to open a file, Toolkit returned a "-1".



A bug in a third-party library was handled, and this issue was resolved.



4485



File specific: When merging an input file, the media box was rounded down, which caused the page size to change.



The MediaBox settings were converted to match CropBox and ArtBox, which use floats.



Additional Solutions

These occurrences may happen when Toolkit is working as expected.



ID #



Incident



What to do



175



After setting PrintMultiline Text to the Full justified (3) alignment parameter, the output text is left justified.



At this time, justification only works with fonts using these encodings:


·         WinAnsiEncoding


·         PDFDocEncoding


·         MacRomanEncoding


If you are using multi-byte fonts or fonts that do not use any of the listed encodings, you can add an encoding parameter:


Example:


aPDF.PrintMultilineText "Calibri|encoding=WinAnsiEncoding",
16, 300, 600, 100, 500, stringText, 3, 0


Note: At this time, only proportional fonts can be set to full justified. Non-proportional (monospaced; fixed-width) fonts should be left or right justified.

(Monospaced type is usually used for text that should line up evenly. Full-justification adds white space between characters, which prevents an even lineup.)



201



Debug modeDebug Mode works with a special trouble-shooting build of Toolkit, which has debug symbols turned on for a stack trace.


Debug Mode is used by ActivePDF internally during development.



Using Debug Mode has no effect in released versions of Toolkit.



1291



Toolkit ignores encryption on a PDF if a password was not set.



Provide an password when encrypting a file.


When using the SetInputPasswords or a DecryptFile encryption method, if no passwords are set on the input file, Toolkit assumes a BLANK password.



1301



When using custom fonts in a form field, the text does not display as expected.



Tips for using a custom font in a form field:


·         Make sure the font provider's end user license allows permission to embed and edit the font (see the note below).


·         Make sure the font is installed on the machine you are using.


·         Make sure the font is installed in the Windows font folder, or use the SetFont method to provide a path to the font.


·         Embed the entire font, do not use a subset.


·         When using SetFont for the form field, select the font using exactly the same name used by Windows.


Note: You can view permission information for many fonts in your Windows/fonts folder:


1.    In the fonts folder, right click on the font name and from the shortcut menu, select Properties.


2.    In the Properties dialog box, select Details.


3.    Check the Font embeddability setting:


o    Editable means the font is embeddable and available to your user for editing in a PDF, so it is suitable for PDFs with form fields.


o    Installable means the font is embeddable, but not available to your user for editing, so it is not suitable for PDFs with form fields that will be later edited.


For more information, see the Toolkit Font Usage section
of the Toolkit API Reference.


For more information about permissions for Adobe fonts, see
http://www.adobe.com/products
/type/font-licensing/
 font-embedding-permissions.html



1323



After setting the font to Arial, Japanese characters do not display in form fields as expected.



When you set up a form using AddField, choose Arial Unicode MS for the FontName.


Note: There are several font families that have "Arial" in their name. Arial Unicode MS has built-in support for Japanese characters, Arial does not.



2488



Field calculations do not seem to work after using SetFormFieldData.



Acrobat Reader does not automatically run field-level JavaScript calculations when the PDF is opened.


When you select in Preferences (under Preferences->Form) : Automatically Calculate Field Values, calculations are performed when the user enters them, not when the PDF opens.


To perform calculations when the PDF opens, you can add document- level JavaScript:


1.    In Acrobat X, select "View->Tools->JavaScript" and select "Document JavaScript"


2.    Enter a name for the script (for instance, Init)


3.    Click on Add...


4.    Delete everything in the window (the function Init() {...})


5.    Enter:
this.calculateNow();


6.    Click OK.


7.    Save the PDF.


The form now auto calculates when the PDF is opened.



2586



This linked bookmark was set for Page 3 of a landscaped page:


oTK.AddInternalLinkBookmark("Topic Title", 3, 0, 600)


The resulting bookmark points to the wrong page.



PDF page coordinates and bookmark links


An 8.5 in. x 11 in. page is equal to 612 by 792 PDF units.
The 0x, 0y point of a PDF document is in the lower-left corner, with Y increasing upward and X increasing to the right.


·         To place bookmark links at the top left corner of an 8.5 by 11 portrait page, use the coordinates 0, 792.


·         To place bookmark links at the top left corner of an 11 by 8.5 landscape page, use the coordinates 0, 612.


Syntax for AddInternalLinkBookmark


For a link to the top-left of Page 3 on a portrait page:


oTK.AddInternalLinkBookmark("Topic Title", 3, 0, 792)


For a link to the top-left of Page 3 on a landscape page:


oTK.AddInternalLinkBookmark("Topic Title", 3, 0, 612)


Important exception for rotated pages


When a page is in landscape position as a result of rotation in a PDF document,
the rotated page keeps the same page coordinates it had before any rotation.


For example, if a portrait 8.5 by 11 inch PDF page is rotated 90 degrees clockwise to a landscape position, it still uses the 0x, 0y position it had before rotation. The 0x,0y position that was in the bottom left corner is now displayed in the top-left corner.


As a result, the coordinates that mark the bookmark link position will vary for rotated pages, depending on how many degrees the page was rotated.


In order to adjust the values for the coordinates (based on the rotation of the page),
bookmark links that appear at the top left of rotated landscape pages would use these values for coordinates:


·         90 degrees: 0x, 0y


·         270 degrees: 612x, 0y


Toolkit provides a GetInputPageRotation call which, combined with Toolkit's Bounding Box calls, can be used to predetermine a page's current orientation and then adjust accordingly. 


For an example of using these calls, see:


Auto Rotate Text example



2605



After using Barcode BorderStyle, the setting is ignored.



The Barcode BorderStyle is deprecated, and is no longer in use.


There is no equivalent property at this time.



2622



File specific: After merging two files, the output file opens on Page 31 page instead of Page 1.



One of the files included an OpenAction JavaScript instruction saying "go to Page 1."
This navigation instruction is an absolute reference, rather than relative. In the output file, Page 1 became Page 31.


Remove OpenAction JavaScript instructions before merging files.



2628



Characters within form fields display differently when the form field is no longer in focus.



When form fields will be used for future editing and a TrueType font is used, the encoding needs to be explicitly set to one that contains the desired character set.


Example of FontName syntax with an encoding parameter included:


FIO.FontName "Helvetica|encoding=WinAnsiEncoding", 12


Note: If no encoding is set, Toolkit uses the default Identity-H encoding, which may result in resulting in missing or replaced characters when editing the form.



2631



Toolkit outputs a bad PDF when encoding is explicitly set for a font loaded from disk.



Toolkit only supports setting the font with the built in encodings (e.g. Adobe-GB1-UCS2) using the built-in fonts, unless the font is already specified in the file.


Toolkit WILL support the built-in encoding for a font loaded from disk IF the font is already specified in the file (even if it is not embedded).



2676



File specific: The PDF pages do not rotate after calling:SetOutputRotation(90)



In this case, the input file was already rotated at 90 degrees, so calling:


SetOutputRotation(90)


has no effect on the output file, since it is already set at 90 degrees..


To rotate the PDF a further 90 degrees, call:


SetOutputRotation(180)


Certain PDF producers (including print drivers and scanners) use PDF page rotation to set the page orientation (e.g. portrait versus landscape) and then orient the text accordingly. A PDF that visually appears to be portrait (with text that flows horizontally across a page taller than it is wide) may have an internal page rotation of 90 degrees.


Toolkit provides a GetInputPageRotation call which, combined with Toolkit's Bounding Box calls, can be used to predetermine a page's current orientation and then adjust accordingly. 


For an example of using these calls, see:


Auto Rotate Text example



2874



When the DisableFontCache was enabled, the resulting PDF file had garbled characters. If the DisableForntCache was disabled, the output file was as expected.



When stitching, Toolkit uses the font cache.


Before using StichPDF, do not disable font cache. Make sure DisableFontCache is turned off.



2963



Using MergeFile with OpenInputFile.



MergeFile should not be used with OpenInputFile. MergeFile closes an open input files before proceeding.


The Toolkit document: Changes to Memory Handling in Toolkit R2 and Later, has been edited.



3353



File specific: Watermark cannot be applied to the file.



The watermark has an odd-sized bounding box and is the size of the page (8.5 by 11 in). In this case, the script for creating the watermark needs to include a transformation to downsize the watermark.


This script will be added to the Tutorials section in the next publishing of the Toolkit API Reference.



3673



File specific: The numbers in watermarks do not display as expected.



In this case, the original PDF has a font named Arial embedded in it with non-optimized widths. Because not all the character widths are defined, watermark characters do not display as expected.


Font names in Toolkit are case sensitive. In this case, if lower-case arial is called out for the watermark, Toolkit will load a fresh version of Arial font with character widths, instead of relying on the problematic embedded font found in the cache. The watermarks will display as expected.



3678



In the Toolkit API Reference, the descriptions for the DoNotDeleteImageField arguments are reversed.



In the Toolkit API Reference, the descriptions for the DoNotDeleteImageField arguments are reversed.


Document states:


1 = Image is deleted and flag is kept intact.
0 = Image is not deleted and flag is not retained.


Should state:


0 = Image is deleted and flag is kept intact.
1 = Image is not deleted and flag is not retained.


This information will be corrected in the next publishing of the Toolkit API Reference.



3679



No New Call for the Deprecated Barcode PDFAspectRatio property.



At this time, there is no replacement. An enhancement request has been filed.



3682



Explorer Object > Explorer Method > Obj_GetKind was not included In the Deprecated Calls list.



Obj_GetKind was added to the Deprecated call list.



3716



File specific: German letters in the watermark do not display as expected.



This file contains Type3 fonts that are embedding Type1 fonts as resources internally. If the font cache is enabled, Toolkit waits until the output file closes before it outputs the fonts. Currently, there is no way to backward reconcile this.


The workaround is to set DisableFontCache = true.



3768



File specific: When CopyForm is used, the output file is two to three times larger than the input file.



The input file contains compressed object steams.
Currently, Toolkit does not support compressed object streams, when encountered, they are decompressed.



4021



Using the DefaultWidth option of SetFont has no effect on an output stamp.



DefaultWidth has no effect on standard single-byte, proportional-width font.


The DefaultWidth option is included for use with the double-byte encoding that many fixed-width Chinese, Japanese and Korean fonts use. If the double-byte font is missing the width metric, DefaultWidth can be used to substitute the metric.


This information will be added to the next publishing of the Toolkit API Reference.



4045



When merging two PDF documents, the text fields disappear.



To preserve the form fields when using MergeFile, call ReadOnlyOnMerge after calling OpenOutputFile. Otherwise, use CopyForm.


This information will be added to the next publishing of the Toolkit API Reference.



4072



File specific: After using MergeFile, the tab order (when tabbing through form fields) is altered in the output file.



The PDF was created using XFA parsing. XFA uses the <Traversal> element to specify the order for tabbing through forms, rather than the AcroForm entries Toolkit expects.


At this time, Toolkit does not support XFA parsing.



4213



The Knowledgebase article listing Toolkit System requirements does not list Windows 7 as a supported operating system.



Toolkit is fully functional on Microsoft Windows 7 and 8; on both the 32 and 64-bit systems.


The Knowledgebase article will be updated.



4420
4138



File specific: Watermark only appears on the first page.



The watermark has an odd-sized bounding box. In this case, the script for creating the watermark needs to include a transformation to downsize the watermark.


This script will be added to the Tutorials section in the next publishing of the Toolkit API Reference.



4440



When specifying the "Arial" font with the FieldInfo property FontName, "ArialMT" is used instead.



Following PDF specifications, Toolkit determines the PostScript name for the value of BaseFont in one of two ways:


·         If the TrueType font program's name table contains a PostScript name, it shall be used.


·         In the absence of such an entry in the name table, a PostScript name shall be derived from the name by which the font is known in the host operating system. On a Windows system, the name shall be based on the lfFaceName field in a LOGFONT structure; in the Mac OS, it shall be based on the name of the FOND resource. If the name contains any SPACEs, the SPACEs shall be removed.



As a result, when Toolkit loads Arial from the disk, the Postscript name Arial MT is selected. You can override this behavior if you add the FontFaceName argument (separated with a bar symbol) when setting the font:


"Arial|fontfacename=Arial"


In this case, the Arial font will be selected instead of Arial MT.



4573



FlattenRemainingFormFields topic needs clarification.



Additional information for FlattenRemainingFormFields and CopyForm


·         When merging files, FlattenRemainingFormFields should be called before the first instance of CopyForm where flattening is desired.


·         FlattenRemainingFormFields will continue to apply to subsequent files merged with CopyForm, until it is reset.


This information will be added to the next publishing of the Toolkit API Reference.



Installation and Getting Started 

Installation instructions and general startup information is available in the Legacy documentation section for Toolkit Installation Guide at:

https://www.activepdf.com/support/documentlinks.


API Reference

API information is available in the Legacy documentation section for Toolkit API Reference Guide at:

https://www.activepdf.com/support/documentlinks.