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;
}
Some lines on attached files are to thick. Other pdf programs shows that correctly.
Regards
Janez
The CurrentPageTextBox in the toolbar has stopped displaying in the latest version.
Workaround:
<telerik:CurrentPageTextBox x:Name="PART_CurrentPageNumberTextBox"
HorizontalContentAlignment="Center"
Margin="2" Text="{Binding FixedDocumentViewer.CurrentPageNumber, Mode=TwoWay}"
VerticalContentAlignment="Center" Width="45"
telerik:StyleManager.Theme="Office_Black"/>
The glyphs are rendered with additional unexpected lines when a specific custom CFF font is used to show them.
Hello,
I use RadPdfViewer to view a PDF file in my WPF application, the PDF file has only one page and the contents are in the middle of the page, so I'm trying to zoom and focus on the middle of the page, I use the following code:
private void DocumentChanged(object sender, DocumentChangedEventArgs e)
{
pdfViewer.ScaleFactor = 1.3;
var size = pdfViewer.Document.Pages[0].Size;
pdfViewer.ScrollToVerticalOffset(size.Height * 0.3);
pdfViewer.ScrollToHorizontalOffset(size.Width * 0.20);
}however, I only see the horizontal scroll working.
How can I zoom then scroll to vertical and horizontal offset?