!2293 优化:打印布局界面(居中)

pull/2294/head
黄诗津 1 year ago committed by ChenX
parent 56dbe129e7
commit ba49397d21

@ -312,17 +312,39 @@ export function GetPrintWindow()
} }
@media print { @media print {
.centerOnPrintedPage { .centerOnPrintedPage,
.centerOnOneKeyPrintPage {
height:100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
max-width:100vw; max-width:100vw;
max-height:100vh; max-height:100vh;
} }
.printImg{
max-width:100%;
max-height:100%;
}
} }
@media screen { @media screen {
.centerOnOneKeyPrintPage {
max-width:1500px;
}
.centerOnPrintedPage { .centerOnPrintedPage {
height:100%;
display: flex;
align-items: center;
justify-content: center;
max-width:100vw; max-width:100vw;
max-height:100vh;
}
.printImg{
max-width:100%;
max-height:100%;
} }
} }
`; `;
@ -331,7 +353,7 @@ export function GetPrintWindow()
return win; return win;
} }
export async function GetImgElement(ens: Entity[], isReset = true) export async function GetImgElement(ens: Entity[], isOneKeyPrint = false, isReset = true)
{ {
//备份视图 //备份视图
let sceneBak: Scene; let sceneBak: Scene;
@ -407,12 +429,16 @@ export async function GetImgElement(ens: Entity[], isReset = true)
} }
let div = document.createElement("div"); let div = document.createElement("div");
if (isOneKeyPrint)
div.className = "centerOnOneKeyPrintPage";
else
div.className = "centerOnPrintedPage";
div.style.textAlign = "center"; div.style.textAlign = "center";
div.style.flex = "1"; div.style.flex = "1";
div.style.pageBreakBefore = "always"; div.style.pageBreakBefore = "always";
let img = new Image(); let img = new Image();
img.className = "centerOnPrintedPage"; img.className = "printImg";
img.src = url; img.src = url;
div.append(img); div.append(img);

@ -129,7 +129,7 @@ export class OneKeyPrint implements Command
let count = framesGrounps.size; let count = framesGrounps.size;
for (let [, { entitys }] of framesGrounps) for (let [, { entitys }] of framesGrounps)
{ {
let div = await GetImgElement(entitys, false); let div = await GetImgElement(entitys, true, false);
frag.append(div); frag.append(div);
win.document.body.innerText = `请不要最小化浏览器,否则打印速度将会非常慢! 生成后请按Ctrl+P打印,正在生成图纸(${i}/${count}),请稍等...`; win.document.body.innerText = `请不要最小化浏览器,否则打印速度将会非常慢! 生成后请按Ctrl+P打印,正在生成图纸(${i}/${count}),请稍等...`;

Loading…
Cancel
Save