Added Page.GetTable() method which tries to find a table within specified bounds and returns an ITable interface that provides access to common table OM (Rows, Columns, Cells).
Added GrapeCity.Documents.Pdf.Recognition.TableExtractOptions class which represents the table extractor algorithm options.
Added GrapeCity.Documents.Pdf.Recognition.RecognitionAlgorithm enumeration which defines possible algorithms that can be used to recognize the logical structure of a PDF when building text maps.
Added GcPdfDocument.RecognitionAlgorithm property which specifies the algorithm that is used for PDF content recognition when building page text maps
Added GetPoints() to ITextMap, ITextLine, ITextParagraph which gets the polygon that contains a text fragment, useful when the text bounds are non-rectangular.
Added Field.GcProps property which gets the PdfDict object that can be used to associate arbitrary data with this field.
Added Field.HasGcProps property which indicates whether the GcProps is not empty.
Added GrapeCity.Documents.Pdf.Spec.IPdfDictHolderExt class which provides extension methods for working with IPdfDictHolder.
Added GrapeCity.Documents.Pdf.Spec.IPdfArrayHolderExt class which provides extension methods for working with IPdfArrayHolder.
Resolved Issues
Fixed the issue where text bounds found by GcPdfDocument.FindText() methods may be incorrect if a transformation is applied to the page.
Fixed the issue where an exception occured while rendering certain PDFs to images.
Version 4.0.0.632 (Maintenance) - Breaking Changes
Removed WidgetAnnotation.DefaultAppearanceString, FreeTextAnnotation.DefaultAppearanceString, RedactAnnotation.OverlayTextAppearanceString and RedactAnnotation.OverlayTextFormat properties to ensure compliance with PDF specification. Newly added properties DefaultAppearance and OverlayAppearance can be used instead.
WidgetAnnotation.TextFormat is deprecated, the new WidgetAnnotation.DefaultAppearance property should be used instead.