From 59cff412bccabc154f3aa88246ceae740e9d17fe Mon Sep 17 00:00:00 2001 From: Alex chow Date: Thu, 17 Apr 2025 15:13:17 +0200 Subject: [PATCH 1/2] =?UTF-8?q?PDF=E9=98=85=E8=AF=BB=E5=99=A8=E6=B0=B4?= =?UTF-8?q?=E5=8D=B0=E5=86=85=E5=AE=B9=E4=BB=85=E5=9C=A8=E5=85=A8=E5=B1=8F?= =?UTF-8?q?=E6=BC=94=E7=A4=BA=E7=8A=B6=E6=80=81=E6=98=BE=E7=A4=BA=20#5811?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PdfReader.razor.cs | 8 +++++++- .../BootstrapBlazor.PdfReader/wwwroot/app.js | 2 +- .../wwwroot/web/limit.js | 17 ++++++++++++++--- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs index 82635dff..7d6cf51f 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs @@ -131,6 +131,12 @@ public partial class PdfReader : IAsyncDisposable [Parameter] public string? Watermark { get; set; } + /// + /// 获得/设置 水印内容仅在全屏演示状态显示 + /// + [Parameter] + public bool WatermarkDemoModeOnly { get; set; } + /// /// Debug /// @@ -291,7 +297,7 @@ public virtual async Task Refresh(string? search = null, int? page = null, EnumP } - private string GenUrl(bool filemode = true) => $"{ViewerBase}?file={(filemode ? HttpUtility.UrlEncode(FileName) : "(1)")}#page={Page}&navpanes={(Navpanes ? 0 : 1)}&toolbar={(Toolbar ? 0 : 1)}&statusbar={(Statusbar ? 0 : 1)}&pagemode={(Pagemode ?? EnumPageMode.Thumbs).ToString().ToLower()}&search={Search}" + (Zoom != null ? $"&zoom={Zoom.GetEnumName()}" : "") + (Watermark != null ? $"&wm={Watermark}" : ""); + private string GenUrl(bool filemode = true) => $"{ViewerBase}?file={(filemode ? HttpUtility.UrlEncode(FileName) : "(1)")}#page={Page}&navpanes={(Navpanes ? 0 : 1)}&toolbar={(Toolbar ? 0 : 1)}&statusbar={(Statusbar ? 0 : 1)}&pagemode={(Pagemode ?? EnumPageMode.Thumbs).ToString().ToLower()}&search={Search}" + (Zoom != null ? $"&zoom={Zoom.GetEnumName()}" : "") + (Watermark != null ? $"&wm={Watermark}" : "") + (WatermarkDemoModeOnly ? $"&wmonlydemo=true" : ""); /// diff --git a/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js b/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js index e603c226..dbfffff3 100644 --- a/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js +++ b/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js @@ -14,4 +14,4 @@ export function setWatermark(watermark, element) { //elmnt.style.display = "none"; //var d = y.getElementById("watermark"); //y.getElementById("watermark").value = watermark; -} \ No newline at end of file +} diff --git a/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js b/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js index d1bc1916..e0d42de5 100644 --- a/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js +++ b/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js @@ -17,8 +17,19 @@ function onBodyLoad() { } if (getQueryVariable("wm")) - { - document.getElementById("watermark").value = getQueryVariable("wm"); + { + if (getQueryVariable("wmonlydemo") && getQueryVariable("wmonlydemo")=='true') + { + document.addEventListener('fullscreenchange', () => { + if (document.fullscreenElement === document.getElementById("viewerContainer") ) { + document.getElementById("watermark").value = getQueryVariable("wm"); + } else { + document.getElementById("watermark").value = ''; + } + }); + } else { + document.getElementById("watermark").value = getQueryVariable("wm"); + } } } @@ -31,4 +42,4 @@ function getQueryVariable(variable) { if (pair[0] == variable) { return pair[1]; } } return (false); -} \ No newline at end of file +} From 84a349dfe837c3f7d4f392abfdc9f1741ab2c0a2 Mon Sep 17 00:00:00 2001 From: Alex chow Date: Thu, 17 Apr 2025 15:26:50 +0200 Subject: [PATCH 2/2] =?UTF-8?q?WatermarkDemoModeOnly=20=20=E5=BD=93?= =?UTF-8?q?=E5=85=A8=E5=B1=80=E6=B0=B4=E5=8D=B0=EF=BC=88Watermark=20IsPage?= =?UTF-8?q?=3D"true"=EF=BC=89=E6=97=B6,=20=E4=B9=9F=E4=BC=9A=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=90=AF=E7=94=A8,=E6=97=A0=E9=9C=80=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BootstrapBlazor.PdfReader/PdfReader.razor.cs | 4 ++++ src/components/BootstrapBlazor.PdfReader/wwwroot/app.js | 8 ++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs index 7d6cf51f..66fd008f 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs @@ -190,6 +190,10 @@ protected override async Task OnAfterRenderAsync(bool firstRender) var userAgent = await Module!.InvokeAsync("getUserAgent"); var parser = Parser.GetDefault(); ClientInfo = parser.Parse(userAgent); + if (!WatermarkDemoModeOnly) + { + WatermarkDemoModeOnly = await Module.InvokeAsync("getGlobalWatermark"); + } await Refresh(); } } diff --git a/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js b/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js index dbfffff3..9ea0215d 100644 --- a/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js +++ b/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js @@ -8,10 +8,6 @@ export async function showPdf(baseurl, element, stream) { const urlblob = URL.createObjectURL(blob); element.src = baseurl.replace('(1)', urlblob); } -export function setWatermark(watermark, element) { - console.log(element.contentWindow.document) - var elmnt = element.contentWindow.document.getElementById("watermark"); - //elmnt.style.display = "none"; - //var d = y.getElementById("watermark"); - //y.getElementById("watermark").value = watermark; +export function getGlobalWatermark() { + return document.body.getAttribute('data-bb-watermark') == 'true'; }