From ba49397d2155eee48d89721d04684a35bc75d074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E8=AF=97=E6=B4=A5?= <2723065175@qq.com> Date: Wed, 12 Jul 2023 08:10:41 +0000 Subject: [PATCH] =?UTF-8?q?!2293=20=E4=BC=98=E5=8C=96:=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E7=95=8C=E9=9D=A2(=E5=B1=85=E4=B8=AD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/Print.ts | 32 +++++++++++++++++++++++++++--- src/Add-on/Viewport/OneKeyPrint.ts | 2 +- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/Add-on/Print.ts b/src/Add-on/Print.ts index 83c7b2b07..97670045a 100644 --- a/src/Add-on/Print.ts +++ b/src/Add-on/Print.ts @@ -312,17 +312,39 @@ export function GetPrintWindow() } @media print { - .centerOnPrintedPage { + .centerOnPrintedPage, + .centerOnOneKeyPrintPage { + height:100%; display: flex; align-items: center; justify-content: center; max-width:100vw; max-height:100vh; } + + .printImg{ + max-width:100%; + max-height:100%; + } } + @media screen { + .centerOnOneKeyPrintPage { + max-width:1500px; + } + .centerOnPrintedPage { + height:100%; + display: flex; + align-items: center; + justify-content: center; max-width:100vw; + max-height:100vh; + } + + .printImg{ + max-width:100%; + max-height:100%; } } `; @@ -331,7 +353,7 @@ export function GetPrintWindow() return win; } -export async function GetImgElement(ens: Entity[], isReset = true) +export async function GetImgElement(ens: Entity[], isOneKeyPrint = false, isReset = true) { //备份视图 let sceneBak: Scene; @@ -407,12 +429,16 @@ export async function GetImgElement(ens: Entity[], isReset = true) } let div = document.createElement("div"); + if (isOneKeyPrint) + div.className = "centerOnOneKeyPrintPage"; + else + div.className = "centerOnPrintedPage"; div.style.textAlign = "center"; div.style.flex = "1"; div.style.pageBreakBefore = "always"; let img = new Image(); - img.className = "centerOnPrintedPage"; + img.className = "printImg"; img.src = url; div.append(img); diff --git a/src/Add-on/Viewport/OneKeyPrint.ts b/src/Add-on/Viewport/OneKeyPrint.ts index 156b826dd..db037d117 100644 --- a/src/Add-on/Viewport/OneKeyPrint.ts +++ b/src/Add-on/Viewport/OneKeyPrint.ts @@ -129,7 +129,7 @@ export class OneKeyPrint implements Command let count = framesGrounps.size; for (let [, { entitys }] of framesGrounps) { - let div = await GetImgElement(entitys, false); + let div = await GetImgElement(entitys, true, false); frag.append(div); win.document.body.innerText = `请不要最小化浏览器,否则打印速度将会非常慢! 生成后请按Ctrl+P打印,正在生成图纸(${i}/${count}),请稍等...`;