PdfFormatProvider creates an invalid PDF document.
Workaround:
RadDocument radDocument = null;
XamlFormatProvider xamlformatProvider = new XamlFormatProvider();
using (FileStream inputStream = new FileStream("input.xaml", FileMode.Open))
{
Console.WriteLine("reading input file");
radDocument = xamlformatProvider.Import(inputStream);
}
var provider = new Telerik.Windows.Documents.FormatProviders.OpenXml.Docx.DocxFormatProvider();
var bytes = provider.Export(radDocument);
var provider2 = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();
var flowDoc = provider2.Import(bytes);
var provider3 = new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();
using (Stream output = File.OpenWrite(@"output.pdf"))
{
Console.WriteLine("writing output file");
provider3.Export(flowDoc, output);
}
Console.WriteLine("done...");
Console.ReadKey();
this.radRichTextBox.PreviewEditorKeyDown += (sender, args) =>
{
if (Keyboard.Modifiers.HasFlag(ModifierKeys.Alt) && Keyboard.Modifiers.HasFlag(ModifierKeys.Control) && args.Key == Key.E)
{
args.SuppressDefaultAction = true;
args.OriginalArgs.Handled = true;
this.radRichTextBox.Insert("€");
}
};
HtmlFormatProvider: Exception when importing a table that has only width set. In this case, we are trying to measure some elements with float.NaN.
Workaround: Use the HtmlFormatProvider from the Document Processing library.
Numbered lists have invalid values when combining documents by using the InsertFragment method.
Workaround: use RadDocumentMerger:
RadDocument radDocument1 = RtfSourceProvider.Import(rtf1);
RadDocument radDocument2 = RtfSourceProvider.Import(rtf2);
AppendDocumentOptions options = new AppendDocumentOptions();
options.FirstSourceSectionPropertiesResolutionMode = SectionPropertiesResolutionMode.NoSectionBreak;
RadDocumentMerger merger = new RadDocumentMerger(radDocument1);
merger.AppendDocument(radDocument2, options);
RichText.Document = merger.Document;
The image adorner in is not shown in NetCore/6/7/8 when ApplicationTheme is not set (XAML only).
Workaround:
Explicitly set the theme:
StyleManager.ApplicationTheme = new Office2016Theme();
Using the SpreadStreamExport feature of RadGridView doesn't work as expected when exporting DateTime objects. It exports the dates as String values which prevents the date-related features (like formatting) to work in Excel.
To work this around, you can create a custom SpreadStreamExportRenderer and override its SetCellValue method. This will allow you to manually provide the DateTime object instead of the string.
public class MyRenderer : SpreadStreamExportRenderer
{
public override void SetCellValue(DataType dataType, object value)
{
DateTime date;
if (value != null && DateTime.TryParse(value.ToString(), out date))
{
base.SetCellValue(DataType.DateTime, date);
var cell = this.GetCell() as ICellExporter;
cell.SetFormat(new SpreadCellFormat() { NumberFormat = "yyyy-MM-dd HH:mm:ss" });
return;
}
base.SetCellValue(dataType, value);
}
}
spreadStreamExport.RunExportAsync(FILENAME, new MyRenderer(), options);