Hi Guys,
Our application works with a document storage and we use RadRichTextBox to allow users edit and view the documents. Unfortunately, many documents cannot be opened due to the following exception we get:
Unable to cast object of type 'Telerik.Windows.Documents.Model.FieldRangeStart' to type 'Telerik.Windows.Documents.Model.AnnotationRangeEnd
As result we receive complains from our users. Could you please facilitate with solving it?
I have attached a simple test application with the problematic document as well the stacktrace.
Best regards,
Yaroslav
In MS Word there are several options available in the Advanced Find dialog that are not available in the RichTextBox, the two most requested by our users are "Match case" and "Find whole words only".
"Win32Exception (0x80004005): Not enough storage is available to process this command" is thrown when multiple RadDocument instances are created in background threads. This is due to the fact that RadDocument contains MailMergeDataSource object, which is DependencyObject. When multiple dependency objects are created in different threads, they are not property freed by thread's Dispatcher. Workaround 1: Microsoft provided workaround in a bug report here: https://connect.microsoft.com/VisualStudio/feedback/details/620588/system-componentmodel-win32exception-0x80004005-not-enough-storage-is-available-to-process-this-command , namely: ------------------------------ Put the following code: Dispatcher dispatcher = Dispatcher.CurrentDispatcher; dispatcher.BeginInvokeShutdown(DispatcherPriority.Normal); Dispatcher.Run(); anywhere in the background thread processing the RadDocument. ----------------------------- Workaround 2: Use pooling of the used threads. The problem is that Task Parallel Library (which has built-in pooling) does not use STA threads by default, but this can be achieved by using custom TaskScheduler (attached, the code is get from here: https://code.msdn.microsoft.com/ParExtSamples ): var parallelOptions = new ParallelOptions() { TaskScheduler = new StaTaskScheduler(Environment.ProcessorCount) }; Parallel.For(0, 10000, parallelOptions, cc => { var document = new DocxFormatProvider().Import(data); byte[] pdfBytes = new PdfFormatProvider().Export(document); };
Currently, StylesGallery and TableStylesGallery cannot be resized. Internally they contain RadRibbonGallery, which itself expose ViewPortWidth property controlling the width, so this just have to be exposed.
On export to HTML tab stops are converted to non-breaking spaces ( ). Sometimes the width of the all nbsp-s becomes different than the width of the tab stop. When document which contains grid-like data is exported to HTML its columns are not aligned.
Hi Telerik,
We are converting XAML content into PDF file with below code.
private byte[] Xaml2Pdf(string xamlContent)
{
try
{
XamlFormatProvider xamlFormatProvider = new XamlFormatProvider();
PdfFormatProvider pdfFormatProvider = new PdfFormatProvider();
PdfExportSettings exportSettings = new PdfExportSettings();
exportSettings.ContentsCompressionMode = PdfContentsCompressionMode.Automatic;
exportSettings.ContentsDeflaterCompressionLevel = 9;
exportSettings.DocumentInfo = new PdfDocumentInfo() { Producer = "ALIS", Author = "ALIS", Creator = "ALIS" };
exportSettings.ImagesCompressionMode = PdfImagesCompressionMode.Automatic;
exportSettings.ImagesDeflaterCompressionLevel = 9;
pdfFormatProvider.ExportSettings = exportSettings;
byte[] content = pdfFormatProvider.Export(xamlFormatProvider.Import(xamlContent));
return content;
}
catch
{
throw;
}
}
Adding bookmarks with the same name programmatically always returns the first one in case use attempts to navigate to it using the Bookmarks dialog.
Workaround: Remove the bookmark before adding a new one with the very same name.