Docotic.Pdf Library Help > Version History

Version 5.2

May 14th, 2017

  • Added support for 16 bit TIFF images. You can now add them to PDFs.
  • Added ability to extract 16 bit images from documents.
  • Added error event. You can subscribe to the event and receive notifications when the library detects an error in the PDF document structures and/or when the library can't process the PDF properly for some reason. It's a good idea to send all documents for which this event occurs to Bit Miracle. Take a look at the PdfDocument.Error event for more information.
  • Added sample code showing how to copy text, images and paths to a new PDF document. Take a look at the new Copy text, paths and images sample.
  • Added sample code showing how to draw PDF document to multipage TIFF image. Take a look at the new Save PDF as multipage TIFF sample.
  • Added ability to create text markup annotations. Take a look at the new PdfPage.AddHighlightAnnotation(String, PdfRectangle, PdfColor), PdfPage.AddJaggedUnderlineAnnotation(String, PdfRectangle, PdfColor), PdfPage.AddStrikeoutAnnotation(String, PdfRectangle, PdfColor) and PdfPage.AddUnderlineAnnotation(String, PdfRectangle, PdfColor) methods. Also take a look at the Text markup annotations sample.
  • Added ability to modify existing text markup annotations. Take a look at the new PdfTextMarkupAnnotation.GetTextBounds() and PdfTextMarkupAnnotation.SetTextBounds(IEnumerable<PdfQuadrilateral>) methods. Also take a look at the new PdfTextMarkupAnnotation.Color and PdfTextMarkupAnnotation.Contents properties.
  • Improved extraction of incorrect images produced by broken PDF generators.
  • Improved calculation of PdfControl.FullName property for PDFs with broken or incorrect structure.
  • Improved parsing of PDFs with broken or incorrect structure.
  • Improved parsing of XMP metadata with incorrect structure.
  • Improved extraction of words.
  • Improved drawing of PDF documents with zero line width.
  • Fixed bugs related to parsing of layers.
  • Fixed bugs related to extraction of CMYK images.

Version 5.1

February 11th, 2017

  • Breaking change: the library no longer sets black color in RGB colorspace as the default color of canvas pen and brush. From now on, the default color is black in Gray colorspace (as per PDF specification). This change does not affect document appearance. Please note that contents of the file (internal PDF structures) is affected by the change.
  • Replaced JPEG 2000 codec with a new, much improved one.
  • Added ability to recompress images with JPEG 2000 compression. See PdfImage.RecompressWithJpeg2000() methods. These methods recompress images using JPEG 2000 compression either lossless or using specified conversion ratio.
  • The PdfImageFrame.OutputCompression property can now be set to PdfImageCompression.Jpeg2000. The PdfImageFrame.Jpeg2000CompressionRatio property can be used to specify compression ratio to use while recompressing frame using JPEG 2000 compression.
  • The PdfImageFrames.SetOutputCompression(PdfImageCompression) method now accepts PdfImageCompression.Jpeg2000 as its parameter. The PdfImageFrames.SetJpeg2000CompressionRatio(Int32) method can be used to specify compression ratio to use while recompressing frames using JPEG 2000 compression.
  • Added custom exception classes for specific error groups. All the new exception classes are descendants of the PdfException class, so the change is not a breaking one. Here is the list of the new classes: CannotDecryptPdfException, CannotParseFdfException, CannotShowTextException, IncorrectPasswordException, UnexpectedStructureException, UnsupportedFontException, UnsupportedImageException, UnsupportedMetadataException.
  • Added ability to draw whole PDF document to multipage TIFF image. See PdfDocument.SaveAsTiff() methods. These methods produce one TIFF from all pages of a PDF document. The produced TIFF will consist of multiple pages (frames).
  • Added ability to get fill color of painted mask image. Please take a look at the new PdfPaintedImage.Brush property.
  • Added ability to extract visible text only. Please take a look at the new PdfTextExtractionOptions.SkipInvisibleText property. Use PdfDocument.GetText(PdfTextExtractionOptions) or PdfPage.GetText(PdfTextExtractionOptions) methods to extract visible text only.
  • Now page objects contain layer information. Take a look at the new PdfPageObject.Layer property.
  • Upon opening existing documents the value of PdfDocument.Encryption property is the encryption algorithm used to protect the document.
  • Extend PdfPenInfo class. Take a look at the new PdfPenInfo.DashPattern, PdfPenInfo.EndCap, PdfPenInfo.LineJoin and PdfPenInfo.MiterLimit properties.
  • BitMiracle.Docotic.Pdf.PdfCanvas.MiterLimit property is marked obsolete (and will be removed in the next release of Docotic.Pdf). Please use PdfPen.MiterLimit property instead.
  • Improved LZW decoder so it can handle improperly encoded streams.
  • Improved speed of drawing for PDF documents with transparency groups and blend modes.
  • Improved parsing of PDFs with broken or incorrect structure.
  • Improved calculation of PdfControl.FullName property.
  • Fixed bugs related to copying and extraction of pages from documents with layers.
  • Fixed bugs related to creation of XObjects from pages.
  • Fixed bugs related to processing of stitching (Type 3) functions.
  • Fixed bugs related to processing of shadings.
  • Fixed bugs related to drawing of documents with dash patterns.
  • Fixed bugs related to drawing of documents with shadings.
  • Fixed bugs related to drawing and extraction of rotated widgets.
  • Fixed bugs related to drawing of documents with invalid ToUnicode streams.
  • Fixed bugs related to loading of font bytes for non-embedded Type0 fonts.
  • Fixed bugs related to grayscale OJpeg-in-Tiff images.
  • Fixed bugs related to extraction of JPEG 2000 images.
  • Fixed bugs related to extraction of JBig2 images.
  • Fixed bugs related to extraction of images with L*a*b* colors.
  • Fixed bugs related to extraction of FDF data.
  • Fixed bugs related to parsing of XMP metadata.

Version 5.0

October 21st, 2016

  • Added support for .NET Standard Library 1.3. Please take a look at the .NET Standard Library article.
  • Added ability to open and create PDF documents encrypted with AES-256.
  • Added support for drawing of PDF documents with axial and radial shadings.
  • Added ability to extract vector paths and clip regions. Take a look at the new PdfPath and PdfClipRegion classes, PdfPageObject.ClipRegion property. Please also take a look at the Extract paths and Extract text, paths and images samples.
  • Added ability to get or reset current transformation matrix in PdfCanvas. Please take a look at the new PdfCanvas.TransformationMatrix property and PdfCanvas.ResetTransform() method.
  • Added the Compress PDF document in .NET sample showing how to compress PDF documents using multiple techniques.
  • Improved rendering of text with special characters (e.g. euro symbol) using Type1 fonts.
  • Improved handling of TIFF images.
  • Improved parsing of PDFs with broken or incorrect structure.
  • Improved extraction of rotated text.
  • Improved extraction of tabular text.
  • Allow to use Application License in LINQPad without restrictions.
  • Optimized rendering of PDF documents with blend modes.
  • Fixed bugs related to drawing of background for documents with transparency groups or blend modes.
  • Fixed bugs related to parsing of controls.
  • Fixed bugs related to copying and extraction of pages.
  • Fixed bugs related to extraction of images with non default decode arrays.
  • Fixed bugs related to extraction of JBIG2 images.
  • Fixed bugs related to extraction of JPEG2000 images.
  • Fixed bugs related to extraction of text with formatting.
  • Fixed bugs related to drawing of CMYK images.
  • Fixed bugs related to rendering of soft masks.
  • Fixed bugs related to resizing of JPEG images.
  • Fixed bugs related to processing of XObjects.
  • Fixed bugs related to processing of stitching (Type 3) functions.
  • Fixed bugs related to parsing of dates.
  • Fixed bugs related to parsing of Type0 fonts.
  • Fixed bugs related to writing XMP metadata.
  • Fixed bugs related to merging of documents.

Version 4.9

April 27th, 2016

  • Added support for layers (also known as optional content groups). The library can now create layers, enumerate existing layers, add widgets, controls and XObjects to layers. Take a look at the new PdfDocument.Layers property, PdfDocument.CreateLayer(String) method and at the samples in Layers group.
  • Added ability to remove transparency groups from documents. Take a look at PdfDocument.RemoveTransparencyGroups() method. Removing of transparency groups is important to make PDF documents PDF/A-compatible.
  • Added ability to specify whether radio button and all other radio buttons with the same export values from the same group of radio buttons should turn on and off in unison. Take a look at the new PdfRadioButton.ChecksInUnison property.
  • Added ability to display document title in the window’s title bar and on the document's tab in the viewer. Take a look at PdfViewerPreferences.DisplayTitle property.
  • Added support for drawing of PDF documents with soft masks.
  • Improved parsing of PDFs with broken or incorrect structure.
  • Fixed default value of PdfTextAnnotation.Icon property.
  • PdfTextAnnotationIcon.Undefined enumeration value is marked obsolete and will be removed in the next release of Docotic.Pdf. That value is not supported in PDF specification.
  • Improved removing of PDF pages.
  • Improved parsing of controls that are not added to document's AcroForm dictionary.
  • Improved JPEG decoder and encoder.
  • Fixed bugs related to changing state of existing text boxes.
  • Fixed bugs related to extraction of JBIG2 images.
  • Fixed bugs related to extraction of images with palette and mask color.
  • Fixed bugs related to importing of PNG images.
  • Fixed bugs related to drawing of text with non-embedded TrueType fonts.
  • Fixed bugs related to drawing of text with vertical writing mode.
  • Fixed bugs related to drawing of text with CidFontType0 TrueType fonts.
  • Fixed bugs related to drawing of stroked and rotated text.
  • Fixed bugs related to drawing of PDF documents with transparency groups and blend modes.
  • Fixed bugs related to drawing of lines with dash pattern.
  • Fixed bugs related to drawing of buttons with images.
  • Fixed bugs related to drawing of CMYK images.
  • Fixed bugs related to drawing of paths.
  • Fixed bugs related to text extraction for TrueType fonts with incorrect 'cmap' table.
  • Fixed bugs related to extraction of text with vertical writing mode.
  • Fixed bugs related to extraction of text with formatting.
  • Fixed bugs related to extraction of duplicated text chunks.
  • Fixed bugs related to creation of XObjects based on rotated pages with patterns.
  • Fixed bugs related to restoring graphics state of widgets.
  • Fixed bugs related to parsing of password protected documents.
  • Fixed bugs related to parsing of strings with unknown escape sequences.
  • Fixed bugs related to parsing of names with escape sequences.
  • Fixed bugs related to parsing of control dictionaries.
  • Fixed bugs related to parsing of control actions.
  • Fixed bugs related to parsing of go to actions.
  • Fixed bugs related to parsing of inline images.
  • Fixed bugs related to parsing of fonts.
  • Fixed bugs related to form filling.
  • Fixed bugs related to form flattening.
  • Fixed bugs related to merging of documents with forms.
  • Fixed bugs related to encoding of PDF strings.

Version 4.8

December 5th, 2015

  • Changed return value of PdfComboBox.Items property from ReadOnlyCollection<string> to PdfCollection<PdfListItem>. This change breaks backward compatibility.
  • Added PdfPage.GetSortedWidgets() and PdfPage.GetSortedControls() methods. These methods return sorted copy of widget and control collections respectively. Widgets and controls are sorted by their location on the page.
  • Added ability to flatten form fields. Please take a look at the following new method: PdfDocument.FlattenControls(). Also take a look at the Flatten form fields sample.
  • Added support for list boxes. Please take a look at the Listboxes sample.
  • Added PdfCheckBox.ExportValue property. You can use this property to extract export value of a checkbox.
  • Improved speed of parsing in cases when cross-reference is absent or invalid.
  • Improved substitution of non-embedded TrueType fonts.
  • Improved parsing of PDFs with broken or incorrect structure.
  • Appearance is preserved when changing state of existing check boxes.
  • Text color is preserved when changing state of existing combo boxes and text boxes.
  • Fixed bugs related to processing of sampled (Type 0) functions.
  • Fixed bugs related to processing of PostScript (Type 4) functions.
  • Fixed bugs related to processing of controls when AcroForms has NeedAppearances flag set to true.
  • Fixed bugs related to importing of data into nested controls.
  • Fixed bugs related to check state of check boxes and radio buttons.
  • Fixed bugs related to extraction of images with decode array.
  • Fixed bugs related to extraction of CCITT images.
  • Fixed bugs related to text extraction for Mac OS fonts.
  • Fixed bugs related to drawing of widgets.
  • Fixed bugs related to linearization of files.
  • Fixed bugs related to parsing of unicode strings.
  • Fixed bugs related to parsing of incorrect ToUnicode streams produced by broken PDF generators.
  • Fixed bugs related to drawing of text.
  • Fixed bugs related to parsing of widgets with incorrect /Rect field.
  • Fixed bugs related to parsing of page labels with null ranges.
  • Fixed bugs related to extraction of JPEG images.
  • Fixed bugs related to drawing of patterns.
  • Fixed bugs related to comparison of PDF documents.
  • Fixed bugs related to calculation of text height.

Version 4.7

August 30th, 2015

  • Improved support for recompression of CMYK images.
  • Improved support for CJK encodings.
  • Improved handling of broken PDF streams.
  • Improved drawing of PDF documents with blend modes.
  • Improved parsing of incorrect font dictionaries produced by broken PDF generators.
  • Improved handling of incorrect JPEG images.
  • Improved parsing of PDFs with broken structure.
  • Improved license validation for Resharper test runners.
  • Reduced amount of memory required for image resizing and re-compression.
  • BitMiracle.Docotic.Pdf.PdfUriAction.Uri property is marked obsolete (and will be removed in the next release of Docotic.Pdf). Please use PdfUriAction.Target property instead.
  • Added support for drawing of PDF documents with transparency groups.
  • Added support for drawing of PDF documents without text smoothing. Set Graphics.TextRenderingHint property to SingleBitPerPixel and pass graphics context to PdfPage.Draw(Graphics) method to disable text smoothing.
  • Added ability to specify where the library should keep intermediate data. Take a look at the IPdfStreamProvider interface and PdfConfigurationOptions class. You might also want to take a look at PdfMemoryStreamProvider and PdfMixedStorageStreamProvider.
  • Non-symbolic built-in fonts can now render ISO 8859-1 characters.
  • Custom Info properties are not copied over to XMP metadata if they would make invalid XML names.
  • Following entities (previously marked as obsolete) are removed: LicenseManager.SavingAllowed property, LicenseManager.ReadingAllowed property, LicenseManager.DrawingAllowed property, PdfFontEmbedStyle enumeration, PdfSaveOptions.FontEmbedStyle property, PdfTextExtractionOptions.PreferFontEncodings property.
  • Fixed bugs related to decoding of AES-encrypted documents.
  • Fixed bugs related to parsing of documents with indirect boolean objects.
  • Fixed bugs related to parsing of documents with invalid indirect references.
  • Fixed bugs related to drawing of documents with CJK fonts.
  • Fixed bugs related to text extraction.
  • Fixed bugs related to processing of inline images.
  • Fixed bugs related to extraction and drawing of images with mask colors.
  • Fixed bugs related to extraction and drawing of CCITT images.
  • Fixed bugs related to resizing of JPEG2000 images.
  • Fixed bugs related to processing of JPEG images.
  • Fixed bugs related to opening of broken documents with incorrect page tree structure.
  • Fixed bugs related to tiled drawing when tiles are too large.
  • Fixed bugs related to tiled drawing of PDF documents with transparency.
  • Fixed bugs related to drawing of text.
  • Fixed bugs related to drawing of paths.
  • Fixed bugs related to drawing of images.
  • Fixed bugs related to copying and extraction of pages.
  • Fixed bugs related to saving of documents in evaluation mode.
  • Fixed bugs related to loading of system fonts.
  • Fixed bugs related to creation of text boxes and combo boxes with TrueType fonts.

Version 4.6

May 10th, 2015

  • Added ability to clear Info properties. Two clear modes become available: you can clear all Info properties or only custom Info properties. Have a look at PdfInfo.Clear(Boolean) method.
  • Improved parsing of streams with incorrect Length values.
  • Improved rendering of text that is added to clipping path.
  • Improved extraction of images with palettes.
  • Improved memory management when working with existing documents.
  • Improved support for extended graphics states.
  • Improved support for Japanese encodings.
  • Improved text height calculations for text in files produced by broken PDF generators.
  • Added support for drawing of rubber stamp annotations.
  • Extraction and drawing of JPEG 2000 and JBIG2 uses less memory and time.
  • Fixed bugs related to drawing of XObjects.
  • Fixed bugs related to extraction of images.
  • Fixed bugs related to recompression of images with colors in Separation color spaces.
  • Fixed bugs related to incorrect font weight for text drawn with Arial,Bold font.
  • Fixed bugs related to glyph retrieval for existing fonts.
  • Fixed bugs related to processing of improperly embedded fonts.
  • Fixed bugs related to drawing of patterns.
  • Fixed bugs related to reading of control appearance characteristics.

Version 4.5

January 31st, 2015

  • Added ability to create L*a*b* color spaces. Take a look at PdfLabColorSpace class.
  • Added support for L*a*b* colors. Take a look at PdfLabColor class.
  • Added new PdfColor.ToColor() method. This method can be used to convert PDF colors to System.Drawing.Color structure.
  • Added speed improvements to extraction of images.
  • Added speed improvements to processing of Type 0 fonts.
  • Improved extraction of images and drawing of PDF pages when library is used in older Windows OS.
  • Improved rendering of characters without glyph information.
  • Improved rendering in x86 processes.
  • Improved drawing of PDF documents with nested tiling patterns.
  • Improved drawing of images with masks larger than the image itself.
  • Improved parsing of incorrect cross-reference (xref) sections.
  • Improved parsing of hexademical strings with white-space characters.
  • Improved extraction of text drawn using CJK fonts.
  • Fixed bugs related to parsing of incorrect ToUnicode streams produced by broken PDF generators.
  • Fixed bugs related to drawing of glyphs with zero width.
  • Fixed bugs related to parsing of graphics state.
  • Fixed bugs related to parsing of CID arrays.
  • Fixed bugs related to parsing of fonts without /Type entry.
  • Fixed bugs related to loading of TrueType fonts.
  • Fixed bugs related to importing of PNG images.
  • Fixed bugs related to calculation of text height.
  • Fixed bugs related to parsing of cross-reference (xref) sections.
  • Fixed bugs related to parsing of blend modes.
  • Fixed bugs related to extraction of JBIG2 images.
  • Fixed bugs related to extraction of images in DeviceN and Separation color spaces.
  • Removed dependency on System.Web.dll introduced in 4.4.

Version 4.4

November 13th, 2014

  • Added sample code showing how to compress PDF documents. Please take a look at the new Compression group of examples.
  • Added speed improvements to extraction of images with color masks.
  • Added speed improvements to drawing of PDF documents with tiling patterns.
  • Added support for reading launch actions. Take a look at the PdfLaunchAction class.
  • Added ability to calculate distance to baseline of a font. Please take a look at the sample. Also take a look at the following new properties: PdfFont.TopSideBearing and PdfFont.TransformationMatrix.
  • Added ability to set and retrieve soft masks for images. Take a look at the updated description of the PdfImage.Mask property.
  • The library now uses log4net for logging purposes. Place an XML configuration file next to the library if you want to access log messages emitted by the library. More info about configuration files is available on this log4net page.
  • PdfDocument.RemoveStructureInformation() method now removes corresponding marked content operators too.
  • Improved parsing of incorrect (not exactly standards compliant) content streams.
  • Improved parsing of incorrect cross-reference (xref) sections.
  • Improved recompression of some black-and-white images.
  • Improved substitution of non-embedded TrueType fonts that are not installed in the system.
  • Fixed bugs related to reading of check box states.
  • Fixed extraction of text bounds for Type3 fonts.
  • Fixed bugs related to copying and extraction of pages.
  • Fixed bugs related to decoding of some LZW streams.
  • Fixed bugs related to reading of check box states.
  • Fixed bugs related to incorrect text widths while drawing.
  • Fixed bugs related to processing of PostScript (Type 4) functions.
  • Fixed bugs related to parsing of fonts.
  • Fixed bugs related to parsing of ToUnicode streams.
  • Fixed bugs related to parsing of auto-size text boxes.
  • Fixed bugs related to handling of TrueType fonts without explicitly specified encoding.
  • Fixed bugs related to processing of color spaces.
  • Fixed bugs related to adding of PNG images.
  • Fixed bugs related to extraction of images with palettes.
  • Fixed bugs related to extraction of inline images.
  • Fixed bugs related to extraction of JPEG images with Separation and DeviceN color spaces.
  • Fixed bugs related to drawing of transparent text.
  • Fixed bugs related to drawing of transparent CMYK images.
  • Fixed bugs related to processing of PDF functions.

Version 4.3

September 1st, 2014

  • Added support for exponential functions. Such functions can be used as tint transforms in separation color spaces. Take a look at PdfExponentialFunction class.
  • Added ability to create separation color spaces. Such color spaces can be used to create spot colors. Take a look at PdfSeparationColorSpace class.
  • Added support for spot colors. Take a look at PdfSpotColor class.
  • Added support for drawing of PDF documents with Type3 fonts.
  • Added speed improvements to Type0 fonts processing.
  • Added speed improvements to LZW decoder.
  • Added speed improvements to drawing of images with color masks.
  • Added new property PdfFont.Format that returns the format of the font.
  • Docotic.Pdf now comes in two versions. One is for .NET 4.0 and later and the other one is for .NET 2.0 and later. Both versions offer the same APIs but they built against different runtimes.
  • BitMiracle.Docotic.Pdf.PdfTextExtractionOptions.PreferFontEncodings property is marked obsolete (and will be removed in the next release of Docotic.Pdf). Docotic.Pdf now automatically detects whether to prefer font encoding.
  • Reduced amount of memory required for linearizer.
  • Improved drawing of PDF documents with tiling patterns.
  • Improved support for incorrect font dictionaries produced by broken PDF generators.
  • Improved support for incorrect trailers.
  • Improved algorithm for auto-calculation of text size when font size is 0.
  • Improved support for color spaces in rasterizer.
  • Improved handling of resources in form XObjects.
  • Fixed bugs in license manager related to date changes.
  • Fixed bugs related to processing of colors.
  • Fixed bugs related to parsing of documents.
  • Fixed bugs related to PDF forms filling.
  • Fixed bugs related to handling of fonts without explicitly specified encoding.
  • Fixed bugs related to handling of symbolic TrueType fonts.
  • Fixed bugs related to text extraction.
  • Fixed bugs related to drawing of PDF vector paths.
  • Fixed bugs related to drawing of glyphs with zero width.
  • Fixed bugs related to extraction of inline images.
  • Fixed bugs related to drawing and extraction of CMYK JPEG images.
  • Fixed bugs related to drawing and extraction of JBIG2 images.
  • Fixed bugs related to extraction of JPEG 2000 images.

Version 4.2

June 19th, 2014

  • Added ability to remove all structure information from documents. Take a look at PdfDocument.RemoveStructureInformation() method. Removing structure information can significantly reduce file size if document will then be saved with PdfSaveOptions.RemoveUnusedObjects property set to true.
  • PdfFontEmbedStyle enumeration and PdfSaveOptions.FontEmbedStyle property are marked obsolete. Added new PdfFont methods instead: PdfFont.Embed(), PdfFont.Unembed() and PdfFont.RemoveUnusedGlyphs(). New methods can be used to manage embedding of font bytes in produced PDF documents. PdfFont.Embed() method can embed font bytes for used but previously non-embedded PDF fonts.
  • Added support for rotated controls and ability to rotate them. Take a look at PdfControl.Rotate(PdfRotation) method and PdfControl.Rotation property. From now on, new controls are automatically rotated according to the PdfPage.Rotation.
  • Added support for drawing of free text (see PdfFreeTextAnnotation) and rectangle (see PdfRectangleAnnotation) annotations.
  • Added ability to specify 0 for PdfTextBox.FontSize and PdfComboBox.FontSize properties. Zero value means that the font size is to be automatically adjusted in PDF viewer so that the text fills the control as much as possible.
  • Added ability to import appearance streams specified in FDF files.
  • Added ability to resize and scale non-JPEG images.
  • Added ability to compress resized and scaled images with Flate compression scheme.
  • Updated documentation for PdfTextData.FontSize, PdfTextData.Bounds, PdfTextData.Position, PdfTextData.Size and PdfTextData.TransformationMatrix properties.
  • Improved drawing of PDF pages when library is used in older Windows OS.
  • Improved support for Separation and DeviceN color spaces.
  • Improved support for non-standard font encodings.
  • Improved support for inline images.
  • Reduced amount of memory required for font processing.
  • Reduced amount of memory required to open a document.
  • Following properties are marked obsolete (and will be removed in the next release of Docotic.Pdf): BitMiracle.Docotic.LicenseManager.SavingAllowed, BitMiracle.Docotic.LicenseManager.ReadingAllowed, BitMiracle.Docotic.LicenseManager.DrawingAllowed. Please use BitMiracle.Docotic.LicenseManager.HasValidLicense instead of any of these properties.
  • Fixed bugs related to drawing of PDF pages.
  • Fixed bugs related to text extraction.
  • Fixed bugs related to handling of non-embedded fonts.
  • Fixed bugs related to adding of some types of TIFF images to documents.
  • Fixed bugs related to extraction of JPEG 2000 images.
  • Fixed bugs related to extraction of CMYK JPEG images.
  • Fixed bug related to opening of PDF documents, encrypted with 128-bit keys, on Mac OS.
  • Fixed bugs related to saving of linearized documents and documents with object streams.
  • Fixed bugs related to PDF forms filling.
  • Fixed bugs related to reading of XMP Metadata properties.
  • Fixed bugs related to adding of System.Drawing.Images to documents.
  • Fixed bugs related to appending of documents.
  • Fixed bugs related to appending of content to existing document pages.
  • Fixed bugs related to reading and changing of inherited resources.
  • Fixed bugs related to reading of documents with unusual cross-reference sections.
  • Fixed a bug related to default behavior of PdfRemoteGoToAction.

Version 4.1

January 13th, 2014

  • Added support for remote go-to actions. Take a look at the PdfRemoteGoToAction class and new methods and properties: PdfDocumentView.PageIndex, PdfDocument.CreateRemoteGoToPageAction(String, Int32)
  • Added new PdfDrawOptions.TileWidth and PdfDrawOptions.TileHeight properties which can be used to control how much memory is used while drawing.
  • Added support for ASCIIHexDecode filter.
  • Added support for structured content. From now on, the library keeps structure information when merging / appending documents. The library also removes structure information when corresponding object (e.g. page) gets removed.
  • Improved drawing of PDF pages. Improwing drawing of documents produced by Lexmark scanners.
  • Improved extraction of mask images.
  • Fixed bugs related to opening of encrypted documents.
  • Fixed bugs related to extraction of TIFF images.
  • Fixed bugs related to processing of named destinations (document views).
  • Fixed bugs related to parsing of page content streams.
  • Fixed bugs related to parsing of object streams.
  • Fixed issue with junk bytes at the end of cross-reference streams.

Version 4.0

October 10th, 2013

  • Implemented new text rendering engine. Drawing of PDF pages is greatly improved.
  • Added new PdfImage.Compression property.
  • Added new PdfTextBox.Comb property.
  • Added support for JPEG 2000 images (i.e. support for JPXDecode filter).
  • Added support for extraction of masked images.
  • Added new property PdfTextData.Font that returns a font of text chunk.
  • Added new property PdfTextData.RenderingMode that returns a text rendering mode for text chunk.
  • Added new properties PdfTextData.Brush and PdfTextData.Pen that allows to get information about color and opacity of text chunk.
  • Added new method PdfTextData.GetCharacters() that allows to get information about characters of arbitrary text chunk.
  • Added new property PdfDocument.Version that returns the current version of the PDF document.
  • Added new property PdfSaveOptions.Version that allows you to retrieve and / or change the version to use while saving the PDF document.
  • From now on, changing text or max length of text in a PdfTextBox might cause a PdfException to be thrown if text length is bigger than max length (and vice versa).
  • Improved opening of PDF documents.
  • Improved text extraction.
  • Fixed bugs related to extraction of TIFF images.
  • Fixed bugs related to opening of broken documents with incorrect linearization dictionaries.
  • Fixed bugs related to opening of encrypted documents with unusual file trailers.
  • Fixed bugs related to appending documents.
  • Fixed bugs related to processing of text boxes without appearance streams.
  • Fixed bugs related to processing of stream decode parameters.
  • Fixed bugs related to saving of password text boxes.
  • Fixed bugs related to swapping of pages.
  • Fixed processing of linearized documents with incorrect hint tables.
  • Fixed bugs related to processing of JPEGs with relatively big sections.
  • Fixed bugs related to processing of CMYK TIFFs.
  • Fixed bugs related to processing of Separation and DeviceN color spaces.
  • Fixed bugs related to recompression of some black-and-white images.
  • Following methods and properties (previously marked as obsolete) are removed: PdfDocument.Compression, PdfDocument.FontEmbedStyle, PdfDocument.ProducePdfA, PdfDocument.Watermarks, PdfDocument.WatermarkCount, PdfDocument.GetWatermark(System.Int32), PdfDocument.AddWatermark(), PdfFont.EmbedStyle, PdfPage.Watermark, PdfPage.RemoveWidget(BitMiracle.Docotic.Pdf.PdfWidget), PdfTextBox.VerticalAlign.
  • Removed PdfWatermark class because it was used only with obsolete method and properties.

Version 3.7

February 28th, 2013

  • Optimized speed of PDF opening.
  • Added support for file attachments and annotations. Please take a look at following new properties and methods: PdfDocument.SharedAttachments, PdfDocument.CreateFileAttachment(), PdfPage.AddFileAnnotation(PdfRectangle, PdfFileSpecification). Also please take a look at the samples.
  • Added ability to remove digital signature permissions from document. See PdfDocument.RemoveSignaturePermissions() method and PdfDocument.HasSignaturePermissions property.
  • Added ability to check if a text chunk was drawn transformed. Please take a look at following new properties: PdfTextData.IsTransformed, PdfTextData.TransformationMatrix.
  • Added new PdfPage.BleedBox, PdfPage.TrimBox and PdfPage.ArtBox properties.
  • Added ability to apply arbitrary transformation to coordinate system of a canvas. See PdfCanvas.Transform(PdfMatrix) method.
  • The library changed to better preserve existing PDF structures.
  • Improved support for JPEG-in-TIFF images.
  • PdfTextBox.VerticalAlign property marked obsolete.
  • Fixed some bugs related to page copying.
  • Fixed some bugs related to processing of document views.
  • Fixed some outline-related bugs.
  • Fixed some bugs with stream decode parameters.

Version 3.6

October 18th, 2012

  • Greatly optimized speed of PDF opening and saving.
  • Decreased and optimized memory consumption.
  • Added ability to specify vertical and horizontal resolution for images created from PDF pages. See PdfDrawOptions.HorizontalResolution and PdfDrawOptions.VerticalResolution properties.
  • Added ability to check whether PDF document is a PDF/A compliant one. See PdfDocument.GetPdfaConformance() method. Please have a look at Check if PDF document is a PDF/A compliant one sample.
  • Added new compression option. See PdfSaveOptions.OptimizeIndirectObjects property.
  • Improved support for TIFF images produced by Imaging for Windows.
  • Improved support for grayscale JPEG-in-TIFF images.
  • Improved text extraction.
  • Improved extraction of images.
  • Improved drawing of PDF pages.
  • Improved processing of XMP metadata.
  • Fixed bugs in PdfImage.ResizeTo() method.

Version 3.5

July 28th, 2012

  • Added support for PDF form XObjects (often used for watermarks, backgrounds and repeatable objects). Please take a look at following new properties and methods: PdfDocument.CreateXObject(), PdfPage.XObjects, PdfPage.XObjectCount, PdfPage.GetXObject(Int32), PdfCanvas.DrawXObject()
  • Added new property PdfControl.FullName that returns fully qualified name of control.
  • Added ability to check if an image painted transformed and ability to save such image as painted (seen in a PDF viewer). Please take a look at following new properties and methods: PdfPaintedImage.IsTransformed, PdfPaintedImage.TransformationMatrix, PdfPaintedImage.SaveAsPainted().
  • Added ability to save pages as TIFF images (take a look at new PdfDrawFormat.Tiff element in PdfDrawFormat enumeration).
  • Added ability to check whether license data added to LicenseManager, is valid. Also added ability to check which operations are allowed with current license data. Please take a look at following new properties: LicenseManager.HasValidLicense, LicenseManager.SavingAllowed, LicenseManager.ReadingAllowed, LicenseManager.DrawingAllowed.
  • Added new properties PdfInfo.CreationDate and PdfInfo.ModifiedDate that can be used to retrieve date and time a document was created and most recently modified in absence of XMP Metadata.
  • Added more samples.
  • Improved saving of documents without compression.
  • Improved support for reading of viewer preferences.
  • Improved text extraction.
  • Improved extraction of images.
  • Improved opening of PDF documents.
  • Following methods and properties are marked obsolete (and will be removed in Docotic.Pdf 4): PdfDocument.Watermarks, PdfDocument.WatermarkCount, PdfDocument.GetWatermark(System.Int32), PdfPage.Watermark.
  • Fixed some bugs related to reading of document permissions.
  • Fixed some bugs related to saving of fonts.
  • Fixed some bugs related to reading of documents with forms.
  • Fixed some bugs related to handling of opacity in existing documents.

Version 3.4

April 24th, 2012

  • Added support for drawing of PDF pages. See PdfPage.Save() and PdfPage.Draw(Graphics) methods. These methods can be used to draw a PDF page on screen, print PDF page to a printer and save PDF page as an image. Please have look at Draw and print PDF samples.
  • Added support for extraction of page objects (currently, only text and images). See PdfPage.GetObjects() method. Please have a look at Extract text, paths and images sample.
  • Added support for extraction of images with their coordinates. See PdfPage.GetPaintedImages() method and PdfPaintedImage class. Please have a look at Extract image coordinates sample.
  • Added support for extraction of text by words and by characters. See PdfPage.GetWords() and PdfPage.GetChars() methods. Please have a look at Extract text by words sample.
  • Added new methods for resizing and scaling of existing images in a PDF document. Please take a look at PdfImage.ResizeTo(), PdfImage.Scale() methods. These methods are useful if you want to reduce PDF size.
  • Added new PdfPage.MediaBox and PdfPage.CropBox properties.
  • Improved opening of PDF documents. The library now uses less time and memory to open a document.
  • Improved recompression of JPEG images.
  • Improved extraction of images.
  • Improved text extraction.
  • Fixed bug with reading of Creator and Producer fields in document metadata.
  • Fixed some bugs related to processing of JPEG-in-TIFF images.
  • Fixed some bugs related to processing of font styles.

Version 3.3

December 26th, 2011

Version 3.2

October 11th, 2011

  • Added support for buttons with images. See PdfButton.Image property and Button with image sample.
  • Fixed some bugs related to buttons.

Version 3.1

September 20th, 2011

  • Improved accuracy of all calculations.
  • Added new PdfPoint, PdfRectangle and PdfSize structures for more precise sizing and positioning of PDF entities. Read more about changes in Docotic.Pdf API in Accuracy-related changes in Docotic.Pdf 3.1 API.
  • Added new text extraction mode - extract text with formatting. See PdfDocument.GetTextWithFormatting() and PdfPage.GetTextWithFormatting() methods.
  • Added new property PdfDocument.SharedScripts. This property can be used to define one or more shared scripts. Functions defined by such scripts are available for use by other scripts in the document.
  • Fixed threading-related bugs. Now Docotic.Pdf is thread-safe.
  • Fixed bugs with outline items.
  • Fixed bugs with forms parsing.
  • Improved creation of text boxes and combo boxes.
  • Improved text positioning.
  • Other bug fixes.
  • Added more samples.

Version 3.0

July 7th, 2011

  • Added support for linearization (Fast Web View optimization). See SaveOptions.Linearize property.
  • Added new property PdfDocument.IsLinearized. This property can be used to check if an open file is linearized (optimized for Fast Web View).
  • Added support for AES encryption and decryption. See PdfEncryptionAlgorithm enumeration.
  • Added new method PdfDocument.IsPasswordProtected().
  • Added new methods for recompression of existing images in a PDF document. Please take a look at PdfImage.Uncompress(), PdfImage.RecompressWithFlate(), PdfImage.RecompressWithGroup3Fax(), PdfImage.RecompressWithGroup4Fax() and PdfImage.RecompressWithJpeg() methods. These methods are useful if you want to optimize PDF images or reduce PDF size.
  • Added new PdfDocument.OpenImage() method and two new classes (PdfImageFrames and PdfImageFrame) that are useful if you want to add only some of the image frames (pages) to document or if you want to recompress image frames before adding them to document.
  • Added new property PdfDocument.SaveOptions. This property is useful if you want to fine tune the way the libary will save documents.
  • Added new overloads for PdfDocument.AddImage() method.
  • Added new overloads for PdfDocument.DocumentsAreEqual() method.
  • Added PdfOutlineItem.Page and PdfOutlineItem.PageIndex properties. These properties may be used to find out which page an outline item points to.
  • Added new methods for accessing controls in PdfDocument.
  • Improved error reporting for images.
  • Improved forms support.
  • Fixed bugs with OJpeg-in-Tiff images.
  • Fixed bug with outline (bookmarks) reading.
  • Fixed bug with incorrect order of image pages.
  • Improved opening of existing documents.
  • Improved embedding of fonts.
  • Other bug fixes.
  • Added more samples.

Version 2.3

March 30th, 2011

  • Added support for image extraction.
  • Added support for bold/italic and colored outline items.
  • Added support for page labels.
  • Added support for JBIG2-encoded streams.
  • Added support for page extraction and copying.
  • Added support for vertical alignment in PdfTextBox.
  • Improved text extraction.
  • Improved parsing of existing documents.
  • Added more samples.
  • Fixed some bugs.

Version 2.2

February 1st, 2011

  • Greatly improved performance.
  • Greatly improved form filling.
  • Improved text extraction.
  • Added support for OJPEG-compressed TIFF images.
  • Improved parsing of existing documents.
  • Added support of import and export of Forms Data Format (FDF).

Version 2.1

November 2nd, 2010

  • Greatly improved work with links.
  • Improved parsing of existing documents.
  • Added new PdfDocument.IndexOf(PdfPage) method and new overloads for PdfPage.AddLinkToPage() method to the API.
  • Added more samples.

Version 2.0

September 30th, 2010

  • Collections of widgets and controls is ordered by location on page now.
  • Improved parsing of existing documents.
  • Fixed casing in names within PdfSubmitFormat enumeration.
  • Speed optimizations have been made.
  • Decreased and optimized memory consumption.
  • Introduced minor changes to the API.
  • Improved exception messages.
  • Added more samples.
  • Fixed bugs with handling of TIFF images.

Version 1.0

May 21st, 2010

  • Initial release.