Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
<PackageReference Include="BootstrapBlazor.OctIcon" Version="9.0.4" />
<PackageReference Include="BootstrapBlazor.OnScreenKeyboard" Version="9.0.1" />
<PackageReference Include="BootstrapBlazor.PdfReader" Version="9.0.1" />
<PackageReference Include="BootstrapBlazor.PdfViewer" Version="9.0.0-beta01" />
<PackageReference Include="BootstrapBlazor.PdfViewer" Version="9.0.0" />
<PackageReference Include="BootstrapBlazor.Player" Version="9.0.1" />
<PackageReference Include="BootstrapBlazor.RDKit" Version="9.0.2" />
<PackageReference Include="BootstrapBlazor.SignaturePad" Version="9.0.1" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@
<PackageTips Name="BootstrapBlazor.PdfViewer" />

<DemoBlock Title="@Localizer["PdfViewerNormalTitle"]" Introduction="@Localizer["PdfViewerNormalIntro"]" Name="Normal">
<PdfViewer Url="./samples/pdf-viewer.pdf" Height="620px"></PdfViewer>
<PdfViewer Url="./samples/pdf-viewer.pdf" Height="620px"
NotSupportCallback="NotSupportCallback" OnLoaded="OnLoaded"></PdfViewer>
</DemoBlock>
255 changes: 4 additions & 251 deletions src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,257 +12,10 @@ namespace BootstrapBlazor.Server.Components.Samples;
/// </summary>
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;
}

/// <summary>
/// GetAttributes
/// </summary>
/// <returns></returns>
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"]);
}
4 changes: 3 additions & 1 deletion src/BootstrapBlazor.Server/Locales/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 <code>Url</code> parameter"
"PdfViewerNormalIntro": "Load a PDF file by setting the <code>Url</code> parameter",
"PdfViewerToastSuccessfulContent": "PDF document loaded successfully.",
"PdfViewerToastNotSupportContent": "The browser does not support inline viewing of PDF files."
},
"BootstrapBlazor.Server.Components.Samples.VideoPlayers": {
"VideoPlayersTitle": "VideoPlayer",
Expand Down
4 changes: 3 additions & 1 deletion src/BootstrapBlazor.Server/Locales/zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -6161,7 +6161,9 @@
"PdfViewerTitle": "PDFViewer PDF 阅读器",
"PdfViewerDescription": "在组件中打开 Pdf 文件阅读其内容",
"PdfViewerNormalTitle": "基础用法",
"PdfViewerNormalIntro": "通过设置 <code>Url</code> 参数加载 Pdf 文件"
"PdfViewerNormalIntro": "通过设置 <code>Url</code> 参数加载 Pdf 文件",
"PdfViewerToastSuccessfulContent": "PDF 文档加载成功",
"PdfViewerToastNotSupportContent": "当前浏览器不支持 Pdf 文档预览功能"
},
"BootstrapBlazor.Server.Components.Samples.VideoPlayers": {
"VideoPlayersTitle": "VideoPlayer 视频播放器",
Expand Down