From 9c28dd6bb26647740dbbd5303529b28a2d31ee57 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 24 Nov 2025 15:01:50 +0800 Subject: [PATCH 1/4] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BootstrapBlazor.PdfReader.csproj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/BootstrapBlazor.PdfReader/BootstrapBlazor.PdfReader.csproj b/src/components/BootstrapBlazor.PdfReader/BootstrapBlazor.PdfReader.csproj index 010e64b4..c93454ea 100644 --- a/src/components/BootstrapBlazor.PdfReader/BootstrapBlazor.PdfReader.csproj +++ b/src/components/BootstrapBlazor.PdfReader/BootstrapBlazor.PdfReader.csproj @@ -1,5 +1,9 @@  + + 10.0.1-beta01 + + Bootstrap Blazor WebAssembly wasm UI Components Pdf Reader Bootstrap UI components extensions of PdfReader @@ -14,6 +18,7 @@ + From 62c78b660360532bc50253876bc38e804c6c2d22 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 24 Nov 2025 15:29:45 +0800 Subject: [PATCH 2/4] feat(PdfReader): add Rotate function --- .../BootstrapBlazor.PdfReader/PdfReader.razor | 2 +- .../PdfReader.razor.cs | 11 +++++---- .../PdfReader.razor.js | 23 +++++++++++++------ 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor index d18729e9..a5094853 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor @@ -17,7 +17,7 @@
-
+
diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs index 9990a6f9..4a8d2663 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs @@ -93,14 +93,17 @@ protected override async Task OnAfterRenderAsync(bool firstRender) /// /// 适应页面宽度 /// - /// - public void FitToPage() => IsFitToPage = true; + private void FitToPage() => IsFitToPage = true; /// /// 适应文档宽度 /// - /// - public void FitToWidth() => IsFitToPage = false; + private void FitToWidth() => IsFitToPage = false; + + public async Task Rotate() + { + await InvokeVoidAsync("rotate", Id); + } private Task TriggerFit(string methodName) => InvokeVoidAsync(methodName, Id); diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js index efdb0d4c..4315da82 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js @@ -93,6 +93,15 @@ export function fitToPage(id) { } } +export function rotate(id) { + const pdfViewer = Data.get(id); + if (pdfViewer) { + let rotate = pdfViewer.pagesRotation || 360; + rotate -= 90; + pdfViewer.pagesRotation = rotate % 360; + } +} + export function dispose(id) { Data.get(id); } @@ -252,16 +261,16 @@ export async function print(invoke, elementId, url) { 1000); } -export function rotate(invoke, elementId, rotation) { - const pdf = getPdf(elementId); +//export function rotate(invoke, elementId, rotation) { +// const pdf = getPdf(elementId); - if (pdf == null || Number.isNaN(rotation) || rotation % 90 !== 0) - return; +// if (pdf == null || Number.isNaN(rotation) || rotation % 90 !== 0) +// return; - pdf.rotation = rotation; +// pdf.rotation = rotation; - queueRenderPage(pdf, pdf.pageNum); -} +// queueRenderPage(pdf, pdf.pageNum); +//} export function zoomInOut(invoke, elementId, scale) { const pdf = getPdf(elementId); From 5d029cd72537fd57ad64ef1a94f0712820ab9a7d Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 24 Nov 2025 16:48:29 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=97=8B?= =?UTF-8?q?=E8=BD=AC=E6=8C=89=E9=92=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BootstrapBlazor.PdfReader/PdfReader.razor | 3 ++- .../PdfReader.razor.cs | 21 +++++++++++++++---- .../PdfReader.razor.js | 4 ++-- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor index a5094853..08d84cba 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor @@ -17,7 +17,8 @@
-
+
+
diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs index 4a8d2663..7fa50e64 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs @@ -93,16 +93,29 @@ protected override async Task OnAfterRenderAsync(bool firstRender) /// /// 适应页面宽度 /// - private void FitToPage() => IsFitToPage = true; + public void FitToPage() => IsFitToPage = true; /// /// 适应文档宽度 /// - private void FitToWidth() => IsFitToPage = false; + public void FitToWidth() => IsFitToPage = false; - public async Task Rotate() + /// + /// 旋转页面方法 + /// + /// + public async Task RotateLeft() + { + await InvokeVoidAsync("rotate", Id, -90); + } + + /// + /// 旋转页面方法 + /// + /// + public async Task RotateRight() { - await InvokeVoidAsync("rotate", Id); + await InvokeVoidAsync("rotate", Id, 90); } private Task TriggerFit(string methodName) => InvokeVoidAsync(methodName, Id); diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js index 4315da82..39b8211a 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js @@ -93,11 +93,11 @@ export function fitToPage(id) { } } -export function rotate(id) { +export function rotate(id, offset) { const pdfViewer = Data.get(id); if (pdfViewer) { let rotate = pdfViewer.pagesRotation || 360; - rotate -= 90; + rotate += offset; pdfViewer.pagesRotation = rotate % 360; } } From d7561cecc46bb0a56d667cf2484f9dd665f39b62 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 24 Nov 2025 17:00:51 +0800 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=94=B9=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js index 39b8211a..4154fbfb 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js @@ -93,11 +93,11 @@ export function fitToPage(id) { } } -export function rotate(id, offset) { +export function rotate(id, step) { const pdfViewer = Data.get(id); if (pdfViewer) { let rotate = pdfViewer.pagesRotation || 360; - rotate += offset; + rotate += step; pdfViewer.pagesRotation = rotate % 360; } }