Added GrapeCity.Documents.Pdf.Recognition.Structure.LogicalStructure class which represents the parsed logical structure of a document, created from tags in the PDF structure tree.
Added GrapeCity.Documents.Pdf.Recognition.Structure.Element class which represents a parsed PDF tag (structure element) in the document's logical structure.
Added class GrapeCity.Documents.Pdf.Recognition.Structure.ContentItemBase: abstract representing a portion of document content associated with a PDF structure tag (element).
Added class GrapeCity.Documents.Pdf.Recognition.Structure.ContentItem : ContentItemBase: abstract class representing a content item associated with a portion of a content stream.
Added class GrapeCity.Documents.Pdf.Recognition.Structure.McidContentItem : ContentItem: represents a parsed GrapeCity.Documents.Pdf.Structure.McidContentItemLink.
Added class GrapeCity.Documents.Pdf.Recognition.Structure.McrContentItem : ContentItem: represents a parsed GrapeCity.Documents.Pdf.Structure.McrContentItemLink.
Added class GrapeCity.Documents.Pdf.Recognition.Structure.ObjrContentItem : ContentItemBase: represents a parsed GrapeCity.Documents.Pdf.Structure.ObjrContentItemLink.
Added GcPdfDocument.GetLogicalStructure() method which parses the PDF's structure tree and creates a LogicalStructure object that represents the logical structure of the document.
Added GrapeCity.Documents.Pdf.TextMap.ITextRun interface which represents a portion of a text paragraph with the same formatting, possibly spanning several lines.
Added GrapeCity.Documents.Pdf.TextMap.ITextRunFragment interface which represents a fragment of a text run that resides on a single text line.
Added properties on ITextParagraph: TextMap, Page, Runs.
Added properties on ITextLine: Paragraph, RunFragments.
Added ITextParagraph.GetTextRuns() method which finds text runs in the paragraph that contain a specified text fragment.
Added FindTextParams.Regex property which specifies whether the search text should be interpreted as a regular expression. Also added a corresponding optional argument to FindTextParams ctor, and a utility method FindTextParams.CreatRegex().
Resolved Issues
Incorrect rendering of PDFs containing Adobe Type 1 Fonts.
Free text annotation border is drawn even if line width is 0.
In some cases incorrect fonts are used when a PDF is saved as image.
Memory usage is too high when a PDF containing many large images is saved as image.
In some scenarios GcPdfDocument.MergeWithDocument() may produce invalid PDFs.
Breaking Change
Removed events GcPdfDocument.GeneratingDocument and GcPdfDocument.SavingDocument.