This is a migrated thread and some comments may be shown as answers.

PDF Export - WatermarkText problem

3 Answers 102 Views
RichTextBox
This is a migrated thread and some comments may be shown as answers.
Wolfgang
Top achievements
Rank 1
Wolfgang asked on 23 Mar 2017, 03:12 PM

Hi everybody,

when i export a document to pdf without a watermark, the there are no problems.

But when i add a watermark text and then try to export it, then the program crashes.

Here i create a draft document.

private void CreateDraft()
{
    WatermarkTextSettings watermark = new WatermarkTextSettings();
    watermark.ForegroundColor = Colors.Gray;
    watermark.Opacity = 1.0d;
    watermark.RotateAngle = 315.0d;
    watermark.Text = "Vorabexemplar";
 
    this.rtbResult.SetWatermarkText(watermark);
     
    this.UpdatePdfViewer();
}

 

After adding the watermark the pdf viewer needs to be updated to set the results:

private void UpdatePdfViewer()
{
    RadDocument doc = this.rtbResult.Document;
     
    var pdfProvider = new PdfFormatProvider();
    var outputStream = new MemoryStream();
 
    pdfProvider.Export(doc, outputStream);
 
    this.rtbResult.UpdateEditorLayout();
 
    this.pdfViewer.DocumentSource = new PdfDocumentSource(outputStream);
    this.pdfViewer.DocumentSource.Loaded += (s, e) => { outputStream.Close(); };
}

 

Everthing works fine without watermark. With watermark the programm crashs on line pdfProvider.Export(doc, outputStream);

I've also tryed the solution in the following thread without success Mail Merge - PDF Export - Watermark problem

 

Full error message

bei Telerik.Windows.Documents.UI.UIProviders.WatermarkUIProvider.Arrange(UILayerUpdateContext uILayerUpdateContext)
bei Telerik.Windows.Documents.UI.Layers.ProviderUILayerBase.ArrangeChildren()
bei Telerik.Windows.Documents.UI.DocumentPagePresenter.ArrangeUILayers()
bei Telerik.Windows.Documents.UI.DocumentPagePresenter.MeasureOverride(Size availableSize)
bei System.Windows.FrameworkElement.MeasureCore(Size availableSize)
bei System.Windows.UIElement.Measure(Size availableSize)
bei System.Windows.Controls.Canvas.MeasureOverride(Size constraint)
bei System.Windows.FrameworkElement.MeasureCore(Size availableSize)
bei System.Windows.UIElement.Measure(Size availableSize)
bei MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
bei System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
bei System.Windows.FrameworkElement.MeasureCore(Size availableSize)
bei System.Windows.UIElement.Measure(Size availableSize)
bei System.Windows.Controls.Grid.MeasureOverride(Size constraint)
bei System.Windows.FrameworkElement.MeasureCore(Size availableSize)
bei System.Windows.UIElement.Measure(Size availableSize)
bei System.Windows.Controls.Border.MeasureOverride(Size constraint)
bei System.Windows.FrameworkElement.MeasureCore(Size availableSize)
bei System.Windows.UIElement.Measure(Size availableSize)
bei System.Windows.Controls.Control.MeasureOverride(Size constraint)
bei Telerik.Windows.Documents.UI.DocumentPrintLayoutPresenter.MeasureOverride(Size availableSize)
bei System.Windows.FrameworkElement.MeasureCore(Size availableSize)
bei System.Windows.UIElement.Measure(Size availableSize)
bei MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
bei System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
bei System.Windows.FrameworkElement.MeasureCore(Size availableSize)
bei System.Windows.UIElement.Measure(Size availableSize)
bei System.Windows.ContextLayoutManager.UpdateLayout()
bei System.Windows.UIElement.UpdateLayout()
bei Telerik.Windows.Documents.UI.DocumentPresenterBase.Telerik.Windows.Controls.IDocumentEditorPresenter.UpdateLayout()
bei Telerik.Windows.Controls.RadRichTextBox.<>c__DisplayClass20.<UpdateEditorLayout>b__1f()
bei Telerik.Windows.Controls.RadRichTextBox.UpdateEditorLayout(Boolean focusCarret, Boolean updateCaretSize, Boolean async)
bei Telerik.Windows.Controls.RadRichTextBox.UpdateEditorLayout(Boolean async)
bei Telerik.Windows.Controls.RadRichTextBox.UpdateEditorLayout()
bei Telerik.Windows.Controls.RadRichTextBox.Document_LayoutModeChanged(Object sender, EventArgs e)
bei Telerik.Windows.Documents.Model.RadDocument.OnLayoutModeChanged()
bei Telerik.Windows.Documents.Model.RadDocument.set_LayoutMode(DocumentLayoutMode value)
bei Telerik.Windows.Documents.FormatProviders.Pdf.RadDocumentPreparer..ctor(RadDocument document)
bei Telerik.Windows.Documents.FormatProviders.Pdf.PdfFormatProvider.Export(RadDocument document, Stream output)
bei LvsDocumentEngine.Gui.Dialogs.CreateDocumentDialog.UpdatePdfViewer() in d:\Projekte\Kunden\METAX GmbH\Metax-ERP\LvsDocumentEngine\Gui\Dialogs\CreateDocumentDialog.xaml.cs:Zeile 121.
bei LvsDocumentEngine.Gui.Dialogs.CreateDocumentDialog.btnCreateDraft_Click(Object sender, RoutedEventArgs e) in d:\Projekte\Kunden\METAX GmbH\Metax-ERP\LvsDocumentEngine\Gui\Dialogs\CreateDocumentDialog.xaml.cs:Zeile 303.
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
bei System.Windows.Controls.Primitives.ButtonBase.OnClick()
bei System.Windows.Controls.Button.OnClick()
bei Telerik.Windows.Controls.RadButton.OnClick()
bei System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
bei System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bei System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
bei System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
bei System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
bei System.Windows.Input.InputManager.ProcessStagingArea()
bei System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
bei System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bei System.Windows.Window.ShowHelper(Object booleanBox)
bei System.Windows.Window.Show()
bei System.Windows.Window.ShowDialog()

3 Answers, 1 is accepted

Sort by
0
Martin Ivanov
Telerik team
answered on 28 Mar 2017, 08:34 AM
Hello Wolfgang,

I tested the provided code but I wasn't able to reproduce the error. Can you take a look at the attached project and let me know if I am missing something? Also, can you tell me what is the exact exception that is thrown?

Regards,
Martin
Telerik by Progress
Want to extend the target reach of your WPF applications, leveraging iOS, Android, and UWP? Try UI for Xamarin, a suite of polished and feature-rich components for the Xamarin framework, which allow you to write beautiful native mobile apps using a single shared C# codebase.
0
Wolfgang
Top achievements
Rank 1
answered on 28 Mar 2017, 01:19 PM

Hello Martin,

Exact exception: System.NullReferenceException: Object reference not set to an instance of an object.

I'll try to create a sample project to reproduce this error.

Regards,
Wolfgang

 

0
Martin Ivanov
Telerik team
answered on 31 Mar 2017, 09:42 AM
Hi Wolfgang,

Thank you for the exception info. If you succeed to reproduce the error in a new project don't hesitate to post the information here.

Regards,
Martin
Telerik by Progress
Want to extend the target reach of your WPF applications, leveraging iOS, Android, and UWP? Try UI for Xamarin, a suite of polished and feature-rich components for the Xamarin framework, which allow you to write beautiful native mobile apps using a single shared C# codebase.
Tags
RichTextBox
Asked by
Wolfgang
Top achievements
Rank 1
Answers by
Martin Ivanov
Telerik team
Wolfgang
Top achievements
Rank 1
Share this question
or