The exception can be observed when printing document containing images with unsupported formats, or images with empty source (RawData = "").
The exception is with the following call stack:
at Telerik.Windows.Documents.UI.HeaderFooterContainer.UpdateUI(SectionLayoutBox sectionBox, Boolean delayed)
at Telerik.Windows.Documents.UI.HeaderFooterContainer.UpdateUI(SectionLayoutBox sectionBox)
at Telerik.Windows.Documents.UI.DocumentPrintPresenter.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)
Workarounds:
If you click on print preview and print the document from the preview it is working;
2. Use the following code
this.radRichTextBox .PrintStarted += Rtb_PrintStarted;
private void Rtb_PrintStarted(object sender, EventArgs e)
{
RadRichTextBox rtb = (RadRichTextBox)sender;
foreach (var floatingImage in rtb.Document.EnumerateChildrenOfType<FloatingImageBlock>()
.Where(fi => !this.IsSupportedImageFormat(fi.ImageInline.Extension))
.ToList())
{
floatingImage.Parent.Children.Remove(floatingImage);
}
foreach (var inlineImage in rtb.Document.EnumerateChildrenOfType<ImageInline>()
.Where(i => !this.IsSupportedImageFormat(i.Extension))
.ToList())
{
inlineImage.Parent.Children.Remove(inlineImage);
}
}
private bool IsSupportedImageFormat(string format)
{
return (format == "jpg") ||
(format == "jpeg") ||
(format == "png") ||
(format == "bmp");
}