When document with TOC field is exported to PDF, the hyperlinks in the TOC field are exported with blue fore color and blue underline (with the default hyperlink styling). Instead, they should be exported with the fore color visible in the document.
Workaround: Clear the hyperlink style from the spans inside the TOC:
var firstTocRange = this.radRichTextBox.Document.EnumerateChildrenOfType<FieldRangeStart>().Where(frs => frs.Field is TableOfContentsField).First();
this.radRichTextBox.Document.Selection.SelectAnnotationRange(firstTocRange);
foreach (var spanLayoutBox in this.radRichTextBox.Document.Selection.GetSelectedBoxes<SpanLayoutBox>())
{
spanLayoutBox.AssociatedSpan.Style = null;
}
If a document does not have definition for font size in all levels of the font hierarchy, then all runs that do not have font size set locally, will be imported with font size 9.5. In Microsoft Word, in this case, the font size value is 10. Workaround: Set the FontSize of the default document style after the document is imported: RadDocument reportDocument1; using (FileStream inputStream = new FileStream(@"C:\Original.docx", FileMode.Open)) { reportDocument1 = provider1.Import(inputStream); reportDocument1.StyleRepository[RadDocumentDefaultStyles.DefaultDocumentStyleName].SpanProperties.FontSize = Unit.PointToDip(10); } using (FileStream output = new FileStream(@"C:\test.docx", FileMode.OpenOrCreate)) { provider1.Export(reportDocument1, output); }
The "Text Wrapping" string, used in the FloatingBlockPropertiesDialog lacks translations in Spanish and French. In the English and Turkish values, a space is missing between the words. Fix available in LIB Version 2018.1.416.
Inserting image inline from stream changes its size dramatically. Run the following code to reproduce: RadDocument document = new RadDocument(); RadDocumentEditor editor = new RadDocumentEditor(document); //editor.Insert("some text"); using (FileStream stream = File.OpenRead(@"C:\Temp\picture.jpg")) { editor.InsertImage(stream, ".png"); } File.WriteAllBytes($@"d:\Temp\test\test_doc.pdf", new PdfFormatProvider().Export(document)); The issue is observable after 2017.2.614.
There are a number of Bitmap objects that are not disposed. Changing this behavior could improve the memory usage when exporting PDF documents.
The List Override Table contains definitions that override the properties of another list definition.
When pasting a big image in RichTextBox, it is pasted with its original size. It should be resized so it can fit on the page. Similar logic is available in the InsertPictureCommand. Workaround: private void RadRichTextBox_CommandExecuting(object sender, CommandExecutingEventArgs e) { if (!(e.Command is PasteCommand)) { return; } DocumentFragment res = ClipboardEx.GetDocumentFromClipboard("RadDocumentGUID"); if (res == null) { foreach (ClipboardHandler settings in ClipboardEx.ClipboardHandlers) { res = ClipboardEx.GetDocumentFromClipboard(settings.ClipboardDataFormat, settings.ClipboardStringFilter); } } if (res == null) { e.Cancel = true; var bitmapSource = Clipboard.GetImage(); if (bitmapSource == null) { return; } Padding sectionmargin = this.radRichTextBox.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection.ActualPageMargin; double originalPixelWidth = bitmapSource.Width; double originalPixelHeight = bitmapSource.Height; if (originalPixelWidth == 0 || originalPixelHeight == 0) { originalPixelWidth = 10; originalPixelHeight = 10; } double width = originalPixelWidth; double height = originalPixelHeight; if (this.radRichTextBox.Document.LayoutMode == DocumentLayoutMode.Paged) { Section currentSection = this.radRichTextBox.Document.CaretPosition.GetCurrentSectionBox().AssociatedSection; var pageSize = (SizeF) currentSection.GetType().GetProperty("ActualPageSize", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(currentSection, null); double maxWidth = pageSize.Width - (sectionmargin.Left + sectionmargin.Right); double maxHeight = pageSize.Height - (sectionmargin.Top + sectionmargin.Bottom); width = Math.Min(maxWidth, width); height = Math.Min(maxHeight, height); } double ratio = originalPixelWidth / originalPixelHeight; width = Math.Min(width, height * ratio); height = width / ratio; Size size = new Size(width, height); ImageInline imageInline = new ImageInline(new WriteableBitmap(bitmapSource)); imageInline.Size = size; this.radRichTextBox.ActiveDocumentEditor.InsertInline(imageInline); } }
- Localization for "Simple text" in the Define New List Style dialog and Define New Style dialog at RadRichTextBox. - Levels (from 1st to 9th) are hardcoded in dialog's code behind and cannot be localized. (these are the items in the 'Apply Formatting to' comboBox)
When the background is defined for a table or a cell, it should be inherited by the paragraphs inside. Currently, the paragraphs are with the background defined in the default style.
When the position on which the users right-click is an annotation start or end marker, the context menu doesn't provide suggestions about spellcheck errors. Steps to reproduce: 1. Type "The greater the better" in RadRichTextBox with enabled spellchecking 2. Turn on track changes 3. Move the caret to the 't' of "greater" 4. Insert 't' so the word becomes wrong 5. Right-click on the 't' letter inserted in step 4 Observed: The context menu doesn't show suggestions for fixing the misspelled word Expected: The context menu should suggest a fix
An OutOfMemoryException is thrown on export to PDF when the compression mode is set to Deflate. Regression, introduced in R1 2017. Workaround: Change the ImagesCompressionMode to one of the other available options to avoid using the Deflate
Allow the custom fields inserted in a child document, like header/footer/comment etc, to access properties from the main document of RadRichTextBox.
When deleting all content (e.g. Select All [CTRL+A] + Delete [Del]) in the document, it would be convenient for the user to preserve all formatting (local span formatting + local paragraph formatting + style) applied on the last paragraph. This will ensure that the user will continue edit the document with last current font, font family, etc. If this operation is applied on an empty document, though, the styling of the single paragraph should be reset to the defaults for the document.
When Justify text alignment is applied to a paragraph, it should not increase the space between word which are before the last tab symbol for each line. Steps to reproduce: - Open RadRichTextBox in Paged layout mode, default A4 section size - Type the following text: -- "Welcome Welcome Welcome Welcome Welcome " -- then tab symbol -- then "test1 test1 uncharacteristically" - Switch paragraph alignment to Justify. Expected: The space between 'Welcome' words remains the same in Left and Justify alignments. Actual: The space between 'Welcome' words is increased when Justify alignment is chosen, as compared to when Left is chosen.
Paragraph spacing from table style is not exported for each paragraph inside the table. The table style defines paragraph properties which should be respected when exporting the styles to HTML. Workaround: Apply the paragraph settings coming from the table style directly to the elements.foreach
(var table
in
radRichTextBox.Document.EnumerateChildrenOfType<Table>())
{
foreach
(var paragraph
in
table.EnumerateChildrenOfType<Paragraph>())
{
paragraph.LineSpacing = table.Style.ParagraphProperties.LineSpacing;
paragraph.LineSpacingType = table.Style.ParagraphProperties.LineSpacingType;
paragraph.AutomaticSpacingAfter= table.Style.ParagraphProperties.AutomaticSpacingAfter;
paragraph.AutomaticSpacingBefore = table.Style.ParagraphProperties.AutomaticSpacingBefore;
paragraph.SpacingAfter = table.Style.ParagraphProperties.SpacingAfter;
paragraph.SpacingBefore = table.Style.ParagraphProperties.SpacingBefore;
}
}
Handwriting keyboard allows you to enter text with a pen or other stylus. This is currently not implemented in RichTextBox and when you are using handwriting keyboard, the text is inserted more than once when the stylus is lifted while writing.
The normal hyphen should break the line and the non-breaking hyphen (inserted with: alt+0173) should not break the line
The vertical text alignment in repeated table header row is not consistent with the first row. Please check the attached screenshot.
The bullet should be aligned next to the paragraph unless another setting is explicitly applied.
The dialogs don't have an owner, thus they behave unexpected and can be easily lost from the user and block the UI. This applies to many of the RadWindow.Alert() invocations in the UI of RichTextBox.