Unplanned
Last Updated: 11 Jul 2024 15:58 by Stenly
Currently, the Save button of the RadPdfViewerToolBar element raises the SaveAsPdfDocumentCommand, which opens a new SaveFileDialog in its Execute method. We could raise an event there, in order for this action to be intercepted if the PDF file is saved.
Completed
Last Updated: 07 Aug 2024 08:11 by ADMIN
Release 2024.3.806 (2024 Q3)

Changing the value of the DocumentSource property at runtime causes the RadPdfViewer to display a busy indicator and not update the displayed PDF file with the new one.

To work this around, derive from the RadPdfViewer and create a new dependency property for the property of the type of PdfDocumentSource (for example, from your view model). In its callback method, call the SetDocumentSource method of the derived RadPdfViewer by passing the new value:

public class MyPdfViewer : RadPdfViewer
{
    public PdfDocumentSource PdfDocumentSource
    {
        get { return (PdfDocumentSource)GetValue(PdfDocumentSourceProperty); }
        set { SetValue(PdfDocumentSourceProperty, value); }
    }

    public static readonly DependencyProperty PdfDocumentSourceProperty =
        DependencyProperty.Register("PdfDocumentSource", typeof(PdfDocumentSource), typeof(MyPdfViewer), new PropertyMetadata(new PropertyChangedCallback(OnDocumentSourceChanged)));

    private static void OnDocumentSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        MyPdfViewer viewer = (MyPdfViewer)d;

        viewer.SetDocumentSource((PdfDocumentSource)e.NewValue);
    }
}
<local:MyPdfViewer x:Name="pdfViewer" PdfDocumentSource="{Binding MyViewModelPropertyOfTypePdfDocumentSource}" />
Completed
Last Updated: 01 Jul 2024 11:22 by ADMIN
Release 2024.2.701 (Preview)
ArgumentException when there are bookmarks that point to the same location: System.ArgumentException: 'An item with the same key has already been added.
Completed
Last Updated: 28 Aug 2024 06:51 by ADMIN
Release 2024.3.802 (2024 Q3)
Text is not displayed when using embedded subset of the ToyotaTypeLight font.
Unplanned
Last Updated: 23 Apr 2024 05:28 by Belma
Images hosted inside multiple Form XObjects are not rendered.
Completed
Last Updated: 01 Jul 2024 11:22 by ADMIN
Release 2024.2.701 (Preview)
 Form XObject that contains path with a Matrix position is not rendered.
Unplanned
Last Updated: 22 Apr 2024 10:22 by Valentin
Some documents cannot be printed with the PdfViewer. In this case no exception is thrown and the result file is 0 bytes. 
Unplanned
Last Updated: 15 Apr 2024 08:44 by ADMIN
When opening a document with a CFF Type1 font an exception is thrown: NullReferenceException: 'Object reference not set to an instance of an object.'
Declined
Last Updated: 09 Apr 2024 08:27 by ADMIN
XObejcts with indirect reference to an image are not rendered.
Completed
Last Updated: 02 Aug 2024 11:09 by ADMIN
Release 2024.3.802 (2024 Q3)
When changing the device culture to RTL (e.g. Hebrew but not only) in a project targeting .NET 5 (or later), some documents are rendered incorrectly.
Completed
Last Updated: 02 Jul 2024 05:51 by ADMIN
Release 2024.2.701 (Preview)
The image inside an XObejct is not shown in the correct position. 
Unplanned
Last Updated: 13 Dec 2023 08:00 by Roman
 Exception when rendering a file with a lot of RenderTargetBitmap objects (Com Exception: MILERR_WIN32ERROR). It seems that we are creating this for tilling patters which are not reused and we ca reconsider our appraoch.  
Unplanned
Last Updated: 05 Dec 2023 09:56 by Martin Ivanov
The text elements in a document are positioned wrongly and are slightly offset from their expected positions.
Unplanned
Last Updated: 30 Nov 2023 18:51 by Martin Ivanov
Currently, there are 10px of margin on each side of the FixedDocumentPresenter element showing the page. This is controlled by the PageMargins property of the PagesLayoutManagerBase class, which is set to a fixed value of 10. To change this, you will need to implement custom PagesLayoutManager and few other page presenter classes from scratch. 

Add a property that allows easily changing of the PageMargins value.

At this moment, you can work this around by setting the PageMargins via reflection.
var pageMarginsPropInfo = typeof(PagesLayoutManagerBase).GetField("pageMargins", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
pageMarginsPropInfo.SetValue(null, new Size(0, 0));

Unplanned
Last Updated: 07 Nov 2023 09:07 by Piotr
The "scn" value is not interpreted correctly which causes graphics to be drawn differently from Adobe.
Unplanned
Last Updated: 17 Oct 2023 08:08 by Dominik
 Expose API that allows you to access the current editor.
Unplanned
Last Updated: 16 Oct 2023 09:38 by Dominik

Provide a default appearance for fields that do not contain one. 

Workaround: set border and background manually:

var provider = new PdfFormatProvider();
var document = provider.Import(File.ReadAllBytes(@"..\..\..\Systemvariablen.pdf"));

foreach (var item in document.AcroForm.FormFields)
{ 
    var widget = item.Widgets.First() as VariableContentWidget;
     
    if (widget != null)
    { 
        widget.AppearanceCharacteristics.Background = new RgbColor(255, 0, 0);
        widget.AppearanceCharacteristics.BorderColor = new RgbColor(0, 0, 255);
        widget.Border = new AnnotationBorder(2, AnnotationBorderStyle.Solid, null);
      
        widget.RecalculateContent(); 
    }
}

pdfViewer.Document = document;

Unplanned
Last Updated: 21 Sep 2023 13:49 by Martin Ivanov
The memory consumption is increasing each time the Document property is changed at runtime. This memory doesn't get collected by the GC. To reproduce this, the Document property changes should happen with a small time interval between them. For example, several consecutive button clicks. Also, in order for that to be presented, the RadPdfViewerNavigationPane should be used and bound to the RadPdfViewer.

The issue is not reproducible if there is enough time between the Document changes, so that the UI is properly loaded.

To avoid the memory leak, avoid using the RadPdfViewerNavigationPane.
Unplanned
Last Updated: 21 Sep 2023 08:44 by Jan-Philipp
Created by: Jan-Philipp
Comments: 0
Category: PDFViewer
Type: Bug Report
1
Copy and Paste omits white spaces.
Unplanned
Last Updated: 18 Sep 2023 17:38 by Martin Ivanov

A memory leak occurs in the RadTreeView control used for the table of contents in the RadPdfViewerNavigationPane, when changing the DocumentSource of RadPdfViewer at runtime.

To work this around, you can get the RadTreeView used by RadPdfViewerNavigationPane and manually clear its internal item storage before assigning the new DocumentSource.

 

private void ReloadDocument()
{
	var navigationPane = this.pdfViewerNavigationPane;
	var navigationPaneTreeView = navigationPane.FindChildByType<RadTreeView>();
	if (navigationPaneTreeView != null)
	{
		object itemStorage = typeof(RadTreeView)
			.GetProperty("ItemStorage", BindingFlags.Instance | BindingFlags.NonPublic)
			.GetValue(navigationPaneTreeView);
		MethodInfo itemStorageClearMethod = itemStorage.GetType().GetMethod("Clear", BindingFlags.Instance | BindingFlags.NonPublic);
		itemStorageClearMethod.Invoke(itemStorage, null);		
	}
	
	this.DocumentSource = theNewDocumentSource;
}