diff --git a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj
index b6df196d4ec..5531a858643 100644
--- a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj
+++ b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj
@@ -58,7 +58,7 @@
-
+
diff --git a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor
index 62e6dc9327c..728bd0d3b4d 100644
--- a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor
+++ b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor
@@ -8,5 +8,6 @@
-
+
diff --git a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs
index 46ab8a6b4f3..8468a0b2a24 100644
--- a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs
+++ b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs
@@ -12,257 +12,10 @@ namespace BootstrapBlazor.Server.Components.Samples;
///
public partial class PdfViewers
{
- [NotNull]
- PdfReader? AdvancedPdfReader { get; set; }
+ [Inject, NotNull]
+ private ToastService? ToastService { get; set; }
- [DisplayName("流模式")]
- private bool StreamMode { get; set; }
+ private Task OnLoaded() => ToastService.Success("Pdf Viewer", Localizer["PdfViewerToastSuccessfulContent"]);
- [DisplayName("禁用复制/打印/下载")]
- private bool ReadOnly { get; set; }
-
- [DisplayName("水印内容")]
- private string Watermark { get; set; } = "www.blazor.zone";
-
- private EnumZoomMode Zoom { get; set; } = EnumZoomMode.PageHeight;
-
- private EnumPageMode PageMode { get; set; } = EnumPageMode.None;
-
- [DisplayName("搜索")]
- private string? Search { get; set; } = "Performance";
-
- private int Page { get; set; } = 3;
-
- private async Task ApplyZoom()
- {
- Zoom = Zoom switch
- {
- EnumZoomMode.Auto => EnumZoomMode.PageActual,
- EnumZoomMode.PageActual => EnumZoomMode.PageFit,
- EnumZoomMode.PageFit => EnumZoomMode.PageWidth,
- EnumZoomMode.PageWidth => EnumZoomMode.PageHeight,
- EnumZoomMode.PageHeight => EnumZoomMode.Zoom75,
- EnumZoomMode.Zoom75 => EnumZoomMode.Zoom50,
- EnumZoomMode.Zoom50 => EnumZoomMode.Zoom25,
- EnumZoomMode.Zoom25 => EnumZoomMode.Zoom200,
- _ => EnumZoomMode.Auto
- };
- await Refresh();
- }
-
- private async Task ApplyPageMode()
- {
- PageMode = PageMode switch
- {
- EnumPageMode.Thumbs => EnumPageMode.Outline,
- EnumPageMode.Outline => EnumPageMode.Attachments,
- EnumPageMode.Attachments => EnumPageMode.Layers,
- EnumPageMode.Layers => EnumPageMode.None,
- _ => EnumPageMode.Thumbs
- };
- await Refresh();
- }
-
- async Task Refresh()
- {
- if (AdvancedPdfReader != null)
- await AdvancedPdfReader.Refresh(Search, Page, PageMode, Zoom, ReadOnly, Watermark);
- }
-
- private async Task ApplyPage()
- {
- Search = null;
- await Refresh();
- }
-
- private async Task ApplyPagePrevious()
- {
- Page--;
- Search = null;
- await Refresh();
- }
-
- private async Task ApplyPageNext()
- {
- Page++;
- Search = null;
- await Refresh();
- }
-
- private Task ApplySearch() => Refresh();
-
- private Task Clear()
- {
- Search = string.Empty;
- StateHasChanged();
- return Task.CompletedTask;
- }
-
- ///
- /// GetAttributes
- ///
- ///
- protected AttributeItem[] GetAttributes() =>
- [
- new()
- {
- Name = "Filename",
- Description = Localizer["AttributesPdfReaderFilename"],
- Type = "string?",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "StreamMode",
- Description = Localizer["AttributesPdfReaderStreamMode"],
- Type = "bool",
- ValueList = "-",
- DefaultValue = "false"
- },
- new()
- {
- Name = "Width",
- Description = Localizer["AttributesPdfReaderWidth"],
- Type = "string",
- ValueList = "-",
- DefaultValue = "100%"
- },
- new()
- {
- Name = "Height",
- Description = Localizer["AttributesPdfReaderHeight"],
- Type = "string",
- ValueList = "-",
- DefaultValue = "700px"
- },
- new()
- {
- Name = "StyleString",
- Description = Localizer["AttributesPdfReaderStyleString"],
- Type = "string",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "Page",
- Description = Localizer["AttributesPdfReaderPage"],
- Type = "int",
- ValueList = "-",
- DefaultValue = "1"
- },
- new()
- {
- Name = "PageMode",
- Description = Localizer["AttributesPdfReaderPageMode"],
- Type = "EnumPageMode",
- ValueList = "-",
- DefaultValue = "Thumbs"
- },
- new()
- {
- Name = "Zoom",
- Description = Localizer["AttributesPdfReaderZoom"],
- Type = "EnumZoomMode",
- ValueList = "-",
- DefaultValue = "Auto"
- },
- new()
- {
- Name = "Search",
- Description = Localizer["AttributesPdfReaderSearch"],
- Type = "string?",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "Refresh()",
- Description = Localizer["AttributesPdfReaderRefresh"],
- Type = "Task",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "NavigateToPage(int page)",
- Description = Localizer["AttributesPdfReaderNavigateToPage"],
- Type = "Task",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "Refresh(int page)",
- Description = Localizer["AttributesPdfReaderRefreshPage"],
- Type = "Task",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "Refresh(string? search, int? page, EnumPageMode? pageMode, EnumZoomMode? zoom)",
- Description = Localizer["AttributesPdfReaderRefreshComponent"],
- Type = "Task",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "Stream",
- Description = Localizer["AttributesPdfReaderStream"],
- Type = "Stream?",
- ValueList = "-",
- DefaultValue = "-"
- },
- new()
- {
- Name = "ViewerBase",
- Description = Localizer["AttributesPdfReaderViewerBase"],
- Type = "string",
- ValueList = "-",
- DefaultValue = Localizer["AttributesPdfReaderViewerBaseDefaultValue"],
- },
- new()
- {
- Name = "NavPanels",
- Description = Localizer["AttributesPdfReaderNavPanels"],
- Type = "bool",
- ValueList = "-",
- DefaultValue = "true"
- },
- new()
- {
- Name = "Toolbar",
- Description = Localizer["AttributesPdfReaderToolbar"],
- Type = "bool",
- ValueList = "-",
- DefaultValue = "true"
- },
- new()
- {
- Name = "StatusBar",
- Description = Localizer["AttributesPdfReaderStatusBar"],
- Type = "bool",
- ValueList = "-",
- DefaultValue = "true"
- },
- new()
- {
- Name = "Debug",
- Description = Localizer["AttributesPdfReaderDebug"],
- Type = "bool",
- ValueList = "-",
- DefaultValue = "false"
- },
- new()
- {
- Name = nameof(PdfReader.LocalFileName),
- Description = Localizer[nameof(PdfReader.LocalFileName)],
- Type = "string",
- ValueList = " — ",
- DefaultValue = " — "
- }
- ];
+ private Task NotSupportCallback() => ToastService.Error("PdfViewer", Localizer["PdfViewerToastNotSupportContent"]);
}
diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json
index d1a7503a59d..1c9e97242e3 100644
--- a/src/BootstrapBlazor.Server/Locales/en-US.json
+++ b/src/BootstrapBlazor.Server/Locales/en-US.json
@@ -6161,7 +6161,9 @@
"PdfViewerTitle": "PDFViewer",
"PdfViewerDescription": "Open the PDF file in the component to read its contents",
"PdfViewerNormalTitle": "Basic usage",
- "PdfViewerNormalIntro": "Load a PDF file by setting the Url parameter"
+ "PdfViewerNormalIntro": "Load a PDF file by setting the Url parameter",
+ "PdfViewerToastSuccessfulContent": "PDF document loaded successfully.",
+ "PdfViewerToastNotSupportContent": "The browser does not support inline viewing of PDF files."
},
"BootstrapBlazor.Server.Components.Samples.VideoPlayers": {
"VideoPlayersTitle": "VideoPlayer",
diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json
index ddfd7c4f8bb..7cc46ac3d67 100644
--- a/src/BootstrapBlazor.Server/Locales/zh-CN.json
+++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json
@@ -6161,7 +6161,9 @@
"PdfViewerTitle": "PDFViewer PDF 阅读器",
"PdfViewerDescription": "在组件中打开 Pdf 文件阅读其内容",
"PdfViewerNormalTitle": "基础用法",
- "PdfViewerNormalIntro": "通过设置 Url 参数加载 Pdf 文件"
+ "PdfViewerNormalIntro": "通过设置 Url 参数加载 Pdf 文件",
+ "PdfViewerToastSuccessfulContent": "PDF 文档加载成功",
+ "PdfViewerToastNotSupportContent": "当前浏览器不支持 Pdf 文档预览功能"
},
"BootstrapBlazor.Server.Components.Samples.VideoPlayers": {
"VideoPlayersTitle": "VideoPlayer 视频播放器",