Skip to content

Commit 71806c3

Browse files
authored
feat(PdfViewer): add embedded parameter (#464)
* feat: 增加获得绝对路径方法 * feat: 增加 embedded=true 参数 * chore: bump version 9.0.3
1 parent d43d749 commit 71806c3

3 files changed

Lines changed: 19 additions & 5 deletions

File tree

src/components/BootstrapBlazor.PdfViewer/BootstrapBlazor.PdfViewer.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>9.0.2</Version>
4+
<Version>9.0.3</Version>
55
</PropertyGroup>
66

77
<PropertyGroup>

src/components/BootstrapBlazor.PdfViewer/PdfViewer.razor.cs

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ public partial class PdfViewer
3939
/// Gets or sets whether to use Google Docs for PDF rendering. Default is false.
4040
/// </summary>
4141
[Parameter]
42-
public bool UseGoogleDocs { get; set; } = false;
42+
public bool UseGoogleDocs { get; set; }
43+
44+
[Inject, NotNull]
45+
private NavigationManager? NavigationManager { get; set; }
4346

4447
private string? ClassString => CssBuilder.Default("bb-pdf-viewer-container")
4548
.AddClassFromAttributes(AdditionalAttributes)
@@ -85,7 +88,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
8588

8689
if (rerender)
8790
{
88-
await InvokeVoidAsync("loadPdf", Id, _url);
91+
await InvokeVoidAsync("loadPdf", Id, GetAbsoluteUri(_url));
8992
}
9093
}
9194

@@ -97,9 +100,20 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
97100
{
98101
LoadedCallaback = nameof(TriggerOnLoaded),
99102
NotSupportCallback = nameof(TriggerNotSupportCallback),
100-
Url
103+
Url = GetAbsoluteUri(Url)
101104
});
102105

106+
private string GetAbsoluteUri(string? url)
107+
{
108+
url ??= string.Empty;
109+
if (string.IsNullOrEmpty(url) || !UseGoogleDocs)
110+
{
111+
return url;
112+
}
113+
var uri = NavigationManager.ToAbsoluteUri(url);
114+
return uri.AbsoluteUri;
115+
}
116+
103117
/// <summary>
104118
/// Trigger OnLoaded callback when the PDF document is loaded.
105119
/// </summary>

src/components/BootstrapBlazor.PdfViewer/PdfViewer.razor.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export async function loadPdf(id, url) {
3434

3535
const useGoogleDocs = el.getAttribute('data-bb-google-docs') === 'true';
3636
if (useGoogleDocs) {
37-
url = `https://docs.google.com/viewer?url=${url}`
37+
url = `https://docs.google.com/viewer?url=${url}&embedded=true`
3838
}
3939
viewer.src = url;
4040
}

0 commit comments

Comments
 (0)