Latest release

2.0.56.0
released 14/12/2009

Version history

  • Version support ended, released April 16, 2010
    • Important information: December 16, 2009 PDFKit.NET 3.0 final/RTM has been released. We support version 2.0 upto 4 months after this date, so after 16 April, 2010 we do not support version 2.0 anymore, meaning that we do not fix bug and do not release updates. We recommend upgrading to version 3.0. All PDFKit.NET 2.0 licenses can be upgraded to 3.0 at a 40% discount.
  • Version 2.0.56.0, released December 14, 2009
    • Add support for unencrypted XMP packages, in PDF documents which specify it's encrypted.
    • Removing the latest bookmark from a bookmark collection results in a null reference exception.
    • In rare situations a password encrypted document cannot opened without password, even if it has no user password, a WrongPassordException is thrown.
    • Improved the detection for corrupt fields and annotations.
  • Version 2.0.55.0, released November 13, 2009
    • Corrupt fields and annotations (incl. widgets) are removed now, previously an exception was thrown during the document constructor.
  • Version 2.0.54.0, released October 29, 2009
    • On Vista x64 and Win7 x64 in 64-bit mode document.Write sometimes throws an exception.
    • The field appearance for rotated pages and/or fields in acrobat 9 is incorrect in highlight field mode.
  • Version 2.0.53.0, released October 5, 2009
    • Overloaded document.Import added which has an additional clearMissingFields bool. The version without this bool do not clear the missing fields anymore (previously it did).
    • In some situations setting the RadioButtonField.RadioButtonValue selects the wrong option/widget.
    • JavaScript: Some Math and Date functions and properties are missing.
    • The TextShape positions text with a left side bearing without respecting this value.
  • Version 2.0.52.0, released September 23, 2009
    • widget.TabOrder speed improved for XFA documents.
    • In rare cases streams are copied incorrect from source to target document, resulting in corrupt PDF documents.
    • JavaScript: monadic operators do not always convert their operands to the proper type.
    • JavaScript: logical expressions do not always return the proper type.
    • JavaScript: the call method may not instantiate its 'this' variable properly.
  • Version 2.0.51.0, released September 11, 2009
    • Page.Glyphs does not extract Ligatures, these results in the \0 character.
    • Page.Glyphs does not respect the ActualText inside the PDF, this can lead to incorrect text (e.g. wrong capitalization)
  • Version 2.0.50.0, released September 8, 2009
    • All collections has been made conform.
    • Missing required attribute 'begin' on XMP packet declaration is added if not present.
    • Some password secured document throws an WrongPasswordException even if the password is valid.
    • JavaScript: strings and integers are not allowed as property identifiers in javascript (e.g. {"foo" : "bar"}).
    • JavaScript: the expression 'var foo = {};' leads to an exception.
    • JavaScript: the expression 'var foo = {};' leads to an exception.
    • JavaScript: expressions involving object literals beteen brackets are rejected, e.g. ({foo : "bar"}).
    • As of version 2.0.42.0 document.OpenActions is null when opening an existing document without open actions, this should be an empty collection.
    • JavaScript: Not all date constructors are supported.
  • Version 2.0.49.0, released August 6, 2009
    • Setting non rich text to a rich text field does not convert newlines.
    • The ability to open corrupt documents has been improved.
  • Version 2.0.48.0, released July 24, 2009
    • Some documents with more than 1000 pages cannot be written.
    • Sometimes the underline, double underline, or strike out is too fat.
    • widget.TabOrder for inserted widgets is incorrect (like Add was used).
    • Sometimes the font in a widget is incorrect.
    • Some shapes uses 3 digits [as resolution] to position while other shapes uses 5, this can lead to small rounding errors between them.
  • Version 2.0.47.0, released July 10, 2009
    • JavaScript: various improvements made.
    • When XMP metadata contains the the ring character (0x07) an exeption is thrown.
    • In rare conditions a truetype font cannot be used, due to invalid glyph substitutions.
  • Version 2.0.46.0, released June 16, 2009
    • JavaScript: RegExp.leftContext is not working.
    • On Turkish Windows the license is not working when the runtime attribute contains a lowercase i
    • Page.Clone doesn't clone some widget properties (e.g. widget.BackgroundColor).
  • Version 2.0.45.0, released May 18, 2009
    • Functionality has been added to open (reconstruct) corrupt linearized PDF documents.
    • Fields with an underlined border and a background color, the underline is half the expected width.
  • Version 2.0.44.0, released May 8, 2009
    • Functionality has been added to open (reconstruct) corrupt non-linearized PDF documents.
    • ImageShape: TIFF images which are PackBits compressed generates a "Parameter not valid" exception.
  • Version 2.0.43.0, released May 4, 2009
    • When a TextField has specified both a format action or display pattern and a maximum numbers of characters specified, than the formatted text is truncated at MaxLength, which is incorrect.
    • When a xfa field has a numeric display pattern some values are incorrect displayed.
  • Version 2.0.42.0, released April 17, 2009
    • When signing an already signed document and writing the document in AppendUpdate mode, sometimes Acrobat 9 reports that the existing signatures are invalid.
  • Version 2.0.41.0, released March 26, 2009
    • Some PDF documents uses little endian encoding to encode strings. However this is not allowed by the PDF specification, we now support this.
    • Static license class added, this class allows you to programmatically check if you have a valid license installed.
    • ImageShape: TIFF images created with a path or stream ignores the MaskColor property.
    • Setting RadioButtonField.RadioButtonValue with an option selects the first option from the options with equal ExportName.
  • Version 2.0.40.0, released March 17, 2009
    • ValueField.DefaultValueString added.
    • Font.Contains added.
  • Version 2.0.39.0, released February 24, 2009
    • Added document.Find and page.Find overload, which accepts a custom comparer.
  • Version 2.0.38.0, released February 19, 2009
    • ImageShape: Support for UNC paths added.
  • Version 2.0.37.1, released February 12, 2009
    • TextShape.StrikeOut, TextShape.Underline and TextShape.DoubleUnderline property added.
  • Version 2.0.37.0, released February 9, 2009
    • Some fonts uses too many linespacing when a multiline textfield is filled or flattened.
  • Version 2.0.36.0, released December 19, 2008
    • FieldCollection do not preserve the order in which the fields are present in the PDF document.
  • Version 2.0.35.0, released November 27, 2008
    • JavaScript: In some cases, some Math functions return 'undefined'.
    • Document.Find and Page.Find do not find text that has been underlined using the underscore character.
  • Version 2.0.34.0, released November 20, 2008
    • The samples from the developer guide are now part of the other 'code samples' and are available in VB.NET as well.
    • JavaScript: Radio buttons do not return the value "Off" when no selection has been made.
    • Very small invisible widgets (connected to a textfield) can result in an endless loop.
    • Sometimes RadioButtonField.Value returns the widget index (as string), not the export name.
    • Single line TextField updating and flattening is some points offsetted.
  • Version 2.0.33.0, released October 27, 2008
    • The distribution has been restructured.
    • Fragment.TrimStartOfLine property added.
    • Setting the Value to null/nothing or "" from a TextField which has RichText set to true, can result in an XML exception during document.Write.
    • large document (>1000 pages) without fields are loaded faster and requires less memory.
  • Version 2.0.32.4, released October 16, 2008
    • ImageShape: 32bpp Gray-scale PNG images are displayed incorrect.
  • Version 2.0.32.3, released October 9, 2008
    • PageShapes with PageBoundary set to PageBoundary.Default and a page with a ClipBox with a non 0.0 origin are rotated incorrectly.
  • Version 2.0.32.2, released October 6, 2008
    • Extracting glyphs for pages with standard fonts is much slower as of version 2.0.23.0
  • Version 2.0.32.1, released September 29, 2008
    • Fix missing [required] ProcessingInstructions in XMP data.
  • Version 2.0.32.0, released September 22, 2008
    • Getting widget.TabOrder for XFA documents sometimes result in endless loop.
    • XmlDeclaration in XMP data results in NullReferenceException.
    • Setting doubles in shapes (like RectangleShape.Width) to NaN or Infinity results in invalid PDF documents.
  • Version 2.0.31.0, released September 8, 2008
    • The TallComponents.PDF.Colors.Color class, as well as its subclasses are no longer serializable.
    • .NET 1.1 only: ':acrobat/:acrobat7/:dynamicRender' has an invalid token. Exception is raised when opening some XFA documents.
    • Creating multiple new Fields with the same prefix in the FullName (seperated with dots) can lead to non conform documents.
  • Version 2.0.30.0, released August 15, 2008
    • Document.XfaInfo property added.
    • Field.XfaInfo property added.
    • Font.LicensingRights property added.
  • Version 2.0.29.0, released August 11, 2008
    • Field names in XFA documents with nested unnamed subforms are incorrect.
    • RadioButtonField in XFA document cannot set to ReadOnly.
  • Version 2.0.28.1, released August 7, 2008
    • Crypt filter is embedded in not encrypted documents (version 2.0.28.0 only).
  • Version 2.0.28.0, released July 30, 2008
    • Added support for 128 bit AES encrypted files.
    • Exporting Xfdf fails when a field has a ' (single quote) in it's name.
    • Some RC4 encrypted files becomes corrupt when the security is preserved.
    • Some strings are incorrect decrypted.
  • Version 2.0.27.0, released July 24, 2008
    • A descriptive exception is thrown when opening an (unsupported) AES encrypted file.
    • SignNew sample did not dispose the created bitmap.
    • The (cloned) bitmap assigned to SignatureAppearance.Bitmap is not disposed after the document is written.
    • Opening a document with ViewerPreferences.ZoomFactor = 0, results in ZoomFactor = 1.
    • Some complex documents throws a StackOverflowException during the document constructor.
  • Version 2.0.26.0, released July 4, 2008
    • Added Fragment.Background property, this let you specify a Brush for the background.
    • Improved TIFF handling: - Compression 7 (without JPEGTables) support added. - LZW compressed images with alpha channel support added.
    • Bitonal rgb PNG images were converted into gray colors.
    • PNG Images with alpha channel can result in incorrect colored text.
    • Some GIF images result in corrupt PDF output.
  • Version 2.0.25.0, released May 6, 2008
    • TextField.FormattedValue throws NullReferenceException when TextField.Value is null and the MaxLength is set (not -1).
    • When a document is written multiple times with keepOpen sometimes this results in corrupt PDF documents.
    • Moving existing SignatureWidgets and non-signed SignatureFields to a new document can result in an Exception during document.Write.
  • Version 2.0.24.0, released April 28, 2008
    • Added Font.Italic, Font.Bold and Font.FamilyName getters.
    • Some GIF images are vertically flipped.
  • Version 2.0.23.0, released April 14, 2008
    • Setting PageShape.KeepAspectRatio to true and specifying a width or height only maximize the page to it's original size.
    • Shape docking is incorrect with rotated shapes.
    • In classic documents signatures are sometimes displayed highlighted (default = light blue) in Acrobat/Reader 8.
  • Version 2.0.22.0, released April 7, 2008
    • You should hold a strong reference to the Page.Glyphs (as long as you need them), otherwise the GC can decide to recycle, invalidating any Sort(...) you did.
    • TextExtraction requires a lot of memory, this memory is released when the document is closed.
  • Version 2.0.21.0, released March 31, 2008
    • Text search performance is improved (Document.Find() and Page.Find()).
    • Text extraction performance is improved (getting Page.Glyphs).
    • Properties X and Y of class RadialGradientBrush are now relative to the origin of the Shape to which the brush is applied. Previously these coordinates were relative to the innermost enclosing ShapeCollection.
    • Properties StartX, StartY, EndX and EndY of class AxialGradientBrush are now relative to the origin of the Shape to which the brush is applied. Previously these coordinates were relative to the innermost enclosing ShapeCollection.
    • Widgets are saved in reverse order, changing the tab-order as of version 2.0.11.0.
    • Fragment.Subscript and Fragment.Superscript does not extract scale and offset information from font.
  • Version 2.0.20.0, released February 26, 2008
    • Overloaded GlyphCollection.Sort added, which let you specify if the glyphs must be transformed according the page orientation.
    • The default GlyphCollection.Sort() takes the page orientation into account.
    • JavaScript: Numbers do not have enough precision during parsing.
  • Version 2.0.19.0, released February 15, 2008
    • Page.Label property added.
    • ImageShape.InvertCmykChannels property added.
    • Static FormData.Create( Stream ) overload added.
    • TextField with RichText and SimpleXhtmlShape: Font changes are sometimes picked-up incorrectly.
  • Version 2.0.18.0, released February 5, 2008
    • Actions chapter added to Developer guide.
    • In Xfa documents the value for fields inside a named pagearea (master page) cannot be get/set.
  • Version 2.0.17.0, released January 29, 2008
    • SimpleXhtmlShape initialization time is improved.
    • ImageField: Added native support for JPG, PNG, TIF and GIF file format. Previously all images were converted to BMP.
    • Added Document.ClearUsageRights method.
    • Added Annotation.BeginUpdate and .EndUpdate methods.
    • ImageShape: TIFF images are incorrect rotated.
    • TextField with RichText and SimpleXhtmlShape allocates much shared memory.
    • When FIPS compliant cryptography is enforced, the MD5CryptoServiceProvider throws an exception.
    • Linespacing in rich text field is to large.
  • Version 2.0.16.0, released January 4, 2008
    • Added AnnotationShape.
  • Version 2.0.15.0, released December 11, 2007
    • FreeHandShape.BehaveAsClippingPath added.
    • ListBoxField.MultiSelect property added.
    • Code2of5InterleavedBarcodeShape throws exception if the data is above int32.
    • ShapeCollection.Clip = false doesn't work correct.
    • Radio buttons that have numbers for their item values may not selected correctly.
  • Version 2.0.14.0, released November 30, 2007
    • BookmarkCollection.Open property added
  • Version 2.0.13.0, released November 22, 2007
    • AllowPartiallyTrustedCallers attribute added to the .NET 1.1 assembly (the .NET 2.0 assembly already has this attribute)
    • Assiging a plain string to a rich text field raises an exception.
  • Version 2.0.12.3, released November 19, 2007
    • TintTransform.Tint property changed from byte [0..255] to double [0..1].
    • LinearCmykTintTransform uses the CmykColorHighPrecision as of now, previously CmykColor was used.
    • CmykColorHighPrecision added.
  • Version 2.0.12.2, released November 15, 2007
    • Overloaded constructor to ShapeCollection added which accepts a transformation matrix (System.Drawing.Drawing2D.Matrix).
    • When construction a PageShape with a Matrix an exception is thrown when it has a 180 degree rotation.
    • In rare situations a NullReferenceException is thrown when opening a document.
  • Version 2.0.12.0, released November 6, 2007
    • PageCloneSettings enum extended with None and NoOriginalGraphics.
    • GlyphCollection.Sort(): Default sort order is incorrect when multiple font sizes are mixed.
    • SignatureField is not updated after after a document was written in keepOpen mode.
  • Version 2.0.11.0, released October 8, 2007
    • Added XdpFormData.Path property.
    • Added: SignatureField.SignedDate and SignatureField.SignedName.
    • Added document.Write overloads which accept a keepOpen boolean.
    • SignatureField.Certificates throws an exception if the algorithm is a combination from a string and an id.
  • Version 2.0.10.0, released September 20, 2007
    • Added property MultilineTextShape.TabStops. This property allow you to define tab stops. See type reference for more information.
    • Flattening a multiline textfield with a fixed font size now matches better the layout that Adobe Acrobat produces.
    • Large fonts (like ArialUni.ttf) are consuming large amounts of memory.
    • Some CMYK JPG images the colors are displayed inverted.
    • The JavaScript getField method has become slower in release 1.0.9.3
    • Text is not placed correctly in comb fields that are right aligned or center aligned.
  • Version 2.0.9.3, released August 31, 2007
    • Performance for Document.Find() and Page.Find() is improved.
    • Performance for writing a document with many (>2500) fields is improved.
    • TextFindCriteria.Backwards boolean added, which allows you to search backwards.
    • ImageShape: CCITT Group 3 compressed TIFF images with 2-dimensional encoding are not supported.
    • JavaScript: field.valueAsString method does not work.
    • JavaScript: doc.getField method does not support returning non-terminal fields.
    • JavaScript: event.changeEx field is not initialised for drop down boxes.
    • JavaScript: setDate method does not work correctly over month boundaries.
  • Version 2.0.9.2, released August 14, 2007
    • Added Document.UsageRights property (getter only).
    • ImageShape: Bitonal BMP file with RGB color map renders black.
  • Version 2.0.9.1, released July 20, 2007
    • ViewerPreferences.InitialPageIndex is sometimes incorect inserted in PDF.
  • Version 2.0.9.0, released July 18, 2007
    • Form data can be exported in XDP format (XdpFormData).
    • XdpFormData can be created from an external stream.
    • On Windows XP some fonts cannot be read anymore after security update (KB928365)
  • Version 2.0.8.3, released July 5, 2007
    • Character sets A and C are now also supported for Code128 barcodes.
    • Importing Fdf data hangs process on Windows Vista.
    • JavaScript: util.printf("%d", number) is broken as of 2.0.7.2.
    • DocumentWriteMode.AppendUpdate viewerpreferences restriction is solved.
  • Version 2.0.8.2, released July 2, 2007
    • If you create an XfdfFormData instance from file, the Path property remains null, while this is specified in the file.
    • Setting the CheckBoxField.Value on a cloned field sometimes results in an exception.
    • In rare cases writing a document with pages that shares the same resources results in an Exception.
    • We now tolerate opening a PDF document with corrupted DocumentInfo, previously an exception what thrown.
  • Version 2.0.8.1, released June 12, 2007
    • Cloning an ImageShape may lead to a NullReferenceException during document.Write().
  • Version 2.0.8.0, released June 11, 2007
    • JavaScript: display object and field.display property support added.
    • PDF417BarCodeShape added, which is a 2D bar code shape.
    • When flattening an annotation [with Topaz.GemSignPlus appearance] the flattened content is missplaced.
    • Auto-sized MultilineTextShape sometimes results in never ending loop.
    • DocumentWriteMode.AppendUpdate bookmarks restriction is solved.
  • Version 2.0.7.2, released June 7, 2007
    • Added SpotColor support.
    • JavaScript: util.printf does not support padding/width specifier.
  • Version 2.0.7.1, released May 23, 2007
    • JavaScript engine initialization is delayed until needed.
    • SignatureAppearance.TopazSignature property added.
    • TopazSignature class added. This class can be used to digitally sign a document with the vector graphics from the Topaz tablet.
    • Most DocumentWriteMode.AppendUpdate restrictions are solved.
    • JavaScript: Date.setData method missing
    • JavaScript: Math class misses several core methods and properties.
  • Version 2.0.7.0, released May 14, 2007
    • JavaScript: Global functions (like eval) are resolved incorrect.
  • Version 2.0.6.3, released May 1, 2007
    • PNG Images without alpha channel can result in bold looking text.
    • The fields in a FormAction (ResetFormAction and SubmitFormAction) are written/cloned incorrect.
  • Version 2.0.6.2, released April 27, 2007
    • Setting the ExportName on Forms.Fields.RadioButtonOption fails.
    • The flattened value of NumericField is incorrect when there are more digits than the display pattern can handle.
    • Updating the Widget.Font doesn't always update the Font Name.
    • With classic documents TextField.DefaultValue behavior is incorrect when the field is RichText.
    • With classic documents TextField.ResetValue() of rich text field leads to an exception.
  • Version 2.0.6.0, released April 19, 2007
    • In rare cases, Page.Clone clones the text properties of a widget (Font, FontSize and TextColor) incorrectly.
    • Page.Clone doesn't clone Widget.Left, Right, Width and Height.
    • Check marks do not respect the font size.
  • Version 2.0.5.7, released April 17, 2007
    • Static ImageShape.GetFrameCount which accepts a path does not release the stream directly after the count is retrieved.
    • Performance for Find method in TextExtraction is slow.
  • Version 2.0.5.6, released April 16, 2007
    • A fieldPrefix argument has been added to Page.Clone and PageCollection.CloneToArray. This allows you to prefix all Fields during cloning.
    • A Document.Updates property has been added that returns a collection of updates in the document.
    • Update class added, which let you save a previous version of the document.
    • The SignatureField.SignedUpdate property has been added. This returns the update that the signature applies to.
    • RadioButtonOption.ExportName setter has been added.
    • ShapeCollection.ClipPath property has been added. The new FreeHandStartSegment can be used to start the clip path on an other position then 0,0.
    • Added ResolveCMap event to Font. This allows you to retrieve CMaps when needed.
    • CheckBoxField.OnValue setter has been added.
    • PageShape.SkewX and SkewY properties added.
    • Overloaded constructor to PageShape added which accepts a transformation matrix (System.Drawing.Drawing2D.Matrix).
    • Document.Calculate() function added. This method allows you to force a recalculation.
    • Widget.UpdateAppearance() added. This method allows you to force an update of the widget. E.g. due to changed formatting settings.
    • ValueField.FormattedValue added (getter only). For Xfa documents the Picture-Clause is executed. For classic documents the FormatAction (JavaScript code) is executed (depending on the document.ScriptBehavior setting).
    • Fonts.EmbedMode.Auto added.
    • Font.AddToSubset( char[] ) added.
    • Font.EmbedMode setter added.
    • TextField.DoNotScroll boolean property added.
    • The SignatureAppearance.Bitmap is not centered.
    • When adding a Field to a FieldCollection or renaming a Field which is already inside a FieldCollection a null reference exception is thrown when you try to use a not-supported name.
    • Setting ValueField.Value to null sometimes results in resetting the value to the original value.
    • In Classic documents setting the Value of a TextField that contains rich text results in incorrect presentation when editing in acrobat.
    • Auto fontsize in rich text is handled incorrectly.
    • The zero-width space character is handled incorrectly when Fragment.PreserveWhiteSpace equals true.
    • Improved TextExtraction and Find functionality.
  • Version 2.0.5.5, released March 27, 2007
    • JavaScriptDom.xml and xsd added. The xml document is a formal describtion of what part of the Acrobat JavaScript Scripting Reference is supported.
    • Added an XmlFormData constructor that accepts a System.IO.Stream.
    • Added PageIndexDestination. This class lets you specify an internal destination by PageIndex (to a page that may not yet exist). Note that InternalDestination uses a page reference as opposed to an index.
    • XmlFormData and HttpPostFormData can not be deserialized.
    • Annotation.TabOrder is incorrect if defined explicitly in Xfa.
    • When setting TextField.Value to a non-ASCII string, the value is stored incorrectly.
  • Version 2.0.5.4, released March 23, 2007
    • If you assign a new value to TextField that has the RichText propery set to true and is part of a XfaStatic document and the widget is not flattened, then the content is shown incorrectly.
  • Version 2.0.5.3, released March 20, 2007
    • When ImageField.EmbedImageData is true ImageField.Value accepts an URI as well (resulting in embedded data).
    • ImageField.EmbedImageData setter added.
    • When setting Field.FullName with a name with dots in it a NotSupportedException was thrown.
    • For some fonts the HorizontalAlignment in the MultilineTextShape is incorrect handled. This results in incorrect off-setted text.
    • When flattening XFA fields the document level picture-clause is not respected.
    • Rotated BarcodeFields are flattened incorrect.
    • While formatting XFA fields some non-US cultures are handled incorrect.
    • Importing XfdfFormData results in an exception when a RadioButtonField has an unknown value.
    • Document.Export exports fields where the Export boolean is false.
    • RadioButtonField has sometimes wrong export values.
    • When flattening a RadioButtonWidget or CheckBoxWidget the CheckMarkAppearance is not correct vertical aligned.
    • Saving a Xfa document and leaving the widgets can lead to a warning 'Malformed SOM expression' when opening the PDF in Acrobat.
  • Version 2.0.5.2, released March 5, 2007
    • CMaps added to zip file.
    • Static property Font.CMapFolder added. This allows you to specify a folder where the CMaps are located.
    • XfdfFormData can be exported (document.Export) and initialized from an external stream (additional ctr).
    • Embedded CMaps where not used correct.
    • NotImplementedException is thrown when a CIDFontType0 font is used for a Widget inside an existing PDF document.
    • ValueField.*Action: JavaScript actions are not saved during Write.
    • Assigning ValueField.CalculateAction multiple times adds the ValueField multiple times to the ValueFieldSequence from document.CalculationOrder.
  • Version 2.0.5.1, released February 26, 2007
    • InvalidOperationException if thrown when opening an existing (invalid) document which contains multiple references on the same page to the same widget.
    • Appending the same page, with widgets, from an XFA document multiple times to one target document (leaving the widgets) does not merge fields correct.
  • Version 2.0.5.0, released February 21, 2007
    • Document.Write() overloads added, which accepts a DocumentWriteMode enum. You can specify to write in AppendUpdate mode, this enables you to sign a PDf document multiple times.
    • Widget.Flatten( Canvas, bool ) overload added, which force to rebuild the (formatted) field/widget representation.
    • Color class has been extended with a read-only ParsableName property.
    • The TallComponents.PDF.Unit structure has been extended with a read-only IsRelative property and an implicit conversion from String to Unit.
    • Page.Clone is cloning fields with the same FullName multiple times.
  • Version 2.0.4.5, released February 14, 2007
    • SimpleXhtmlShape performance improved.
    • All PushButtonLayouts are supported now.
    • Small checkbox and radiobutton widgets with 3D border doesn't have place to display the selected symbol.
    • The AxialGradientBrush inside rotated shapes is displayed incorrect.
    • An exception (DER length more than 4 bytes) is thrown when verifying signed signature fields on password secured documents.
    • Resizing the widget's size below 4 can result in an exception.
    • Actions added to the MouseUpActions in a widget on a cloned page are also inserted in the MouseUpActions of the widget in the source page.
    • RadioButtonField.Value cannot set to 'Off'.
    • Importing Fdf data with an unselected RadioButtonField fails.
  • Version 2.0.4.4, released February 9, 2007
    • FdfFormData is saved incorrect (.fdf file) when a Field.FullName contains dots.
    • Flattening a radio button and check box widget the CheckMarkAppearance.Diamond, Star and Check draws incorrect appearance.
    • Flattening a RadioButtonWidget with CheckMarkAppearance.Circle and a 3D border, the border is drawn 2D.
    • Very small auto-sized MultilineTextShapes are not drawn at all.
    • Font.GetTrueTypeNames returns the non english names for some TTC files (introduced in 2.0.4.2)
  • Version 2.0.4.3, released February 5, 2007
    • Adding a new HideAction to a widget causes an exception at write time.
    • When flattening a ListBoxField the text is placed in the border.
    • Writing a document with TTF - using composite or substituted characters/glyphs - results in an exception or corrupt document (introduced in 2.0.4.2).
  • Version 2.0.4.2, released February 2, 2007
    • FreeHandShape added. The FreeHandShape allow you to build an arbitray curve composed of straight lines and bezier curves.
    • Document.CalculationOrder proeprty added, which let you specify the calculation order for ValueFields with a CalculateAction.
    • Flattening a PushButton with an image, sometimes results in an offsetted or incorrect scaled image.
    • In Xfa documents the PasswordField.Value remains null after assigning a Value.
    • When formatting large numbers (>7 digits)the resolution is too small, resulting in rounding faults.
    • The RadioButtonWidget cannot be moved to an other field, adding results in an exception.
    • Renaming a field sometimes results in an exception.
    • Font.EmbedMode has wrong value when created from TrueType font.
    • MultilineTextShape throws TextFlowException if 1 char cannot be placed on 1 line. Now the MeasuredHeight returns 0 and the text is not drawn.
  • Version 2.0.4.0, released January 22, 2007
    • Final/RTM version.
    • LicenseAttribute.AddLicense moved to LicenseCollection.Add
    • PDF.Objects class removed. (all classes which derived from PDF.Object derives from System.Object now)
    • Page.GetTabOrder( Annotation ) replaced by Annotation.TabOrder property.
    • PageBoundary enum moved to PDF.Shapes namespace.
    • static Unit.ToPoint renamed to Unit.ToPoints.
    • All SignatureAppearance.DisplayXxx booleans are now available via DisplaySettings enum (flags).
    • RadialGradientBrush.R0 renamed to InnerRadius. RadialGradientBrush.R1 renamed to OuterRadius.
    • PasswordSecurity now preserves existing passwords as well. (hashes only)
    • Static fields on RgbColor, GrayColor and CmykColor are now static properties (get only).
    • ImportDataException.Exceptions renamed to InnerExceptions.
    • PathShape.Closed and PathShape.PathShapes removed.
    • Removed PieShape constructors which accepts the closed boolean.
    • PathShape and ContentShape are abstract now.
    • StaticFieldCollection class has been removed.
    • Default Document.ScriptBehavior changed from None to Format.
    • PageCollection.CloneArray is renamed to PageCollection.CloneToArray.
    • PageCollection.Remove( Page[] pages ) renamed to RemoveRange.
    • BookmarkCollection.Add() and FragmentCollection.Add() overload without argument removed.
    • DestinationCollection.DestinationNames renamed to Names.
    • ListBoxField.Options and DropDownList.Options are of type ListOptionCollection now.
    • RadioButtonField.Options is of type RadioButtonOptionCollection now.
    • Type of ListBoxField.ListBoxValue and .DefaultValue has been changed to ListOption[].
    • Type of DropDownListField.DropDownListValue and .DefaultValue has been changed to ListOption.
    • UnknownMarkup has a Name now indicating the markup type.
    • Page.Clone( PageCloneSettings ) overload added.
    • All XxxCollection.Add(...) methods returns the zero-based index now.
    • ICloneable support added for ViewerPreferences and Security.
  • Version 2.0.3.3 [RC3], released January 18, 2007
    • Merged upgrade guide into developer guide.
    • HyphenateEventArgs renamed to LineBreakEventArgs. Redesigned LineBreakEventArgs properties.
    • MultilineTextShape.FlowDirection renamed to ReadDirection.
    • TextShape.Width and TextShape.Height renamed to TextShape.MeasuredWidth and TextShape.MeasuredHeight.
    • Replaced enum Form.Data.FormDataFormat with Actions.SubmitFormat
    • MultilineTextShape.MaxFontSize changed from 100 to 24.
    • PDF.Navigation.ReadDirection moved to PDF.ReadDirection.
    • Property TextShape.Direction renamed to TextShape.ReadDirection
    • All ReadDirection properties uses the same PDF.ReadDirection enum now.
    • Renamed LaunchAction.FileName to .Path
    • Renamed LaunchAction.NewWindow to .WindowBehavior
    • Renamed RemoteDestination.FileSpecification to .Path
    • Shape.LeftMargin, Shape.TopMargin, Shape.RightMargin and Shape.BottomMargin now available via Shape.Margin.
    • PageCollection.Clone() renamed to CloneArray(), indicating that an Array is returned, not a PageCollection.
    • Shape.Opacity moved to ContentShape.Opacity.
    • ContentShape.Rotation is not virtual (overrridable in VB.NET) anymore.
    • BarcodeShape, ShapeCollection and PathShape derives from ContentShape now. This make it possible to rotate all shapes.
    • TilingBrush generate invalid document
    • Page.Clone does not add the cloned widget to the cloned field.
    • In some cases the formatting options of a text field are not respected.
    • Some RadioButtonWidgets and CheckBoxWidgets has an incorrect appearance after the document is written.
  • Version 2.0.3.2 [RC2], released January 9, 2007
    • Developer Guide added.
    • Page.Clone() should be called now for existing pages before adding to a new target document.
    • PageCollection.Add and .Insert do not return a (cloned) page anymore.
    • Removed PageCollection.AddRange(PageCollection pages). You should now use PageCollection.AddRange( pages.Clone() );
    • Renamed Fonts.FontEmbedMode to Fonts.EmbedMode.
    • Additional ShapeCollection constuctors added.
    • ICloneable support added for Brush, Color, Fragment, Page, Pen and Shape (including derived types and collections).
    • PageCollection.RemoveRange and overloaded PageCollection.Remove( page[] ) added.
    • PageCollection.Clone() --> Page[] added.
    • ShapeCollection.VirtualHeight and .VirtualWidth are not taken into account when using Brushes.
  • Version 2.0.3.1 [RC1.1], released December 30, 2006
    • SignatureHandlers are now named according the MS guidelines.
    • SignatureHandler.CanValidate renamed to SignatureHandler.CanVerify
    • SignatureHandler.ValidateSignature(...) renamed to SignatureHandler.Verify(...)
    • Popup.Parent renamed to Popup.Markup
    • Widget specific classes moved from PDF.Annotations namespace into PDF.Annotations.Widgets
    • Markup specific classes moved from PDF.Annotations namespace into PDF.Annotations.Markups
    • RemoteDestination.NewWindow renamed to RemoteDestination.WindowBehavior.
    • It's now possible to sign a SignatureField with a Windows certificate. (.NET 2.0 only)
    • When a small Code128BarcodeField updates the appearance the barcode is clipped, not scaled.
    • While updating the appearances for checkboxes the 'Off' representation can be wrong.
  • Version 2.0.3.0 [RC1], released December 19, 2006
    • First public release.
    • The null picture clause (display pattern) defined in Adobe Designer is not respected.
    • In rare situations bold fonts in text fields are displayed as non-bold fonts, while they become bold after selecting them.
  • Version 2.0.2.9 [BETA], released December 7, 2006
    • ExplicitDestination added, Destination functionality moved to ExplicitDestination.
    • Viewer preferences are loaded when opening an existing document.
    • In rare situations the font resources are invalid, causing an 'using Helvetica' dialog in Acrobat.
    • Memory Problem when creating multiple documents from 1 template.
  • Version 2.0.2.8 [BETA], released December 6, 2006
    • LinkCollection.Clear added.
    • MarkupCollection.Clear added.
    • When adding an existing page to a new document the field appearances on preserved fields are sometimes incorrect.
  • Version 2.0.2.7 [BETA], released December 1, 2006
    • Pages.Add convert Xfa specific field and widget types to classic types.
    • Document.Export functionality added. (Fdf only)
    • FdfFormData class can be constructed from stream and can be written to stream.
    • FdfFormData.Path property added.
    • MultilineTextShape.Hyphenate event added. This event let you decide where to break a word.
  • Version 2.0.2.6 [BETA], released November 27, 2006
    • UnsupportedPdfException raised when the PDF document you want to open is not supported.
    • Added new widgets to an existing field sometimes results in a PDF without there new widgets.
    • Adding pages from different documents, with fields with the same name, into one target document generates empty pages.
    • Adding pages from a static Xfa document to a new document does not update the field representation for xfa field-types.
  • Version 2.0.2.5 [BETA], released November 23, 2006
    • BarcodeField.DataLength is moved to OneDimensionalBarcodeField.
    • Adobe LiveCycle Designer 8.0 support added.
    • All 1-dimension Barcode field classes now inherit from OneDimensionalBarcodeField.
    • Added support for JavaScript DOM methods Field.buttonSetCaption, Field.buttonGetCaption, Field.isBoxChecked. Math.random and Math.round.
    • SignatureField.IsSigned property raise sometimes an 'Expected Dictionary' exception on non signed signature fields created with Adobe Acrobat Professional 8.0
    • Xfdf data import doesn't import fields with a dot in the fullname.
    • Pages.Add duplicates the widgets of a field.
    • Pages.Add does not clone the actions, resulting in updated source document objects while changing the target objects.
  • Version 2.0.2.4 [BETA], released November 16, 2006
    • New samples added: create form fields, create JavaScript (calculator), extract text and digital signing and verification.
    • Font.EmbedMode added. This allows you to check how the font is stored inside the PDF.
    • IGlyphComparer added. Implementing this interface allows you add a custom sort algorithm to the GlyphCollection.
    • PushButtonWidget.HasIcon property added (getter only).
    • Sometimes the XfdfFormData throws a null reference exception.
    • JavaScript Doc.getField() doesn't work in Acrobat 6 for new created fields.
    • New created fields are not submitted in HTTP submit actions.
    • Create2Up sample is incorrect.
    • Some signatures are validated as 'not valid' while they are in fact valid.
    • DfdFormData throws format exception when a Stream is embedded in the Fdf Data.
  • Version 2.0.2.3 [BETA], released November 8, 2006
    • Annotation.MouseUpActions moved to Widget and Link class.
    • PageShape.Rotate removed, PageShape.Rotation addded (Note: rotation is clockwise, Rotate was counter-clockwise)
    • FdfFormData and XfdfFormData are supported now.
    • Added abstract base class ContentShape. This class has a Rotation property that allows you to rotate each shape that inherits from ContentShape.
    • An image in ImageShape with a horizontal or vertical resolution from zero results in an ArgumentException.
    • True-type fonts have a incorrect character mapping definition.
    • Some TIFF images with Alpha-layer distorted.
    • Some Arabic ligatures in font not supported.
  • Version 2.0.2.2 [BETA], released October 26, 2006
    • Creating a font with a TTC file without specifying a fontName results in an incorrect exception.
    • TextField.MaxLength is not respected while flattening field.
    • Some JavaScript Field formatting is not respected.
    • Creating a font with a TTC file and specifying an unknown fontName results in an incorrect exception.
    • Writing a pdf file to the http response stream generates an exception.
    • Sometimes a memory bitmap is flipped.
  • Version 2.0.2.1 [BETA], released October 16, 2006
    • Document.MajorVersion int and Document.MinorVersion int changed to Document.Version Version struct.
    • Action.Clone will now return Action type (previously System.Object)
    • [Derived]Widget and [Derived]Fields are creatable. This allows you to create new fields and new widgets (in existing and new documents)
    • WidgetCollection and FieldColection is modifiable. You can Add, Insert, InsertAt, Remove and Clear items.
    • Widget.VerticalAlignment setter added.
    • Widget.HorizontalAlignment support for Xfa added.
    • FieldCollection.FullNames property added.
    • FieldCollection.Contains( fullName ) added.
    • PageCollection.AddRange() overload added which accept PageCollection as argument.
    • All shapes located in TallComponents.PDF.Shapes.Annotations and TallComponents.PDF.Shapes.Fields removed. You should manipulate the collections available at document-level/page-level instead.
    • Setting Widget.BorderColor to null results in NullReferenceException.
  • Version 2.0.1.2807 [BETA], released October 11, 2006
    • Renamed ButtonField to PushButtonField.
    • Renamed StickyNoteShape and StickyNoteIcon to NoteShape and NoteIcon, respectively.
    • Annotation.Right and Top are readlonly now. Annotation.Width and Height have setters. This makes the annotation (and consequently the widget) consistent with shapes.
    • Added CheckBoxWidget class. This is a derived Widget and allows you to set the checkmark type.
    • Added SignatureWidget class. This a derived Widget and allows you to set the signed appearance.
    • Method Widget.Flatten() is moved to the widget's base class: Annotation.Flatten(). This allows you to flatten other annotation types as well.
    • Added property Document.NamedDestinations. This allows you to enumerate, add, remove and modify named destinations.
    • Added property SignatureFieldShape.SignedAppearance. This allows you to specify the signed appearance.
    • Added static method LicenseAttribute.AddLicense. This allows you to add a license programatically.
    • FormData and derived classes are serializable.
    • Added property ViewerPreferences.ReadDirection. This allows you to get and set the dominant read direction.
    • ImageShape asks for WebCredentials when the Image location is on a secure website.
    • CmykColor.Convert method throws exception.
    • Some exceptions cannot be deserialized on .NET 2.0 (on .NET 1.1 this problem does not exist).
    • PageShape does not respect the PageBoundary setting.
    • CheckBoxes on rotated pages are flattened incorrectly.
    • Radiobutons are flattened incorrectly if they have a border and set to 'Off'.
    • Widget color is incorrect when the formatting changes the color (e.g. when a negative number must be red).
    • PushButtonField is flattened incorrect.
  • Version 2.0.1.2803 [BETA], released September 8, 2006
    • BETA 3 release.
    • Shapes.Layer renamed to Shapes.Canvas
    • Annotations.LinkAnnotation[Collection] renamed to Annotations.Link[Collection]
    • Annotations.StickyNote renamed to Annotations.Note
    • Annotations.Note redesigned, popup related properties are moved to Annotations.Popup.
    • Annotations.StickyNoteCollection replaced by Annotations.MarkupCollection.
    • TextLocation enum moved from PDF.Forms.Fields.Barcodes to TallComponents.PDF.Shapes.Barcodes namespace.
    • PasswordField.DispayCharacter property changed into DisplayCharacter (typo removed)
    • MetadataSchemaCollection.CreateSchema(...) renamed to Add(...).
    • ViewerPreferences.Layout renamed to ViewerPreferences.PageLayout
    • ViewerPreferences.Mode renamed to ViewerPreferences.PageMode.
    • Property MultilineTextShape.Alignment renamed to MultilineTextShape.HorizontalAlignment.
    • Document.JavaScripts property is readonly now and create an empty collection while getting.
    • Shapes.Link class removed.
    • LinkAnnotationShape renamed to LinkShape.
    • Shapes.Fragment doesn't derive from Shapes.Link anymore; the functionality from Link is replaced by an additional Actions property.
    • When flattening fields unicode fonts are subsetted when possible.
    • Added ActionCollection.IsReadOnly getter. This allows you to check if this collection can be changed.
    • Added property Annotation.Locked (get and set).
    • Added PushButtonWidget class which is a derived Widget. This allows you to set the icon and caption for a ButtonField.
    • Added setter for property Widget.TextColor, Widget.Font, Widget.FontSize, Widget.HorizontalAligment and Widget.Orientation.
    • Added method WidgetCollection.IndexOf.
    • Added static fields GrayColor.White and GrayColor.Black.
    • Added TransparentColor class. This allows you to specify the TransparentColor for Widgets.
    • Added setter for property DropDownListField.AllowTextEntry.
    • Added properties (getters and setters) Field.Export, Field.MappingName and Field.ToolTip.
    • Added setters for properties TextField.Comb, TextField.MaxLength, TextField.Multiline and TextField.RichText.
    • AnnotationVisitor has support for PushButtonWidget.
    • All (custom) Exceptions can be serialized.
    • Code128BarcodeShape: l (lowercase L) is handled incorrect.
    • Field.FullName setter: The target name may have dots in the name.
    • When using the default constructor on JavaScript, a null reference exception is raised when adding the JavaScript object to the JavaScriptCollection.
    • Re-using an ImageShape results in a null reference exception.
    • The document constructor of a very large document takes a long time. For the PDF Reference 1.6 this took about 10 seconds, now less than a second.
    • Pages.Add will flatten the widgets which has a persistency = Flatten specified when adding to a target document.
  • Version 2.0.1.2703 [BETA], released June 1, 2006
    • BETA 2 release.
    • New functionality is added after customers feedback.
    • Setting RadioButtonField to required, requires first option to be set.
    • Pages.Add will flatten the widgets which has a persistency = Flatten specified when adding to a target document.
  • Version 2.0.1.2700 [BETA], released May 5, 2006
    • BETA 1 release.
    • Please see features list for all new PDFKit.NET 2.0 features.
    • Pages.Append will automatically flatten all the widgets when adding to a target document.
  • Version 2.0.1.2508 [BETA], released December 13, 2005
    • Technology-preview release.

TallComponents BV is a leading provider of Microsoft .NET components that allow developers to create, view, render and manipulate Adobe PDF documents.
All components are 100% .NET (verifiable) and consist of just a single .NET assembly without any third-party dependencies which makes deployment extremely simple.
TallComponents is known for its excellent support and intuitive and well-thought-out object models (APIs).