To reproduce: - Set the layout to Paged. - Add a table - Switch the layout to Flow and try to resize it on the right most border. Workaround: Switch to paged layout and resize the table.
Currently all tables are stuck to the let and there cannot be a text before them.
To reproduce:
Please refer to the attached sample application and video demonstrating the experience issue.
Workaround:
Set RadRichTextEditor to null in Form`s Dispose method:
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Me.RadRichTextEditor1 = Nothing
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
Workaround: use a custom RichTextEditorRibbonBar
Public Class CustomRichTextEditorRibbonBar
Inherits RichTextEditorRibbonBar
Dim headerText As String
Protected Overrides Function GetInsertTableItems() As RadItemCollection
Dim collection As RadItemCollection = MyBase.GetInsertTableItems()
Dim headerItem As RadMenuInsertTableItem = TryCast(collection(0), RadMenuInsertTableItem)
headerText = "My Header Text"
Dim fi As FieldInfo = GetType(RadMenuInsertTableItem).GetField("header", BindingFlags.NonPublic Or BindingFlags.Instance)
Dim header As LightVisualElement = fi.GetValue(headerItem)
header.Text = headerText
AddHandler header.TextChanged, AddressOf header_TextChanged
Return collection
End Function
Private Sub header_TextChanged(sender As Object, e As EventArgs)
Dim lve As LightVisualElement = TryCast(sender, LightVisualElement)
If lve.Text = "Insert Table" Then
lve.Text = headerText
End If
End Sub
End Class
Please refer to the attached screenshot. It is not possible to localize the marked label.
Workaround:
Sub New()
InitializeComponent()
Me.RadRichTextEditor1.RichTextBoxElement.InsertHyperlinkDialog = New CustomInsertHyperlinkDialog()
End Sub
Public Class CustomInsertHyperlinkDialog
Inherits InsertHyperlinkDialog
Protected Overrides Sub OnLoad(e As EventArgs)
MyBase.OnLoad(e)
Me.Controls("radLabel4").Text = "My address"
End Sub
End Class
Add support for shapes, and especially for shapes with textual content. In OOXML, shapes are represented by the wps:wsp element, and shapes with textual content by <wps:txbx>, <w:txbxContent>. Such shape can be added to a Word document using the Insert -> Text -> Text Box -> Draw Text Box, or through a shape's context menu -> Add Text. Note: Do not confuse with Text/Rich Text content controls (http://feedback.telerik.com/Project/154/Feedback/Details/156478 )
To reproduce: please refer to the attached sample project.
Workaround: export RadRichTextEditor's content to a .doc file. Then, use the RadWordsProcessing library to import the .doc file and export it as a pdf:
Telerik.WinForms.Documents.FormatProviders.OpenXml.Docx.DocxFormatProvider provider =
new Telerik.WinForms.Documents.FormatProviders.OpenXml.Docx.DocxFormatProvider();
string fileName = @"..\..\exported.doc";
string pdfFileName = @"..\..\exported.pdf";
Stream s = new FileStream(fileName,FileMode.Create, FileAccess.Write);
provider.Export(document, s);
s.Close();
s.Dispose();
Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider provider2 =
new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();
using (Stream input = File.OpenRead(fileName))
{
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document2 = provider2.Import(input);
Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider provider3 =
new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();
using (Stream output = File.OpenWrite(pdfFileName))
{
provider3.Export(document2, output);
}
}
System.Diagnostics.Process.Start(pdfFileName);
To reproduce: 1. Insert a table 2. Select all cells in it 3. Press the Backspace key => the table is removed but the table adorner is still visible The adorner disappears if clicked
To reproduce: - Add some misspelled words. - Enable the spell check - the layout is updated and the words are underlined. - Disable the spell check - the lines are not removed until one clicks in the RichTextEditor. Workaround: radRichTextEditor1.IsSpellCheckingEnabled = !radRichTextEditor1.IsSpellCheckingEnabled; radRichTextEditor1.Document.LayoutMode = DocumentLayoutMode.Paged; radRichTextEditor1.Document.LayoutMode = DocumentLayoutMode.Flow;
Workaround:
string styleSuffix = "_1";
foreach (var importedStyle in rtfDoc.StyleRepository)
{
importedStyle.Name = string.Concat(importedStyle.Name, styleSuffix);
}
Implement commands and UI for producing labels using Mail Merge. Behind the scenes this is implemented as Table with the proper number of table columns and rows, and eventually (depending on the setup) NEXT field (https://support.office.com/en-us/article/Field-codes-Next-field-3862fad6-0297-411a-a4e7-6ff5bcf178fd?ui=en-US&rs=en-US&ad=US) - so this will eventually require implementing NEXT field. Note: In MS Word, this is in Mailings -> Start Mail Merge -> Labels...
Merge all assemblies exept Telerik.WinControls.UI.Design.dll. Use the merged assembly in an application with RichTextEditorRibbonBar. The icons are missing.
When the specified length of the stream is larger than the actual one, Adobe throws errors and removes the image. Workaround: Set the format provider settings: PdfFormatProvider provider = new PdfFormatProvider(); PdfExportSettings exportSettings = new PdfExportSettings(); exportSettings.ContentsDeflaterCompressionLevel = 9; exportSettings.ImagesDeflaterCompressionLevel = 9; provider.ExportSettings = exportSettings;
Workaround:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.radRichTextEditor1.IsSpellCheckingEnabled = true;
this.radRichTextEditor1.Insert("SOooome wrrrrong wooooooooords.");
this.radRichTextEditor1.CommandExecuted += radRichTextEditor1_CommandExecuted;
}
bool shouldProcess = true;
private void radRichTextEditor1_CommandExecuted(object sender, Telerik.WinForms.Documents.RichTextBoxCommands.CommandExecutedEventArgs e)
{
if (e.Command is DeleteCommand)
{
if (shouldProcess)
{
shouldProcess = false;
RichTextEditorInputBehavior behavior = this.radRichTextEditor1.InputHandler;
behavior.ProcessKeyDown(new KeyEventArgs(Keys.Back));
}
shouldProcess = true;
}
}
}
To reproduce:
radRichTextEditor.Document = new RadDocument();
radRichTextEditor.Document.MeasureAndArrangeInDefaultSize();
radRichTextEditor.UpdateEditorLayout();
radRichTextEditor.Document.CaretPosition.MoveToLastPositionInDocument();
var p = new Paragraph();
p.Inlines.Add(new Span("Cell"));
var cell = new TableCell();
cell.Blocks.Add(p);
var row = new TableRow();
row.Cells.Add(cell);
var table = new Table();
table.Rows.Add(row);
var section = new Section();
section.Blocks.Add(table);
radRichTextEditor.Document.Sections.Add(section);
radRichTextEditor.Document.CaretPosition.MoveToLastPositionInDocument();
var provider = new RtfFormatProvider();
var txt = provider.Export(radRichTextEditor.Document);
Clipboard.SetText(txt, TextDataFormat.Rtf);
Workaround: measure the document after the section is added:
radRichTextEditor.Document.Sections.Add(section);
radRichTextEditor.Document.MeasureAndArrangeInDefaultSize();
radRichTextEditor.UpdateEditorLayout();