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}),请稍等...`;