Declined
Last Updated: 11 Feb 2019 12:59 by ADMIN
Created by: David
Comments: 2
Category: PdfViewer
Type: Feature Request
2
A great first effort! Many thanks!
After some use I do have these suggestions:

1. When User changes LayoutMode the ZoomLevel property changed event should also be fired. I have a Numeric Textbox to adjust viewer ZoomLevel and would like to see its text update on a LayoutMode change. However when LayoutModeChanged fires the ZoomLevel has not yet changed nor does ZoomLevelChanged later fire.
2. The toolbar item for Fit to Width should be a Toggle in all cases, i.e. toggling between Fit Width and Fit Height (or Fit Page) and should be effective at all times (sometimes has no effect if LayoutMode changed to Single Page).
3. The toolbar item to toggle LayoutMode should honor an assignment of its text property.
4. I'm currently using the change in VisiblePagesCount to determine the document is visible. However a "Loaded" event might be even better.
5. I would like to release the viewer's memory of the document before closing the XAML page. An Unload command would be helpful. For now I just assign Source = null.
Declined
Last Updated: 27 Aug 2021 09:10 by ADMIN

If you download the pdf document from the internet, save it to the device and try to show it inside PdfViewer, it will not be loaded on Xiaomi phones with MIUI 12.1. and above.

Users report similar issues with downloaded files on MIUI devices, here are a few discussions on the matter:

https://www.reddit.com/r/Xiaomi/comments/l3x5db/miui_12130_broke_file_permissions_on_mi10_lite/

https://www.reddit.com/r/Xiaomi/comments/mx05ur/file_downloading_issues_on_my_xiaomi/

It seems that's the same reason for the PdfViewer not showing downloaded pdf files as it properly shows pdf documents added as embedded resource to the solution.

Declined
Last Updated: 19 Nov 2020 13:20 by Chris

System.MissingFieldException: Field not found: Telerik.XamarinForms.SkiaSharp.SkiaDocumentView.purePainter Due to: Could not parse field signature 0a00031b due to: Could not resolve type with token 0100014e from typeref (expected class 'Telerik.XamarinForms.SkiaSharp.DocumentView.SkiaDocumentPurePainter' in assembly 'Telerik.XamarinForms.SkiaSharp, Version=2020.3.1106.460, Culture=neutral, PublicKeyToken=null') assembly:Telerik.XamarinForms.SkiaSharp, Version=2020.3.1106.460, Culture=neutral, PublicKeyToken=null type:Telerik.XamarinForms.SkiaSharp.DocumentView.SkiaDocumentPurePainter member:(null)
  at Telerik.XamarinForms.PdfViewer.RadPdfViewer.UpdatePresenter () [0x00037] in <bd15b7ab3df742a5908d5d151a9a58d8>:0
  at Telerik.XamarinForms.PdfViewer.RadPdfViewer..ctor () [0x00048] in <bd15b7ab3df742a5908d5d151a9a58d8>:0
  at OnaMobile.Views.PdfViewPage.InitializeComponent () [0x00012] in C:\Users\chris\Work\ONAMA\onama-mobile-app\OnaMobile\OnaMobile\obj\Debugetstandard2.0\Views\PdfViewPage.xaml.g.cs:22
  at OnaMobile.Views.PdfViewPage..ctor () [0x00008] in C:\Users\chris\Work\ONAMA\onama-mobile-app\OnaMobile\OnaMobile\Views\PdfViewPage.xaml.cs:19
  at OnaMobile.ViewModels.ResourcesPageViewModel.OpenResourceAsync (OnaMobile.OnlineResources.ResourceLink resource) [0x001ac] in C:\Users\chris\Work\ONAMA\onama-mobile-app\OnaMobile\OnaMobile\ViewModels\ResourcesPageViewModel.cs:186

iOS SDK 14.1, ARM64. Happens regardless of Linker Behavior setting.

The page itself has nothing in its code-behind other than the default constructor calling InitializeComponent(). In the XAML, the RadPdfViewer control is in a two-row, one-column grid, where it is in the second row:

<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" ColumnSpacing="0" RowSpacing="0">
    <Grid.RowDefinitions>
        <RowDefinition Height="60" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <Frame Grid.Row="0"><!-- ... --></Frame>

    <pdf:RadPdfViewer Grid.Row="1" HorizontalOptions="Fill" VerticalOptions="FillAndExpand" Source="{Binding Source}" />
</Grid>
The view model has a DocumentSource property Source and implements INotifyPropertyChanged. However the exception occurs before the BindingContext of the page is set to the view model.