diff --git a/src/components/BootstrapBlazor.PdfViewer/BootstrapBlazor.PdfViewer.csproj b/src/components/BootstrapBlazor.PdfViewer/BootstrapBlazor.PdfViewer.csproj index e1e6b20a..eb120d22 100644 --- a/src/components/BootstrapBlazor.PdfViewer/BootstrapBlazor.PdfViewer.csproj +++ b/src/components/BootstrapBlazor.PdfViewer/BootstrapBlazor.PdfViewer.csproj @@ -1,7 +1,7 @@ - 9.0.3 + 9.0.5 diff --git a/src/components/BootstrapBlazor.PdfViewer/PdfViewer.razor.cs b/src/components/BootstrapBlazor.PdfViewer/PdfViewer.razor.cs index 07a4fb6f..9e1accca 100644 --- a/src/components/BootstrapBlazor.PdfViewer/PdfViewer.razor.cs +++ b/src/components/BootstrapBlazor.PdfViewer/PdfViewer.razor.cs @@ -17,6 +17,12 @@ public partial class PdfViewer [Parameter] public string? Url { get; set; } + /// + /// Gets or sets the page index of the PDF file. + /// + [Parameter] + public int PageIndex { get; set; } + /// /// Gets or sets the viewer height. Default is null. /// @@ -52,9 +58,6 @@ public partial class PdfViewer .AddClass($"--bb-pdf-viewer-height: {Height};", !string.IsNullOrEmpty(Height)) .Build(); - private string? _url; - private bool _useGoogleDocs; - private string? UseGoogleDocsString => UseGoogleDocs ? "true" : null; /// @@ -66,29 +69,9 @@ protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); - if (firstRender) - { - _url = Url; - _useGoogleDocs = UseGoogleDocs; - return; - } - - var rerender = false; - if (_url != Url) - { - _url = Url; - rerender = true; - } - - if (_useGoogleDocs != UseGoogleDocs) - { - _useGoogleDocs = UseGoogleDocs; - rerender = true; - } - - if (rerender) + if (!firstRender) { - await InvokeVoidAsync("loadPdf", Id, GetAbsoluteUri(_url)); + await InvokeVoidAsync("loadPdf", Id, GetAbsoluteUri(Url)); } } @@ -108,7 +91,7 @@ private string GetAbsoluteUri(string? url) url ??= string.Empty; if (string.IsNullOrEmpty(url) || !UseGoogleDocs) { - return url; + return $"{url}#page={PageIndex}"; } var uri = NavigationManager.ToAbsoluteUri(url); return uri.AbsoluteUri;