Skip to content

Commit 56d3cbd

Browse files
authored
feat(PdfReader): add OnScaleChangedAsync parameter (#756)
* feat(PdfReader): add localization support * chore: bump version 10.0.8 * feat: 支持页面适配模式外部更改 * feat: add OnScaleChangedAsync parameter
1 parent 23534ba commit 56d3cbd

2 files changed

Lines changed: 28 additions & 2 deletions

File tree

src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ public partial class PdfReader
103103
[Parameter]
104104
public Func<bool, Task>? OnTwoPagesOneViewAsync { get; set; }
105105

106+
/// <summary>
107+
/// 设置缩放倍率回调方法
108+
/// </summary>
109+
[Parameter]
110+
public Func<float, Task>? OnScaleChangedAsync { get; set; }
111+
106112
/// <summary>
107113
/// 获得/设置 更多按钮图标 默认为 null 使用内置图标
108114
/// </summary>
@@ -225,7 +231,8 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
225231
TriggerPagesInit = OnPagesInitAsync != null,
226232
TriggerPagesLoaded = OnPagesLoadedAsync != null,
227233
TriggerPageChanged = OnPageChangedAsync != null,
228-
TriggerTowPagesOnViewChanged = OnTwoPagesOneViewAsync != null
234+
TriggerTowPagesOnViewChanged = OnTwoPagesOneViewAsync != null,
235+
TriggerScaleChanged = OnScaleChangedAsync != null
229236
});
230237

231238
/// <summary>
@@ -302,6 +309,19 @@ public async Task PageChanged(uint pageIndex)
302309
}
303310
}
304311

312+
/// <summary>
313+
/// 缩放倍率更改回调方法
314+
/// </summary>
315+
/// <returns></returns>
316+
[JSInvokable]
317+
public async Task ScaleChanged(float val)
318+
{
319+
if (OnScaleChangedAsync != null)
320+
{
321+
await OnScaleChangedAsync(val);
322+
}
323+
}
324+
305325
/// <summary>
306326
/// 正在打印回调方法
307327
/// </summary>

src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,13 @@ const addEventBus = (el, pdfViewer, eventBus, invoke, options) => {
349349
}, true);
350350

351351

352-
eventBus.on("scalechanging", evt => updateScaleValue(el, evt.scale));
352+
eventBus.on("scalechanging", async evt => {
353+
updateScaleValue(el, evt.scale);
354+
355+
if (options.triggerScaleChanged) {
356+
await invoke.invokeMethodAsync("ScaleChanged", evt.scale);
357+
}
358+
})
353359

354360
eventBus.on("rotationchanging", evt => {
355361
const thumbnailsContainer = el.querySelector(".bb-view-thumbnails");

0 commit comments

Comments
 (0)